Skip to contentSkip to conversation

QE UEC: Extend number of supported UECs to 4

PATCH Superseded David Saada 4 participants 7 messages Jan 15, 2008 – Jan 16, 2008

lore
Share & tools
lore
#0 lore raw

PATCH v3 1/1 QE UEC: Extend number of supported UECs to 4

This patch extends the number of supported UECs to 4. Note that the problem of QE thread resources exhaustion is resolved by setting the correct number of QE threads according to Ethernet type (GBE or FE).

Quoted 1 line

diff -purN drivers/qe/uec.c.orig drivers/qe/uec.c

qe/uec.c renamed from qe/uec.c.orig +42 -1
@@ -40,8 +40,13 @@ static uec_info_t eth1_uec_info = {
 		.tx_clock	= CFG_UEC1_TX_CLK,
 		.eth_type	= CFG_UEC1_ETH_TYPE,
 	},
+#if (CFG_UEC1_ETH_TYPE == FAST_ETH)
+	.num_threads_tx		= UEC_NUM_OF_THREADS_1,
+	.num_threads_rx		= UEC_NUM_OF_THREADS_1,
+#else
 	.num_threads_tx		= UEC_NUM_OF_THREADS_4,
 	.num_threads_rx		= UEC_NUM_OF_THREADS_4,
+#endif
 	.riscTx			= QE_RISC_ALLOCATION_RISC1_AND_RISC2,
 	.riscRx			= QE_RISC_ALLOCATION_RISC1_AND_RISC2,
 	.tx_bd_ring_len		= 16,
@@ -58,8 +63,13 @@ static uec_info_t eth2_uec_info = {
 		.tx_clock	= CFG_UEC2_TX_CLK,
 		.eth_type	= CFG_UEC2_ETH_TYPE,
 	},
+#if (CFG_UEC2_ETH_TYPE == FAST_ETH)
+	.num_threads_tx		= UEC_NUM_OF_THREADS_1,
+	.num_threads_rx		= UEC_NUM_OF_THREADS_1,
+#else
 	.num_threads_tx		= UEC_NUM_OF_THREADS_4,
 	.num_threads_rx		= UEC_NUM_OF_THREADS_4,
+#endif
 	.riscTx			= QE_RISC_ALLOCATION_RISC1_AND_RISC2,
 	.riscRx			= QE_RISC_ALLOCATION_RISC1_AND_RISC2,
 	.tx_bd_ring_len		= 16,
@@ -68,7 +78,6 @@ static uec_info_t eth2_uec_info = {
 	.enet_interface		= CFG_UEC2_INTERFACE_MODE,
 };
 #endif
