Message ID | 56E801EB.6030107@st.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, Mar 15, 2016 at 7:36 AM, Giuseppe CAVALLARO <peppe.cavallaro@st.com> wrote: > Hello Tomeu > > On 3/15/2016 8:23 AM, Tomeu Vizoso wrote: >> >> Thanks. >> >> Btw, I have rebased on top of 4.5 this morning and I have noticed that >> 88f8b1bb41c6 ("stmmac: Fix 'eth0: No PHY found' regression") got in >> there, so I guess we have now a bunch of boards with broken network on >> that release:( > > > > This is the status on my side: I am testing on an HW that has the > Enhanced descriptors and all works fine. > > On this HW, if I force the driver to use the normal descriptor > layout, I meet problems but using both net.git and net-next. > So I suspect I cannot ply with this HW forcing the normal descriptors. > But! That is helping me to check if, on net-next, the stmmac is > actually programming fine the normal desc case. > I have just found another fix so I kindly ask you to apply the temp > patch attached and let me know. > In details, I have noticed that the OWN bit was not set in the right > TDES0. > > I also ask you to give me a log of the kernel where the stmmac was > running fine. I would like to see which configuration it is selected > at runtime by the driver on your box. > From your previous logs (where the stmmac failed), it seems that > the problem is on normal desc but, to be honest, this is the first > case I see a 3.50a with HW capability register and w/o Enhanced > descriptors. > Are you still working on a fix for: [ 1.196110] libphy: PHY stmmac-0:ffffffff not found [ 1.200972] eth0: Could not attach to PHY [ 1.204991] stmmac_open: Cannot attach to PHY (error: -19) I see the error still there as of linux-next 20160330. Dinh
On 3/30/2016 6:44 PM, Dinh Nguyen wrote: > On Tue, Mar 15, 2016 at 7:36 AM, Giuseppe CAVALLARO > <peppe.cavallaro@st.com> wrote: >> Hello Tomeu >> >> On 3/15/2016 8:23 AM, Tomeu Vizoso wrote: >>> >>> Thanks. >>> >>> Btw, I have rebased on top of 4.5 this morning and I have noticed that >>> 88f8b1bb41c6 ("stmmac: Fix 'eth0: No PHY found' regression") got in >>> there, so I guess we have now a bunch of boards with broken network on >>> that release:( >> >> >> >> This is the status on my side: I am testing on an HW that has the >> Enhanced descriptors and all works fine. >> >> On this HW, if I force the driver to use the normal descriptor >> layout, I meet problems but using both net.git and net-next. >> So I suspect I cannot ply with this HW forcing the normal descriptors. >> But! That is helping me to check if, on net-next, the stmmac is >> actually programming fine the normal desc case. >> I have just found another fix so I kindly ask you to apply the temp >> patch attached and let me know. >> In details, I have noticed that the OWN bit was not set in the right >> TDES0. >> >> I also ask you to give me a log of the kernel where the stmmac was >> running fine. I would like to see which configuration it is selected >> at runtime by the driver on your box. >> From your previous logs (where the stmmac failed), it seems that >> the problem is on normal desc but, to be honest, this is the first >> case I see a 3.50a with HW capability register and w/o Enhanced >> descriptors. >> > > Are you still working on a fix for: > > [ 1.196110] libphy: PHY stmmac-0:ffffffff not found > [ 1.200972] eth0: Could not attach to PHY > [ 1.204991] stmmac_open: Cannot attach to PHY (error: -19) > > I see the error still there as of linux-next 20160330. this could be because the fixes have been not applied on net-next I will check and resend all asap peppe > > Dinh >
diff --git a/drivers/net/ethernet/stmicro/stmmac/norm_desc.c b/drivers/net/ethernet/stmicro/stmmac/norm_desc.c index e13228f..44c052f 100644 --- a/drivers/net/ethernet/stmicro/stmmac/norm_desc.c +++ b/drivers/net/ethernet/stmicro/stmmac/norm_desc.c @@ -217,10 +217,10 @@ static void ndesc_prepare_tx_desc(struct dma_desc *p, int is_fs, int len, if (ls) tdes1 |= TDES1_LAST_SEGMENT; - if (tx_own) - tdes1 |= TDES0_OWN; - p->des1 = tdes1; + + if (tx_own) + p->des0 |= TDES0_OWN; } static void ndesc_set_tx_ic(struct dma_desc *p)