Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754930AbcLZI6X (ORCPT ); Mon, 26 Dec 2016 03:58:23 -0500 Received: from szxga02-in.huawei.com ([119.145.14.65]:57906 "EHLO szxga02-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750762AbcLZI6U (ORCPT ); Mon, 26 Dec 2016 03:58:20 -0500 Subject: Re: [PATCH v5 00/14] ACPI platform MSI support and its example mbigen To: Hanjun Guo , Marc Zyngier , "Rafael J. Wysocki" , Lorenzo Pieralisi References: <1482384922-21507-1-git-send-email-guohanjun@huawei.com> CC: , , , , Thomas Gleixner , Greg KH , Tomasz Nowicki , Kefeng Wang , Agustin Vega-Frias , Sinan Kaya , Charles Garcia-Tobin , , , , , Hanjun Guo From: "majun (Euler7)" Message-ID: <5860DB5D.40701@huawei.com> Date: Mon, 26 Dec 2016 16:57:01 +0800 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.1.0 MIME-Version: 1.0 In-Reply-To: <1482384922-21507-1-git-send-email-guohanjun@huawei.com> Content-Type: text/plain; charset="gbk" Content-Transfer-Encoding: 8bit X-Originating-IP: [10.177.249.226] X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4420 Lines: 103 Hi Hanjun: This patch set works fine on my Hisilicon D05 board. Feel free to add Tested-by: Majun ?? 2016/12/22 13:35, Hanjun Guo ะด??: > From: Hanjun Guo > > v4 -> v5: > - Add mbigen support back with tested on with Agustin's patchset, > and it's a good example of how ACPI platform MSI works > - rebased on top of lastest Linus tree (commit 52bce91 splice: reinstate SIGPIPE/EPIPE handling) > > v3 -> v4: > - Drop mbi-gen patches to just submit platform msi support because > will rebase mbi-gen patches on top of Agustin's patchset, and discusion > is going there. > - Add a patch to support device topology such as NC(named componant, paltform device) > ->SMMU->ITS which suggested by Lorenzo; > - rebased on top of Lorenzo's v9 of ACPI IORT ARM SMMU support; > - rebased on top of 4.9-rc7 > > v2 -> v3: > - Drop RFC tag > - Rebase against v4.9-rc2 and Lorenzo's v6 of ACPI IORT ARM SMMU support [1] > - Add 3 cleanup patches (patch 1, 2, 3) > - Drop arch_init call patch from last version > - Introduce a callback for platform device to set msi domain > - Introduce a new API to get paltform device's domain instead of > reusing the PCI one in previous version > - Add a patch to rework iort_node_get_id() > > [1]: http://www.mail-archive.com/linux-kernel@vger.kernel.org/msg1251993.html > > v1 -> v2: > - Fix the bug of if multi Interrupt() resoures in single _PRS, > we need to calculate all the irq numbers (I missed it in previous > version); > - Rebased on Marc's irq/irqchip-4.9 branch and Lorenzo's v5 > SMMU patches (also Robin's SMMu patches) > - Add patch irqchip: mbigen: promote mbigen init. > > With platform msi support landed in the kernel, and the introduction > of IORT for GICv3 ITS (PCI MSI) and SMMU, the framework for platform msi > is ready, this patch set add few patches to enable the ACPI platform > msi support. > > For platform device connecting to ITS on arm platform, we have IORT > table with the named componant node to describe the mappings of paltform > device and ITS, so we can retrieve the dev id and find its parent > irqdomain (ITS) from IORT table (simlar with the ACPI ITS support). > > The fisrt 3 patches are cleanups; > > Patch 4,5 are refactoring its_pmsi_prepare() for both DT and ACPI > then retrieve the dev id from iort; > > Patch 6,7 to create platform msi domain to ACPI case which scanned > the MADT table; > > Patch 8,9,10,11 to setup the msi domain for platform device based > on IORT table. > > Patch 12,13,14 convert dt based mbigen driver to support ACPI. > > Teasted on Hisilicon D03/D05. > > Happy holidays! > > Thanks > Hanjun > > Hanjun Guo (12): > ACPI: ARM64: IORT: minor cleanup for iort_match_node_callback() > irqchip: gic-v3-its: keep the head file include in alphabetic order > ACPI: ARM64: IORT: add missing comment for iort_dev_find_its_id() > irqchip: gicv3-its: platform-msi: refactor its_pmsi_prepare() > ACPI: platform-msi: retrieve dev id from IORT > irqchip: gicv3-its: platform-msi: refactor its_pmsi_init() to prepare > for ACPI > irqchip: gicv3-its: platform-msi: scan MADT to create platform msi > domain > ACPI: ARM64: IORT: rework iort_node_get_id() > ACPI: platform: setup MSI domain for ACPI based platform device > ACPI: ARM64: IORT: rework iort_node_get_id() for NC->SMMU->ITS case > msi: platform: make platform_msi_create_device_domain() ACPI aware > irqchip: mbigen: Add ACPI support > > Kefeng Wang (2): > irqchip: mbigen: drop module owner > irqchip: mbigen: introduce mbigen_of_create_domain() > > drivers/acpi/acpi_platform.c | 11 ++ > drivers/acpi/arm64/iort.c | 138 ++++++++++++++++++++------ > drivers/base/platform-msi.c | 3 +- > drivers/base/platform.c | 3 + > drivers/irqchip/irq-gic-v3-its-platform-msi.c | 106 +++++++++++++++----- > drivers/irqchip/irq-gic-v3-its.c | 3 +- > drivers/irqchip/irq-mbigen.c | 109 ++++++++++++++++---- > include/linux/acpi_iort.h | 11 ++ > include/linux/platform_device.h | 3 + > 9 files changed, 309 insertions(+), 78 deletions(-) >