All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexandre Belloni <alexandre.belloni@bootlin.com>
To: Jakub Kicinski <kuba@kernel.org>
Cc: Willy Tarreau <w@1wt.eu>,
	Nicolas Ferre <nicolas.ferre@microchip.com>,
	Claudiu Beznea <claudiu.beznea@microchip.com>,
	Daniel Palmer <daniel@0x0f.com>,
	David Miller <davem@davemloft.net>,
	netdev@vger.kernel.org
Subject: Re: macb: should we revert 0a4e9ce17ba7 ("macb: support the two tx descriptors on at91rm9200") ?
Date: Tue, 8 Dec 2020 00:52:08 +0100	[thread overview]
Message-ID: <20201207235208.GI431442@piout.net> (raw)
In-Reply-To: <20201207154042.46414640@kicinski-fedora-pc1c0hjn.DHCP.thefacebook.com>

Hi,

On 07/12/2020 15:40:42-0800, Jakub Kicinski wrote:
> On Sun, 6 Dec 2020 10:20:41 +0100 Willy Tarreau wrote:
> > Hi Jakub,
> > 
> > Two months ago I implemented a small change in the macb driver to
> > support the two Tx descriptors that AT91RM9200 supports. I implemented
> > this using the only compatible device I had which is the MSC313E-based
> > Breadbee board. Since then I've met situations where the chip would stop
> > sending, mostly when doing bidirectional traffic. I've spent a few week-
> > ends on this already trying various things including blocking interrupts
> > on a larger place, switching to the 32-bit register access on the MSC313E
> > (previous code was using two 16-bit accesses and I thought it was the
> > cause), and tracing status registers along the various operations. Each
> > time the pattern looks similar, a write when the chips declares having
> > room results in an overrun, but the preceeding condition doesn't leave
> > any info suggesting this may happen.
> > 
> > Sadly we don't have the datasheet for this SoC, what is visible is that it
> > supports AT91RM9200's tx mode and that it works well when there's a single
> > descriptor in flight. In this case it complies with AT91RM9200's datasheet.
> > The chip reports other undocumented bits in its status registers, that
> > cannot even be correlated to the issue by the way. I couldn't spot anything
> > wrong there in my changes, even after doing heavy changes to progress on
> > debugging, and the SoC's behavior reporting an overrun after a single write
> > when there's room contradicts the RM9200's datasheet. In addition we know
> > the chip also supports other descriptor-based modes, so it's very possible
> > it doesn't perfectly implement the RM9200's 2-desc mode and that my change
> > is still fine.
> > 
> > Yesterday I hope to get my old AT91SAM9G20 board to execute this code and
> > test it, but it clearly does not work when I remap the init and tx functions,
> > which indicates that it really does not implement a hidden compatibility
> > mode with the old chip.
> > 
> > Thus at this point I have no way to make sure that the original SoC for
> > which I changed the code still works fine or if I broke it. As such, I'd
> > feel more comfortable if we'd revert my patch until someone has the
> > opportunity to test it on the original hardware (Alexandre suggested he
> > might, but later).
> > 
> > The commit in question is the following one:
> > 
> >   0a4e9ce17ba7 ("macb: support the two tx descriptors on at91rm9200")
> > 
> > If the maintainers prefer that we wait for an issue to be reported before
> > reverting it, that's fine for me as well. What's important to me is that
> > this potential issue is identified so as not to waste someone else's time
> > on it.
> 
> Thanks for the report, I remember that one. In hindsight maybe we
> should have punted it to 5.11...
> 
> Let's revert ASAP, 5.10 is going to be LTS, people will definitely
> notice.
> 
> Would you mind sending a revert patch with the explanation in the
> commit message?

FWIW, I went to the office and brought back my rm9200 today. I didn't
have the time to set up a test yet though. I'm not sure it will even
boot v5.10 so don't bet anyone apart me would notice Ethernet being
broken on this SoC.

-- 
Alexandre Belloni, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

  reply	other threads:[~2020-12-07 23:52 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-06  9:20 macb: should we revert 0a4e9ce17ba7 ("macb: support the two tx descriptors on at91rm9200") ? Willy Tarreau
2020-12-07 23:40 ` Jakub Kicinski
2020-12-07 23:52   ` Alexandre Belloni [this message]
2020-12-08  5:17   ` Willy Tarreau

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=20201207235208.GI431442@piout.net \
    --to=alexandre.belloni@bootlin.com \
    --cc=claudiu.beznea@microchip.com \
    --cc=daniel@0x0f.com \
    --cc=davem@davemloft.net \
    --cc=kuba@kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=nicolas.ferre@microchip.com \
    --cc=w@1wt.eu \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.