From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dongdong Liu Subject: Re: [RFC PATCH V5 0/5] ECAM quirks handling for ARM64 platforms Date: Tue, 9 Aug 2016 17:20:42 +0800 Message-ID: <57A9A06A.30907@huawei.com> References: <1470661541-26270-1-git-send-email-tn@semihalf.com> Mime-Version: 1.0 Content-Type: text/plain; charset="gbk"; format=flowed Content-Transfer-Encoding: 8bit Return-path: Received: from szxga03-in.huawei.com ([119.145.14.66]:64339 "EHLO szxga03-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751454AbcHIJVq (ORCPT ); Tue, 9 Aug 2016 05:21:46 -0400 In-Reply-To: <1470661541-26270-1-git-send-email-tn@semihalf.com> Sender: linux-acpi-owner@vger.kernel.org List-Id: linux-acpi@vger.kernel.org To: Tomasz Nowicki , helgaas@kernel.org, arnd@arndb.de, will.deacon@arm.com, catalin.marinas@arm.com, rafael@kernel.org, Lorenzo.Pieralisi@arm.com Cc: hanjun.guo@linaro.org, okaya@codeaurora.org, jchandra@broadcom.com, cov@codeaurora.org, dhdang@apm.com, ard.biesheuvel@linaro.org, robert.richter@caviumnetworks.com, mw@semihalf.com, Liviu.Dudau@arm.com, ddaney@caviumnetworks.com, wangyijing@huawei.com, msalter@redhat.com, linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linaro-acpi@lists.linaro.org, jcm@redhat.com, andrea.gallo@linaro.org, jeremy.linton@arm.com, gabriele.paoloni@huawei.com, jhugo@codeaurora.org, linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org, Linuxarm ÔÚ 2016/8/8 21:05, Tomasz Nowicki дµÀ: > Quirk handling relies on an idea of matching MCFG OEM ID, TABLE ID and > revision (the ones from standard header of MCFG table). > > Static array is used to keep quirk entries. Each entry consists of > mentioned MCFG IDs along with custom pci_ops structure and initialization call. > > As an example, the last patch presents quirk handling mechanism usage for > ThunderX PEM driver. > > v4 -> v5 > - rebase against v4.8-rc1 > - rework to exact MCFG OEM ID, TABLE ID, rev match > - use memcmp instead of strncmp > - no substring match > - fix typos and dmesg message > > Tomasz Nowicki (5): > PCI: Embed pci_ecam_ops in pci_config_window structure > PCI/ACPI: Move ACPI ECAM mapping to generic MCFG driver > PCI: Check platform specific ECAM quirks > ARM64/PCI: Start using quirks handling for ACPI based PCI host > controller > PCI: thunder-pem: Support quirky configuration space access for ACPI > based PCI host controller > > arch/arm64/kernel/pci.c | 42 +---------------- > drivers/acpi/pci_mcfg.c | 40 ++++++++++++++++ > drivers/pci/ecam.c | 6 +-- > drivers/pci/host/Makefile | 1 + > drivers/pci/host/mcfg-quirks.c | 93 ++++++++++++++++++++++++++++++++++++ > drivers/pci/host/mcfg-quirks.h | 24 ++++++++++ > drivers/pci/host/pci-thunder-pem.c | 96 ++++++++++++++++++++++++++++++++------ > include/linux/pci-acpi.h | 5 ++ > include/linux/pci-ecam.h | 2 +- > 9 files changed, 252 insertions(+), 57 deletions(-) > create mode 100644 drivers/pci/host/mcfg-quirks.c > create mode 100644 drivers/pci/host/mcfg-quirks.h > Based on the patchset, tested on HiSilicon D03 board with intel 82599 net card. It worked OK. Tested-by: Dongdong Liu Thanks Dongdong