pci: sh7751: Fix access to config space via PCI_CONF1_ADDRESS() macro
authorPali Rohár <pali@kernel.org>
Fri, 26 Nov 2021 10:42:52 +0000 (11:42 +0100)
committerTom Rini <trini@konsulko.com>
Wed, 12 Jan 2022 19:21:24 +0000 (14:21 -0500)
commit2a67bf65dd6c362487f416878348398d1842ae6b
treeaeea10cced79093b8cb35974c410d1c2604e69ba
parentc49f1fa8927340e7e3ea19f6ec6164510f9cd737
pci: sh7751: Fix access to config space via PCI_CONF1_ADDRESS() macro

sh7751 platform uses standard format of Config Address for PCI
Configuration Mechanism #1.

Commit 72c2f4acd76f ("pci: sh7751: Convert to DM and DT probing") which did
conversion of PCI sh7751 driver to DM, broke access to config space as that
commit somehow swapped device and function bits in config address.

Fix all these issues by using new U-Boot macro PCI_CONF1_ADDRESS() which
calculates Config Address correctly.

Also remove nonsense function sh7751_pci_addr_valid() which was introduced
in commit 72c2f4acd76f ("pci: sh7751: Convert to DM and DT probing")
probably due to workarounded issues with mixing/swapping device and
function bits of config address which probably resulted in non-working
access to some devices. With correct composing of config address there
should not be such issue anymore.

Signed-off-by: Pali Rohár <pali@kernel.org>
Fixes: 72c2f4acd76f ("pci: sh7751: Convert to DM and DT probing")
Cc: Marek Vasut <marek.vasut+renesas@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
drivers/pci/pci_sh7751.c