• Koen Vandeputte's avatar
    ARM: cns3xxx: Use actual size reads for PCIe · 432dd706
    Koen Vandeputte authored
    commit 802b7c06 ("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.
    
    Given that:
    
    - 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
    
    Allow read access of any size by replacing pci_generic_config_read32()
    with the pci_generic_config_read() accessors.
    
    Fixes: 802b7c06 ("ARM: cns3xxx: Convert PCI to use generic config accessors")
    Suggested-by: default avatarBjorn Helgaas <bhelgaas@google.com>
    Signed-off-by: default avatarKoen Vandeputte <koen.vandeputte@ncentric.com>
    [lorenzo.pieralisi@arm.com: updated commit log]
    Signed-off-by: default avatarLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    Acked-by: default avatarKrzysztof Halasa <khalasa@piap.pl>
    Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
    CC: Krzysztof Halasa <khalasa@piap.pl>
    CC: Olof Johansson <olof@lixom.net>
    CC: Robin Leblon <robin.leblon@ncentric.com>
    CC: Rob Herring <robh@kernel.org>
    CC: Russell King <linux@armlinux.org.uk>
    CC: Tim Harvey <tharvey@gateworks.com>
    432dd706
pcie.c 8.04 KB