public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Albert ARIBAUD <albert.u.boot@aribaud.net>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] net: fec: Avoid MX28 bus sync issue
Date: Fri, 12 Jul 2013 17:50:02 +0200	[thread overview]
Message-ID: <20130712175002.16eae002@lilith> (raw)
In-Reply-To: <51E01C0B.2000009@digi.com>

Hi Hector,

On Fri, 12 Jul 2013 17:08:59 +0200, Hector Palacios
<hector.palacios@digi.com> wrote:

> Hi Marek,
> 
> On 07/12/2013 02:01 PM, Marek Vasut wrote:
> > Hi Hector,
> >
> >> Dear Marek,
> >>
> >> On 07/12/2013 05:51 AM, Marek Vasut wrote:
> >>> Hi,
> >>>
> >>>> On Thu, Jul 11, 2013 at 8:18 PM, Fabio Estevam <festevam@gmail.com> wrote:
> >>>>> On Thu, Jul 11, 2013 at 8:03 PM, Marek Vasut <marex@denx.de> wrote:
> >>>>>> The MX28 multi-layer AHB bus can be too slow and trigger the
> >>>>>> FEC DMA too early, before all the data hit the DRAM. This patch
> >>>>>> ensures the data are written in the RAM before the DMA starts.
> >>>>>> Please see the comment in the patch for full details.
> >>>>>>
> >>>>>> This patch was produced with an amazing help from Albert Aribaud,
> >>>>>> who pointed out it can possibly be such a bus synchronisation
> >>>>>> issue.
> >>>>>>
> >>>>>> Signed-off-by: Marek Vasut <marex@denx.de>
> >>>>>> Cc: Albert ARIBAUD <albert.u.boot@aribaud.net>
> >>>>>> Cc: Fabio Estevam <fabio.estevam@freescale.com>
> >>>>>> Cc: Stefano Babic <sbabic@denx.de>
> >>>>>
> >>>>> Excellent, managed to transfer 90MB via TFTP on mx28evk without a
> >>>>> single timeout.
> >>>>>
> >>>>> Tested-by: Fabio Estevam <fabio.estevam@freescale.com>
> >>>>
> >>>> It's working here too.
> >>>>
> >>>> Tested-by: Alexandre Pereira da Silva <aletes.xgr@gmail.com>
> >>>
> >>> Nice to hear, thank Albert for finding this.
> >>
> >> Thanks for sharing.
> >>
> >> Unfortunately I'm still seeing non-recoverable timeouts when doing tftp
> >> transfers. Nevertheless, with this patch sometimes I'm able to transfer
> >> big files (100MiB) without problems (I was never able before). So this is
> >> a big improvement. I applied this patch over a v2013.01, does it need any
> >> additional patch? I think I saw one email about flush dcache...
> >
> > Try Stefano's tree as Fabio suggested. I think it's already pushed and includes
> > the fixes.
> 
> I just tried, but it didn't help.
> 
> >> Considering the other guys seem to work without problems I guess this
> >> scenario is specific to my board. I'm using a Micrel KSZ8031RNLI at 50MHz.
> >> I always suspect from the PHY.
> >
> > You can try using the PHYLIB (CONFIG_PHYLIB and CONFIG_PHY_SMSC as in sc_sps_1.h
> > ) . Also, can you check which of the two "ret = -EINVAL" is triggered in
> > fec_send() ? You can add simple printf() alongside both of them.
> 
> fec_send() *does not* ever fail, but I found something:
> It is very strange that the timeouts appear always after transferring between 20 and 
> 24 MiB. So I thought maybe it was not an issue with the size of the file or the number 
> of packets received, but instead a timed issue (an issue that happens after some 
> period of time). I checked, and in fact the timeouts occur exactly 10 seconds after 
> running the tftp command.
> I verified that this is what is happening by adding a udelay(100000) at fec_send(). In 
> this case, the timeout also occurs after 10 seconds, but due to the delay, I have 
> transferred only a few Kbytes.
> I tried to change different timeout related constants at tftp.c but still the issue 
> happens after 10s.
> It's like if, after these 10 seconds, the PHY lost the link or something. Really odd.
> Does it tell you anything?

