OSDN Git Service

hw/mips/gt64xxx_pci: Don't endian-swap GT_PCI0_CFGADDR
authorJiaxun Yang <jiaxun.yang@flygoat.com>
Thu, 23 Feb 2023 16:19:58 +0000 (16:19 +0000)
committerPhilippe Mathieu-Daudé <philmd@linaro.org>
Thu, 30 Mar 2023 13:03:36 +0000 (15:03 +0200)
commit3d85c7c15fc7ce986cf1a8e73da1217228f35685
treef46d8e48a0fbe66f3d3d512208a9a7210ae3e955
parent450cb7ec2c5fda51b9650ca25e59ac9deeb60d1b
hw/mips/gt64xxx_pci: Don't endian-swap GT_PCI0_CFGADDR

145e2198d749 ("hw/mips/gt64xxx_pci: Endian-swap using PCI_HOST_BRIDGE
MemoryRegionOps") converted CFGADDR/CFGDATA registers to use
PCI_HOST_BRIDGE's accessor facility and enabled byte swap for both
CFGADDR/CFGDATA register.

However CFGADDR as a ISD internal register is not controlled by
MByteSwap bit, it follows endian of all other ISD register, which
means it ties to little endian.

Move mapping of CFGADDR out of gt64120_update_pci_cfgdata_mapping
to disable endian-swapping.

Fixes: 145e2198d749 ("hw/mips/gt64xxx_pci: Endian-swap using PCI_HOST_BRIDGE MemoryRegionOps")
Reported-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Nathan Chancellor <nathan@kernel.org>
Message-Id: <20230223161958.48696-1-jiaxun.yang@flygoat.com>
[PMD: !!! Note this only fixes little-endian hosts !!! ]
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
hw/pci-host/gt64120.c