Re: [PATCH net-next v3] tg3: normalize inherited BCM5718 register byte order
From: patchwork-bot+netdevbpf
Date: Fri Oct 16 2026 - 20:51:25 EST
Hello:
This patch was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@xxxxxxxxxx>:
On Sun, 11 Oct 2026 21:41:58 +0200 you wrote:
> Firmware can leave BCM5718 vendor registers byte-swapped while standard
> PCI fields retain normal byte order. Detect this from the host-control
> revision marker, byte-swap bit and swapped product ID, without matching
> a platform model or PCI subsystem. Prefer the normal revision marker
> so already-normal controllers do not enter the normalization path.
>
> Hardware swapping can accommodate big-endian register accesses, but tg3
> already initializes misc_host_ctrl with WORD_SWAP set and BYTE_SWAP clear
> on both little- and big-endian builds. Its normal MMIO path uses
> readl()/writel(); on SPARC64 these use little-endian accesses. Restore
> that existing register mode rather than choosing a mode based on host
> endianness. The swab32() on the initial write compensates for the device's
> inherited state; subsequent accesses use the normal driver path.
>
> [...]
Here is the summary with links:
- [net-next,v3] tg3: normalize inherited BCM5718 register byte order
https://git.kernel.org/netdev/net-next/c/4f9fbb30e341
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html