[PATCH 5/6 v2] net/ucc_geth: Assign six threads to Rx for UEC

Haiying Wang Haiying.Wang at freescale.com
Sat May 2 05:40:49 EST 2009


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 <Haiying.Wang at freescale.com>
---
v2 change: Add comments for the Rx threads change.
 drivers/net/ucc_geth.c |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/drivers/net/ucc_geth.c b/drivers/net/ucc_geth.c
index 44f8392..1cb2710 100644
--- a/drivers/net/ucc_geth.c
+++ b/drivers/net/ucc_geth.c
@@ -3702,7 +3702,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))
-- 
1.6.0.2




More information about the Linuxppc-dev mailing list