-
 #ifdef CONFIG_UEC_ETH3
 static uec_info_t eth3_uec_info = {
 	.uf_info		= {
@@ -77,8 +86,13 @@ static uec_info_t eth3_uec_info = {
 		.tx_clock	= CFG_UEC3_TX_CLK,
 		.eth_type	= CFG_UEC3_ETH_TYPE,
 	},
+#if (CFG_UEC3_ETH_TYPE == FAST_ETH)
+	.num_threads_tx		= UEC_NUM_OF_THREADS_1,
+	.num_threads_rx		= UEC_NUM_OF_THREADS_1,
+#else
 	.num_threads_tx		= UEC_NUM_OF_THREADS_4,
 	.num_threads_rx		= UEC_NUM_OF_THREADS_4,
+#endif
 	.riscTx			= QE_RISC_ALLOCATION_RISC1_AND_RISC2,
 	.riscRx			= QE_RISC_ALLOCATION_RISC1_AND_RISC2,
 	.tx_bd_ring_len		= 16,
@@ -87,6 +101,29 @@ static uec_info_t eth3_uec_info = {
 	.enet_interface		= CFG_UEC3_INTERFACE_MODE,
 };
 #endif
+#ifdef CONFIG_UEC_ETH4
+static uec_info_t eth4_uec_info = {
+	.uf_info		= {
+		.ucc_num	= CFG_UEC4_UCC_NUM,
+		.rx_clock	= CFG_UEC4_RX_CLK,
+		.tx_clock	= CFG_UEC4_TX_CLK,
+		.eth_type	= CFG_UEC4_ETH_TYPE,
+	},
+#if (CFG_UEC4_ETH_TYPE == FAST_ETH)
+	.num_threads_tx		= UEC_NUM_OF_THREADS_1,
+	.num_threads_rx		= UEC_NUM_OF_THREADS_1,
+#else
+	.num_threads_tx		= UEC_NUM_OF_THREADS_4,
+	.num_threads_rx		= UEC_NUM_OF_THREADS_4,
+#endif
+	.riscTx			= QE_RISC_ALLOCATION_RISC1_AND_RISC2,
+	.riscRx			= QE_RISC_ALLOCATION_RISC1_AND_RISC2,
+	.tx_bd_ring_len		= 16,
+	.rx_bd_ring_len		= 16,
+	.phy_address		= CFG_UEC4_PHY_ADDR,
+	.enet_interface		= CFG_UEC4_INTERFACE_MODE,
+};
+#endif
 
 static int uec_mac_enable(uec_private_t *uec, comm_dir_e mode)
 {
@@ -1262,6 +1299,10 @@ int uec_initialize(int index)
 #ifdef CONFIG_UEC_ETH3
 		uec_info = &eth3_uec_info;
 #endif
+	} else if (index == 3) {
+#ifdef CONFIG_UEC_ETH4
+		uec_info = &eth4_uec_info;
+#endif
 	} else {
 		printf("%s: index is illegal.\n", __FUNCTION__);
 		return -EINVAL;
Quoted 1 line

diff -purN net/eth.c.orig net/eth.c

eth.c renamed from eth.c.orig +3 -0
@@ -217,6 +217,9 @@ int eth_initialize(bd_t *bis)
 #if defined(CONFIG_UEC_ETH3)
 	uec_initialize(2);
 #endif
+#if defined(CONFIG_UEC_ETH4)
+	uec_initialize(3);
+#endif
 
 #if defined(FEC_ENET) || defined(CONFIG_ETHER_ON_FCC)
 	fec_initialize(bis);
#1 lore raw

PATCH v3 1/1 QE UEC: Extend number of supported UECs to 4

David,

Sorry, I can not apply it. The patch has problem.

I suggest you manage source code with git,
and generate patch with git.

Thanks,
Dave

Quoted 7 lines · David Saada

This patch extends the number of supported UECs to 4. Note that the problem of QE thread resources exhaustion is resolved by setting the correct number of QE threads according to Ethernet type (GBE or FE).

Quoted 1 line

diff -purN drivers/qe/uec.c.orig drivers/qe/uec.c

'>' is added.
I don't know how did you generate the patch.

Quoted 8 lines
qe/uec.c renamed from qe/uec.c.orig +0 -0
@@ -40,8 +40,13 @@ static uec_info_t eth1_uec_info = {
 		.tx_clock	= CFG_UEC1_TX_CLK,
 		.eth_type	= CFG_UEC1_ETH_TYPE,
 	},
 
Quoted 1 line

diff -purN net/eth.c.orig net/eth.c

same as below.

#2 lore raw

PATCH v3 1/1 QE UEC: Extend number of supported UECs to 4

Quoted 8 lines

Sorry, I can not apply it. The patch has problem.

I suggest you manage source code with git,
and generate patch with git.

Thanks,
Dave

Dave,
We have another source code repository (Synergy), and managing the source code with git is just not possible. I have posted many patches in the past using diff -purN, and there was never any problem.

Quoted 19 lines · David Saada
Quoted 7 lines

This patch extends the number of supported UECs to 4. Note that the problem of QE thread resources exhaustion is resolved by setting the correct number of QE threads according to Ethernet type (GBE or FE).

Quoted 1 line

diff -purN drivers/qe/uec.c.orig drivers/qe/uec.c

'>' is added.
I don't know how did you generate the patch.

Quoted 6 lines
qe/uec.c renamed from qe/uec.c.orig +0 -0
@@ -40,8 +40,13 @@ static uec_info_t eth1_uec_info = {
 		.tx_clock	= CFG_UEC1_TX_CLK,
 		.eth_type	= CFG_UEC1_ETH_TYPE,
 	},
Quoted 3 lines
Quoted 1 line
Quoted 1 line

diff -purN net/eth.c.orig net/eth.c

same as below.

I can't understand the problem. Is it the '>' before the diff? I just added it manually - I can remove it.

David.

#3 lore raw

PATCH v3 1/1 QE UEC: Extend number of supported UECs to 4

Quoted 5 lines

We have another source code repository (Synergy), and managing the source code with git is just not possible. I have posted many patches in
the past using diff -purN, and there was never any problem.

Ok, maybe problem occur in my site.

If Kim or Ben can apply it successfully, please accept it.

Thanks,
Dave

#4 lore raw

PATCH v3 1/1 QE UEC: Extend number of supported UECs to 4

Quoted 11 lines
Quoted 4 lines

We have another source code repository (Synergy), and managing the source code with git is just not possible. I have posted many patches in
the past using diff -purN, and there was never any problem.

Ok, maybe problem occur in my site.

If Kim or Ben can apply it successfully, please accept it.

Thanks,
Dave

Sure. I will wait with the second part of the patch (UEC MII commands) until this is sorted out.
Thanks,
David.

#5 lore raw

PATCH v3 1/1 QE UEC: Extend number of supported UECs to 4

Quoted 9 lines · David Saada
Quoted 9 lines
Quoted 5 lines

We have another source code repository (Synergy), and managing the source code with git is just not possible. I have posted many patches in
the past using diff -purN, and there was never any problem.

Ok, maybe problem occur in my site.

If Kim or Ben can apply it successfully, please accept it.

Quoted 10 lines
Quoted 3 lines

Thanks,
Dave

Sure. I will wait with the second part of the patch (UEC MII commands) until this is sorted out.
Thanks,
David.

I was able to apply this with a little manual tweaking. I had to remove the '>' from in front of each "diff -purN", and change the following patterns:

--- /file.orig
+++ /file

becomes:

--- a/file
+++ b/file

I'll send a pull request tomorrow to pick this up.

thanks,
Ben

#6 lore raw

PATCH v3 1/1 QE UEC: Extend number of supported UECs to 4

Quoted 1 line

I was able to apply this with a little manual tweaking. I had to

remove

Quoted 11 lines

the '>' from in front
of each "diff -purN", and change the following patterns:

file renamed from file.orig +0 -0

becomes:

file +0 -0
Quoted 4 lines

I'll send a pull request tomorrow to pick this up.

thanks,
Ben

Thanks Ben. I'll keep posting my future patches this way (no hassle here).
David.