android_kernel_motorola_sm6375/arch
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jakob Unterwurzacher db9088f402 arm64: dts: rockchip: increase gmac rx_delay on rk3399-puma
commit 9d241b06802c6c2176ae7aa4f9f17f8a577ed337 upstream.

During mass manufacturing, we noticed the mmc_rx_crc_error counter,
as reported by "ethtool -S eth0 | grep mmc_rx_crc_error", to increase
above zero during nuttcp speedtests. Most of the time, this did not
affect the achieved speed, but it prompted this investigation.

Cycling through the rx_delay range on six boards (see table below) of
various ages shows that there is a large good region from 0x12 to 0x35
where we see zero crc errors on all tested boards.

The old rx_delay value (0x10) seems to have always been on the edge for
the KSZ9031RNX that is usually placed on Puma.

Choose "rx_delay = 0x23" to put us smack in the middle of the good
region. This works fine as well with the KSZ9131RNX PHY that was used
for a small number of boards during the COVID chip shortages.

	Board S/N        PHY        rx_delay good region
	---------        ---        --------------------
	Puma TT0069903   KSZ9031RNX 0x11 0x35
	Puma TT0157733   KSZ9031RNX 0x11 0x35
	Puma TT0681551   KSZ9031RNX 0x12 0x37
	Puma TT0681156   KSZ9031RNX 0x10 0x38
	Puma 17496030079 KSZ9031RNX 0x10 0x37 (Puma v1.2 from 2017)
	Puma TT0681720   KSZ9131RNX 0x02 0x39 (alternative PHY used in very few boards)

	Intersection of good regions = 0x12 0x35
	Middle of good region = 0x23

Fixes: 2c66fc34e9 ("arm64: dts: rockchip: add RK3399-Q7 (Puma) SoM")
Cc: stable@vger.kernel.org
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Tested-by: Quentin Schulz <quentin.schulz@cherry.de> # Puma v2.1 and v2.3 with KSZ9031
Signed-off-by: Jakob Unterwurzacher <jakob.unterwurzacher@cherry.de>
Link: https://lore.kernel.org/r/20241213-puma_rx_delay-v4-1-8e8e11cc6ed7@cherry.de
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-03-13 12:43:07 +01:00
..
alpha y2038: rusage: use __kernel_old_timeval 2024-03-15 10:48:18 -04:00
arc ARC: build: Try to guess GCC variant of cross compiler 2025-01-09 13:23:36 +01:00
arm ARM: dts: mediatek: mt7623: fix IR nodename 2025-03-13 12:42:57 +01:00
arm64 arm64: dts: rockchip: increase gmac rx_delay on rk3399-puma 2025-03-13 12:43:07 +01:00
c6x
csky csky, hexagon: fix broken sys_sync_file_range 2024-07-05 09:08:31 +02:00
h8300
hexagon hexagon: Fix unbalanced spinlock in die() 2025-03-13 12:43:01 +01:00
ia64 arch, mm: remove stale mentions of DISCONIGMEM 2024-02-23 08:25:13 +01:00
m68k m68k: vga: Fix I/O defines 2025-03-13 12:43:06 +01:00
microblaze microblaze: don't treat zero reserved memory regions as error 2024-11-08 16:20:25 +01:00
mips MIPS: Probe toolchain support of -msym32 2025-01-09 13:23:32 +01:00
nds32 arch, mm: remove stale mentions of DISCONIGMEM 2024-02-23 08:25:13 +01:00
nios2
openrisc openrisc: Call setup_memory() earlier in the init sequence 2024-09-04 13:14:57 +02:00
parisc parisc: Fix 64-bit userspace syscall path 2024-11-08 16:20:40 +01:00
powerpc powerpc/prom_init: Fixup missing powermac #size-cells 2024-12-14 19:44:54 +01:00
riscv riscv: Remove unused GENERATING_ASM_OFFSETS 2024-11-08 16:20:54 +01:00
s390 s390/futex: Fix FUTEX_OP_ANDN implementation 2025-03-13 12:43:06 +01:00
sh sh: cpuinfo: Fix a warning for CONFIG_CPUMASK_OFFSTACK 2024-12-14 19:44:37 +01:00
sparc sparc64: Fix incorrect function signature and add prototype for prom_cif_init 2024-08-19 05:33:32 +02:00
um um: Always dump trace for specified task in show_stack 2024-12-14 19:44:40 +01:00
unicore32
x86 x86/mm: Don't disable PCID when INVLPG has been fixed by microcode 2025-03-13 12:43:03 +01:00
xtensa arch, mm: remove stale mentions of DISCONIGMEM 2024-02-23 08:25:13 +01:00
.gitignore
Kconfig