Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755638AbcLZJ2H (ORCPT ); Mon, 26 Dec 2016 04:28:07 -0500 Received: from szxga01-in.huawei.com ([58.251.152.64]:38243 "EHLO szxga01-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751392AbcLZJ2E (ORCPT ); Mon, 26 Dec 2016 04:28:04 -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> <5860DB5D.40701@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: <5860E23F.50705@huawei.com> Date: Mon, 26 Dec 2016 17:26:23 +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: <5860DB5D.40701@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: 4715 Lines: 116 Hi: ?? 2016/12/26 16:57, majun (Euler7) д??: > Hi Hanjun: > This patch set works fine on my Hisilicon D05 board. > Feel free to add Based on the Patch 1/3, 2/3 of [PATCH V9 0/3] irqchip: qcom: Add IRQ combiner driver from Agustin Vega-Frias https://lwn.net/Articles/709222/ > 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(-) >> > > > . >