cns3xxx: use actual size reads for PCIe (4.19)
authorKoen Vandeputte <koen.vandeputte@ncentric.com>
Mon, 28 Jan 2019 09:08:24 +0000 (10:08 +0100)
committerKoen Vandeputte <koen.vandeputte@ncentric.com>
Mon, 28 Jan 2019 17:17:32 +0000 (18:17 +0100)
commit037800270bbb103819efce3f258bd0d7986b68a0
treef1db2e45ef3c58875460cbd25f3e3b0925888840
parent9a8db2d6bf44fcdf07acfaa96e680d972f779906
cns3xxx: use actual size reads for PCIe (4.19)

upstream commit 802b7c06adc7 ("ARM: cns3xxx: Convert PCI to use generic config accessors")
reimplemented cns3xxx_pci_read_config() using pci_generic_config_read32(),
which preserved the property of only doing 32-bit reads.

It also replaced cns3xxx_pci_write_config() with pci_generic_config_write(),
so it changed writes from always being 32 bits to being the actual size,
which works just fine.

Due to:
- The documentation does not mention that only 32 bit access is allowed.
- Writes are already executed using the actual size
- Extensive testing shows that 8b, 16b and 32b reads work as intended

It makes perfectly sense to also swap 32 bit reading in favor of actual size.

also backport this patch to kernel 4.19

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
target/linux/generic/backport-4.19/101-arm-cns3xxx-use-actual-size-reads-for-PCIe.patch [new file with mode: 0644]