From: Haiying Wang Date: Fri, 1 May 2009 19:40:49 +0000 (-0400) Subject: net/ucc_geth: Assign six threads to Rx for UEC X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=674e4f93e2524e5710d5f2081feaedfd08f924a7;p=linux-beck.git net/ucc_geth: Assign six threads to Rx for UEC In the case the QE has 46 SNUMs for the threads to support four UCC Ethernet at 1000Base-T simultaneously. Signed-off-by: Haiying Wang Acked-by: David S. Miller Acked-by: Timur Tabi Signed-off-by: Kumar Gala --- diff --git a/drivers/net/ucc_geth.c b/drivers/net/ucc_geth.c index 8287bc19868b..9dd16c9b1a10 100644 --- a/drivers/net/ucc_geth.c +++ b/drivers/net/ucc_geth.c @@ -3710,7 +3710,15 @@ static int ucc_geth_probe(struct of_device* ofdev, const struct of_device_id *ma ug_info->uf_info.utfet = UCC_GETH_UTFET_GIGA_INIT; ug_info->uf_info.utftt = UCC_GETH_UTFTT_GIGA_INIT; ug_info->numThreadsTx = UCC_GETH_NUM_OF_THREADS_4; - ug_info->numThreadsRx = UCC_GETH_NUM_OF_THREADS_4; + + /* If QE's snum number is 46 which means we need to support + * 4 UECs at 1000Base-T simultaneously, we need to allocate + * more Threads to Rx. + */ + if (qe_get_num_of_snums() == 46) + ug_info->numThreadsRx = UCC_GETH_NUM_OF_THREADS_6; + else + ug_info->numThreadsRx = UCC_GETH_NUM_OF_THREADS_4; } if (netif_msg_probe(&debug))