Skip to content

Fix few omap gpmc regressions when booted with device tree

Tony Lindgren linux-arm-kernel linux-omap 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest0 of 2 patches 0 repliesNew

Patches in v1 No applies recorded yet

None of the 2 patches the cover letter announces are in this archive.

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/2] Fix few omap gpmc regressions when booted with device tree
Quoted 41 lines · Tony Lindgren
Quoted 34 lines · Tony Lindgren
Quoted 8 lines · Javier Martinez Canillas
Quoted 6 lines · Tony Lindgren

2. There seems to be some timing issues with smc911x where rsync of larger files and apt-get dist-upgrade can produce strange errors. This seems to work reliably when booted in legacy mode.

Quoted 7 lines

In what board are you having this issue? The smsc911x driver supports both SMSC's LAN911x and LAN921x families and I see that we have two .dtsi files with different timings (arm/boot/dts/omap-gpmc-smsc{911x,9221}.dtsi).

This is only a wild guess, but maybe your board has a smsc LAN921x chip but is including omap-gpmc-smsc911x.dtsi on its DTS?

Yes it seems to have two LAN9220s, so this could be the reason. I don't think we had the omap-gpmc-smsc9221.dtsi when I added the timings initially.

This is on a sbc-t3730 that I'm using as a gateway that was behaving reliably before I upgraded it to DT based booting. It's currently at v3.13-rc3 something, but I don't think we've much GPMC changes since then.

I'll try upgrading the kernel today and running some tests with rsync. Looks like we can also remove quite a bit of duplicate timing data by using omap-gpmc-smsc9221.dtsi, I'll try something like the patch below.

In any case, I suggest others run some tests on their GPMC Ethernet too.

Review

Quoted 2 lines
(quoted diff) +2 -0
+#include "omap-gpmc-smsc9221.dtsi"
+

The 9221 timings won't work at all on 9220, it requires a 9221. I'll post a better clean-up patch to use the 911x timings.

Quoted 3 lines

Upgraded the kernel and the occasional corruption is still there. I guess I need to test also the same kernel in legacy mode to try to narrow it down.

OK hopefully got it figured out now. For legacy booting we were always using just the bootloader timings. With device tree, we started using the timings with your commit d72b4415 (ARM: dts:
omap3-igep0020: Add SMSC911x LAN chip support) that was probably actually tested on a LAN9221 instead of LAN9220?

In any case, I've patched omap-gpmc-smsc911x.dtsi so the values match the u-boot values, and so far that seems to be working just fine. Will post few patches shortly.

Regards,

Tony