This patchset improves Loongson PCI controller driver and resolves some
problems: LS2K/LS7A's PCI config space supports 1/2/4-bytes access, so
the first patch use pci_generic_config_read()/pci_generic_config_write()
for them; the second patch add ACPI init support which will be used by
LoongArch; the third patch improves the mrrs quirk for LS7A chipset; The
fourth patch add a new quirk for LS7A chipset to avoid poweroff/reboot
failure, and the fifth patch add a new quirk for LS7A chipset to fix the
multifunction devices' irq pin mappings.
V1 -> V2:
1, Rework the 4th patch;
2, Improve commit messages;
3, Remove the last patch since there is better solutions.
V2 -> V3:
1, Add more affected device ids for the 4th patch;
2, Improve commit messages to describe root causes.
V3 -> V4:
1, Rework the MRRS quirk patch;
2, Improve commit messages to describe root causes, again.
V4 -> V5:
1, Improve the MRRS quirk patch;
2, Change the order of 2nd and 3rd patch;
3, Improve commit messages to describe root causes, again.
V5 -> V6:
1, Rework the 1st patch;
2, Adjust the order of the series.
V6 -> V7:
1, Use correct pci config access operations;
2, Add ACPI init support for LoongArch;
3, Don't move to quirks.c since the driver has ACPI support;
4, Some other minor improvements.
V7 -> V8:
1, Use CFG1 method for LS2K/LS7A pci config;
Huacai Chen, Tiezhu Yang and Jianmin Lv(5):
PCI: loongson: Use correct pci config access operations.
PCI: loongson: Add ACPI init support.
PCI: Improve the MRRS quirk for LS7A.
PCI: Add quirk for LS7A to avoid reboot failure.
PCI: Add quirk for multifunction devices of LS7A.
Signed-off-by: Huacai Chen <redacted>
Signed-off-by: Jianmin Lv <lvjianmin@loongson.cn>
Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
---
drivers/acpi/pci_mcfg.c | 13 +++
drivers/pci/controller/Kconfig | 2 +-
drivers/pci/controller/pci-loongson.c | 184 ++++++++++++++++++++++++++--------
drivers/pci/pci.c | 6 ++
drivers/pci/pcie/portdrv_core.c | 6 +-
include/linux/pci-ecam.h | 1 +
include/linux/pci.h | 2 +
7 files changed, 169 insertions(+), 45 deletions(-)
--
2.27.0