Subject: Re: [PATCH v3 0/8] arm64: rockchip: Initial GeekBox enablement

From: Giuseppe CAVALLARO <[email-masked]>
Date: Fri, 11 Mar 2016 10:09:49 +0100

On 3/10/2016 5:47 PM, Dinh Nguyen wrote:
> On Thu, Mar 10, 2016 at 3:13 AM, Giuseppe CAVALLARO
> <[email-masked]> wrote:
>> On 3/9/2016 5:31 PM, Dinh Nguyen wrote:
>>>
>>> On Wed, Mar 9, 2016 at 8:53 AM, Giuseppe CAVALLARO
>>> <[email-masked]> wrote:
>>>>
>>>> Hi Tomeu, Dinh, Andreas
>>>>
>>>> I need a sum and help from you to go ahead on the
>>>> tx timeout.
>>>>
>>>> The "stmmac: MDIO fixes" seems to be the candidate to
>>>> fix the phy connection and I will send the V2 asap (Andreas' comment).
>>>>
>>>> So, supposing the probe is ok and phy is connected,
>>>> I need your input ...
>>>>
>>>>    Tomeu: after revering the 0e80bdc9a72d (stmmac: first frame
>>>>           prep at the end of xmit routine) the network is
>>>>           not stable and there is a timeout after a while.
>>>>           The box has 3.50 with normal desc settings.
>>>>
>>>>    Dinh: the network is ok, I wonder if you can share a boot
>>>>          log just to understand if the normal or enhanced
>>>>          descriptors are used.
>>>>
>>>
>>> Here it is:
>>
>> ...
>>>
>>> [    0.850523] stmmac - user ID: 0x10, Synopsys ID: 0x37
>>> [    0.855570]  Ring mode enabled
>>> [    0.858611]  DMA HW capability register supported
>>> [    0.863128]  Enhanced/Alternate descriptors
>>> [    0.867482]  Enabled extended descriptors
>>> [    0.871482]  RX Checksum Offload Engine supported (type 2)
>>> [    0.876948]  TX Checksum insertion supported
>>> [    0.881204]  Enable RX Mitigation via HW Watchdog Timer
>>> [    0.886863] socfpga-dwmac ff702000.ethernet eth0: No MDIO subnode found
>>> [    0.899090] libphy: stmmac: probed
>>> [    0.902484] eth0: PHY ID 00221611 at 4 IRQ POLL (stmmac-0:04) active
>>
>>
>> Thx Dinh, so you are using the Enhanced/Alternate descriptors
>> I am debugging on my side on a setup with normal descriptors, I let you
>> know
>>
>
> Doesn't the printout "Enhanced/Alternate descriptors"  mean that I'm using
> Enhanced/Alternate descriptors?

yes this means that you have the Databook 3.70a and, from the HW
capability register, the driver will use the Enhanced/Alternate
descriptors. This is the same HW I am using on my side where the
stmmac is working fine.

In the case where it is failing on net-next, although on Databook 3.50a,
the HW  capability register says that there is no enhanced descriptors
and the driver uses the normal ones.

Tomeu, I kindly ask you to try the patch attached. I found a bug on Tx
path for normal descriptors. Please let me know if this help.
Also let me know if we actually need to revert the 0e80bdc9a72d.

I am trying to find some HW where test the normal descriptors to
speed-up the tests on my side directly.

Let me know and thx in advance.

Regards,
Peppe

>
> Dinh
>
>>From ed3e38befc5500e05f46e1d52ea20a0b8d3829f3 Mon Sep 17 00:00:00 2001
From: Giuseppe Cavallaro <[email-masked]>
Date: Thu, 10 Mar 2016 14:57:48 +0100
Subject: [PATCH (linux-sti-4.1)] stmmac: fix tx prepare for normal desc

This patch fixes a bug inside when use the normal descriptors.
While preparing the tx descriptor the frame size was not
properly set.

Signed-off-by: Giuseppe Cavallaro <[email-masked]>
---
 drivers/net/ethernet/stmicro/stmmac/norm_desc.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/drivers/net/ethernet/stmicro/stmmac/norm_desc.c b/drivers/net/ethernet/stmicro/stmmac/norm_desc.c
index e13228f..432b3f1 100644
--- a/drivers/net/ethernet/stmicro/stmmac/norm_desc.c
+++ b/drivers/net/ethernet/stmicro/stmmac/norm_desc.c
@@ -197,13 +197,15 @@ static void ndesc_prepare_tx_desc(struct dma_desc *p, int is_fs, int len,
 				  bool csum_flag, int mode, bool tx_own,
 				  bool ls)
 {
-	unsigned int tdes1 = p->des1;
+	unsigned int tdes1;
 
 	if (mode == STMMAC_CHAIN_MODE)
 		norm_set_tx_desc_len_on_chain(p, len);
 	else
 		norm_set_tx_desc_len_on_ring(p, len);
 
+	tdes1 = p->des1;
+
 	if (is_fs)
 		tdes1 |= TDES1_FIRST_SEGMENT;
 	else
-- 
1.7.4.4

_______________________________________________
Linux-rockchip mailing list
[email-masked]
http://lists.infradead.org/mailman/listinfo/linux-rockchip