Re: [PATCH V6 0/2] Add ACPI support for HiSilicon SoCs Host Controllers

From: Dongdong Liu
Date: Thu Dec 22 2016 - 07:32:30 EST


Hi Ming

The latest patchset is [PATCH v11 00/15] PCI: ARM64 ECAM quirks
You can get them from https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git (pci/ecam)

Thanks
Dongdong
å 2016/12/22 16:31, Ming Lei åé:
Hi Dongdong,

On Tue, Nov 22, 2016 at 8:08 PM, Dongdong Liu <liudongdong3@xxxxxxxxxx> wrote:
This patchset adds ACPI support for the HiSilicon Hip05/Hip06/Hip07 SoC
PCIe controllers.
The two patches respectively:
- provides the common function acpi_get_rc_resources() for ARM64
platform.
- adds the HiSilicon ACPI specific quirks.

This patchset is based on branch pci/ecam-v6
It can be found here:
https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git(pci/ecam-v6)

This patchset has been tested on HiSilicon D03 board.
The dmesg log, /proc/iomem, and ACPI table information can be found:
https://bugzilla.kernel.org/show_bug.cgi?id=187961

v5 -> v6:
- change the config option to CONFIG_PCI_ECAM_QUIRKS.
- fix some commets about acpi_get_rc_resources().

Could you post out v7 for fixing conflicts against current linus tree?

BTW, I tried to fix the conflicts by myself, but still caues the following
build failure:

[tom@xxxxxxxxxxxx]$make -j4 CROSS_COMPILE=aarch64-linux-gnu-
ARCH=arm64 drivers/pci/host/pcie-hisi-acpi.o
CHK include/config/kernel.release
CHK include/generated/uapi/linux/version.h
CHK include/generated/utsrelease.h
CHK include/generated/timeconst.h
CHK include/generated/bounds.h
CHK include/generated/asm-offsets.h
CALL scripts/checksyscalls.sh
CC drivers/pci/host/pcie-hisi-acpi.o
In file included from drivers/pci/host/pcie-hisi-acpi.c:16:0:
drivers/pci/host/../pci.h:357:18: error: conflicting types for
âacpi_get_rc_resourcesâ
struct resource *acpi_get_rc_resources(const char *hid, u16 segment);
^
drivers/pci/host/../pci.h:352:5: note: previous declaration of
âacpi_get_rc_resourcesâ was here
int acpi_get_rc_resources(struct device *dev, const char *hid, u16 segment,
^
scripts/Makefile.build:293: recipe for target
'drivers/pci/host/pcie-hisi-acpi.o' failed
make[1]: *** [drivers/pci/host/pcie-hisi-acpi.o] Error 1
Makefile:1640: recipe for target 'drivers/pci/host/pcie-hisi-acpi.o' failed
make: *** [drivers/pci/host/pcie-hisi-acpi.o] Error 2


Thanks,
Ming


v4 -> v5:
- obtain rc base addresses from PNP0C02 at the root of the ACPI
namespace (under \_SB) instead of from sub-device under the RC.
- merge the rewrited get rc resources code by Tomasz.
- delete unused code.
- drop the PATCH V4 1/2, will rework late as a separate patch.

v3 -> v4:
- rebase on pci/ecam-v6.
- delete the unnecessary link_up check code.

v2 -> v3:
- rebase against 4.9-rc1 and add Tomasz quirks V6 pathcset.
- obtain rc base addresses from PNP0C02 as subdevice of PNP0A03 instead of
hardcode the addresses.
- modify hisi_pcie_acpi_rd_conf/hisi_pcie_acpi_wr_conf() according to
Arnd comments.

v1 -> v2:
- rebase against Tomasz RFC V5 quirk mechanism
- add ACPI support for the HiSilicon Hip07 SoC PCIe controllers.

Dongdong Liu (2):
PCI/ACPI: Provide acpi_get_rc_resources() for ARM64 platform
PCI/ACPI: hisi: Add ACPI support for HiSilicon SoCs Host Controllers

MAINTAINERS | 1 +
drivers/acpi/pci_mcfg.c | 13 +++++
drivers/pci/host/Kconfig | 7 +++
drivers/pci/host/Makefile | 1 +
drivers/pci/host/pcie-hisi-acpi.c | 119 ++++++++++++++++++++++++++++++++++++++
drivers/pci/pci-acpi.c | 69 ++++++++++++++++++++++
drivers/pci/pci.h | 4 ++
include/linux/pci-ecam.h | 5 ++
8 files changed, 219 insertions(+)
create mode 100644 drivers/pci/host/pcie-hisi-acpi.c

--
1.9.1