linux-stable/include
Jochen Henneberg 070246e467 net: stmmac: Fix for mismatched host/device DMA address width
Currently DMA address width is either read from a RO device register
or force set from the platform data. This breaks DMA when the host DMA
address width is <=32it but the device is >32bit.

Right now the driver may decide to use a 2nd DMA descriptor for
another buffer (happens in case of TSO xmit) assuming that 32bit
addressing is used due to platform configuration but the device will
still use both descriptor addresses as one address.

This can be observed with the Intel EHL platform driver that sets
32bit for addr64 but the MAC reports 40bit. The TX queue gets stuck in
case of TCP with iptables NAT configuration on TSO packets.

The logic should be like this: Whatever we do on the host side (memory
allocation GFP flags) should happen with the host DMA width, whenever
we decide how to set addresses on the device registers we must use the
device DMA address width.

This patch renames the platform address width field from addr64 (term
used in device datasheet) to host_addr and uses this value exclusively
for host side operations while all chip operations consider the device
DMA width as read from the device register.

Fixes: 7cfc4486e7 ("stmmac: intel: Configure EHL PSE0 GbE and PSE1 GbE to 32 bits DMA addressing")
Signed-off-by: Jochen Henneberg <jh@henneberg-systemdesign.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2023-03-19 10:56:03 +00:00
..
acpi ACPI: x86: Introduce an acpi_quirk_skip_gpio_event_handlers() helper 2023-03-07 14:15:10 +01:00
asm-generic Driver core changes for 6.3-rc1 2023-02-24 12:58:55 -08:00
clocksource
crypto
drm drm/bridge: Fix returned array size name for atomic_get_input_bus_fmts kdoc 2023-03-15 10:06:06 +01:00
dt-bindings ARM: SoC drivers for 6.3 2023-02-27 10:04:49 -08:00
keys
kunit
kvm KVM: arm64: timers: Convert per-vcpu virtual offset to a global value 2023-03-11 02:00:40 -08:00
linux net: stmmac: Fix for mismatched host/device DMA address width 2023-03-19 10:56:03 +00:00
math-emu
media media updates for v6.3-rc1 2023-02-26 11:47:26 -08:00
memory
misc
net xdp: add xdp_set_features_flag utility routine 2023-03-10 21:33:47 -08:00
pcmcia
ras
rdma
rv
scsi scsi: core: Add BLIST_NO_VPD_SIZE for some VDASD 2023-03-09 20:57:58 -05:00
soc
sound sound fixes for 6.3-rc1 2023-03-04 10:53:59 -08:00
target
trace f2fs-for-6.3-rc1 2023-02-27 16:18:51 -08:00
uapi Including fixes from netfilter, wifi and ipsec. 2023-03-17 13:31:16 -07:00
ufs SCSI misc on 20230303 2023-03-03 14:41:50 -08:00
vdso
video
xen xen: branch for v6.3-rc3 2023-03-17 10:45:49 -07:00