Well, such a round number makes me think of an application-layer
time-out. Do you have control over how your TFTP server is
configured?

> Best regards,
> --
> Hector Palacios

Amicalement,
-- 
Albert.

  reply	other threads:[~2013-07-12 15:50 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-11 23:03 [U-Boot] [PATCH] net: fec: Avoid MX28 bus sync issue Marek Vasut
2013-07-11 23:18 ` Fabio Estevam
2013-07-12  3:41   ` Alexandre Pereira da Silva
2013-07-12  3:51     ` Marek Vasut
2013-07-12 11:37       ` Hector Palacios
2013-07-12 11:39         ` Fabio Estevam
2013-07-12 12:01         ` Marek Vasut
2013-07-12 15:08           ` Hector Palacios
2013-07-12 15:50             ` Albert ARIBAUD [this message]
2013-07-12 16:48             ` Marek Vasut
2013-07-15  8:58               ` Hector Palacios
2013-07-15 12:30                 ` Marek Vasut
2013-07-15 15:09                   ` Hector Palacios
2013-07-15 15:12                     ` Marek Vasut
2013-07-15 15:24                       ` Hector Palacios
2013-07-16  3:51                     ` Fabio Estevam
2013-07-16  4:18                       ` Fabio Estevam
2013-07-16  4:44                         ` Marek Vasut
2013-07-17 15:55                           ` Hector Palacios
2013-07-18  4:12                             ` Marek Vasut
2013-09-12 10:22                             ` Hector Palacios
2013-09-12 10:50                               ` Marek Vasut
     [not found]                                 ` <52319DE8.5080607@digi.com>
2013-09-12 11:00                                   ` Marek Vasut
2013-09-12 11:02                                 ` Robert Hodaszi
2013-09-12 14:05                                   ` Marek Vasut
2013-09-12 14:15                                     ` Robert Hodaszi
2013-09-12 14:31                                       ` Marek Vasut
2013-09-12 14:32                                         ` Robert Hodaszi
2013-09-12 15:06                                           ` Marek Vasut
2013-09-12 18:17                                     ` Wolfgang Denk
2013-09-12 18:39                                       ` Fabio Estevam
2013-09-12 18:53                                         ` Wolfgang Denk
2013-09-12 19:37                                           ` Fabio Estevam
2013-09-13 11:11                                             ` Robert Hodaszi
2013-09-13 11:13                                               ` Robert Hodaszi
2013-09-13 14:01                                                 ` Marek Vasut
2013-09-13 14:24                                                   ` Robert Hodaszi
2013-09-13 16:06                                               ` Wolfgang Denk
2013-09-13 16:24                                                 ` Marek Vasut
2013-09-13 17:46                                                   ` Wolfgang Denk
2013-09-14 22:05                                                     ` Fabio Estevam
2013-09-12 11:08                                 ` Robert Hodaszi
2013-09-12 18:12                                   ` Wolfgang Denk
2013-09-12 17:50                               ` Wolfgang Denk
2013-07-13  2:43   ` Troy Kisky
2013-07-15 13:41     ` Albert ARIBAUD
2013-07-15 17:39       ` Troy Kisky
2013-07-15 19:59         ` Troy Kisky
2013-07-15 20:20           ` Albert ARIBAUD
2013-07-15 20:20         ` Albert ARIBAUD
2013-07-15 21:18           ` Troy Kisky
2013-07-12  5:57 ` Albert ARIBAUD
2013-07-12  6:39   ` Albert ARIBAUD
2013-07-12 11:51     ` Marek Vasut
2013-07-12  6:56   ` Stefano Babic
2013-07-12  7:30 ` Stefano Babic
  -- strict thread matches above, loose matches on Subject: below --
2013-09-15 18:12 Oliver Metz
2013-09-15 18:16 ` Fabio Estevam

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130712175002.16eae002@lilith \
    --to=albert.u.boot@aribaud.net \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox