Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp626023yba; Fri, 3 May 2019 07:56:36 -0700 (PDT) X-Google-Smtp-Source: APXvYqzw0TTUbqRBP8LM/fP/h5yLyE2l3K9YGpAdVLAndG/mIq7gsisquZeozmBFL8zari6mFSL5 X-Received: by 2002:a63:1055:: with SMTP id 21mr10725942pgq.200.1556895396557; Fri, 03 May 2019 07:56:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1556895396; cv=none; d=google.com; s=arc-20160816; b=pDb4LFeHv90P107sh82PEVxoQsGVgehLMJakG28t/uvCnfh+KPuBKbSYgZNGwFSh04 zO6EWanWx5gycVqvOgwHe9uiR2m8OYw7z1RIrJQU1P2dFR9dm7LaHhkZJ+vaIO21fVh5 1XCKp9ThzLDUpu5X4Mm3sMMFWzVr7rdr6GuOyPlbIv1QS3ypDKGs1zCRM9I+ptmSIAWk fBpLwMsO+U08Pf/5PCvqESc9Bwju0LJ47Ua3G8WaHfszKanqNYLXah8jHk37VbRukLRD ydIWLbhj6Z7jO+McRME0A5Lgi66J6v1CUbMhmm/hiM7YcQpeCKcmvcYGDTD34hhJxBmC Uo+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=7FIxIIJxAS546Kk5ga3yQxDBcOnx52CpwFqS8N9bkOU=; b=WuJkh4XRfD1bDN5KwC09BEF9pWTIMg99mLOgrif++CyfOZ4L8eK1LHapNJJB+Ed5Zq jtsbuEObRIHL/yF0McDHHjXSmkqvNvGtIdrkpMzam/nawxqfbLdW/DPOb/HBKJoEuBcL GZ6SuTZMPgK7TKn2OfcLOj1R0b6QeeqsmnUhG4iUfSY8iN6Gh8dbmenh3yS1Zd8j5neW I+sLstrjrvOCQDypJE8DwNRET7LAvza7aURFDyz9lgBgeV/AxlwGj8vvT1Oad84/yJFK Za5icdXkA4ko3dob6GSGwgsPpdWFVs//kIn8O8tVolWD/hvHuFNXXjxnJAUjHFcBOdJ1 4XJQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id s5si2497226pfm.234.2019.05.03.07.56.20; Fri, 03 May 2019 07:56:36 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728125AbfECOy1 (ORCPT + 99 others); Fri, 3 May 2019 10:54:27 -0400 Received: from usa-sjc-mx-foss1.foss.arm.com ([217.140.101.70]:35272 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727091AbfECOy1 (ORCPT ); Fri, 3 May 2019 10:54:27 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 20B38374; Fri, 3 May 2019 07:54:27 -0700 (PDT) Received: from filthy-habits.cambridge.arm.com (filthy-habits.cambridge.arm.com [10.1.197.61]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 43B8C3F5C1; Fri, 3 May 2019 07:54:23 -0700 (PDT) From: Marc Zyngier To: Thomas Gleixner Cc: Anson Huang , Eric Auger , Fabien Dessenne , Florian Fainelli , Geert Uytterhoeven , Grygorii Strashko , Hongbo Yao , Joerg Roedel , Jonathan Hunter , Julien Grall , Linus Walleij , Lokesh Vutla , Mohan Kumar D , Nishanth Menon , Peter Ujfalusi , Rasmus Villemoes , Rob Herring , Robin Murphy , Sameer Pujar , Tony Lindgren , Jason Cooper , linux-kernel@vger.kernel.org Subject: [GIT PULL] irqchip updates for 5.2 Date: Fri, 3 May 2019 15:54:02 +0100 Message-Id: <20190503145402.52365-1-marc.zyngier@arm.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Thomas, Here's the set of irqchip (and related) updates for 5.2. The main offenders are the TI SCI drivers, which we've finally managed to fit in the MSI framework. It comes with its own firmware interface, hence some touching some files outside of the usual areas. Another one is the revamp of the IOMMU MSI mapping API, which is now RT friendly (the relevant IOMMU changes have been acked by Joerg). Also, the stm32mp1-exti has been rewritten to be be able to deal with probe deferral. The rest is a motley crew of smaller cleanups and fixes. Please pull, M. The following changes since commit dc4060a5dc2557e6b5aa813bf5b73677299d62d2: Linux 5.1-rc5 (2019-04-14 15:17:41 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git tags/irqchip-5.2 for you to fetch changes up to 16e32c3cde7763ab875b9030b443ecbc8e352d8a: iommu/dma-iommu: Remove iommu_dma_map_msi_msg() (2019-05-03 15:30:23 +0100) ---------------------------------------------------------------- irqchip updates for 5.2 - The huge (and terrifying) TI INTR/INTA set of drivers - Rewrite of the stm32mp1-exti driver as a platform driver - Update the IOMMU MSI mapping API to be RT friendly - A number of cleanups and other low impact fixes ---------------------------------------------------------------- Anson Huang (1): irqchip/imx-irqsteer: Use devm_platform_ioremap_resource() to simplify code Fabien Dessenne (1): irqchip/stm32: Use a platform driver for stm32mp1-exti device Florian Fainelli (1): irqchip/bcm: Restore registration print with %pOF Geert Uytterhoeven (2): irqchip: Remove unneeded select IRQ_DOMAIN irqchip/renesas-intc-irqpin: Remove devm_kzalloc() error printing Grygorii Strashko (1): firmware: ti_sci: Add support to get TISCI handle using of_phandle Hongbo Yao (1): irqchip/gic-v3-its: fix some definitions of inner cacheability attributes Julien Grall (9): irqchip/gic-v3-its: Fix typo in a comment in its_msi_prepare() irq/irqdomain: Fix typo in the comment on top of __irq_domain_alloc_irqs() genirq/msi: Add a new field in msi_desc to store an IOMMU cookie iommu/dma-iommu: Split iommu_dma_map_msi_msg() in two parts irqchip/gicv2m: Don't map the MSI page in gicv2m_compose_msi_msg() irqchip/gic-v3-its: Don't map the MSI page in its_irq_compose_msi_msg() irqchip/ls-scfg-msi: Don't map the MSI page in ls_scfg_msi_compose_msg() irqchip/gic-v3-mbi: Don't map the MSI page in mbi_compose_m{b, s}i_msg() iommu/dma-iommu: Remove iommu_dma_map_msi_msg() Lokesh Vutla (12): firmware: ti_sci: Add support for RM core ops firmware: ti_sci: Add support for IRQ management firmware: ti_sci: Add helper apis to manage resources genirq: Introduce irq_chip_{request,release}_resource_parent() apis gpio: thunderx: Use the default parent apis for {request,release}_resources dt-bindings: irqchip: Introduce TISCI Interrupt router bindings irqchip/ti-sci-intr: Add support for Interrupt Router driver dt-bindings: irqchip: Introduce TISCI Interrupt Aggregator bindings irqchip/ti-sci-inta: Add support for Interrupt Aggregator driver soc: ti: Add MSI domain bus support for Interrupt Aggregator irqchip/ti-sci-inta: Add msi domain support arm64: arch_k3: Enable interrupt controller drivers Peter Ujfalusi (1): firmware: ti_sci: Add RM mapping table for am654 Rasmus Villemoes (3): irqchip/gic-v3-its: Move allocation outside mutex irqchip/gic-v3-its: Drop redundant initialization in mk_lpi_range irqchip/gic-v3-its: Make free_lpi_range a little cheaper Sameer Pujar (2): irqchip/gic-pm: Update driver to use clk_bulk APIs irqchip/gic-pm: Fix suspend handling .../devicetree/bindings/arm/keystone/ti,sci.txt | 3 +- .../bindings/interrupt-controller/ti,sci-inta.txt | 66 +++ .../bindings/interrupt-controller/ti,sci-intr.txt | 82 +++ MAINTAINERS | 6 + arch/arm64/Kconfig.platforms | 5 + drivers/firmware/ti_sci.c | 651 +++++++++++++++++++++ drivers/firmware/ti_sci.h | 102 ++++ drivers/gpio/gpio-thunderx.c | 16 +- drivers/iommu/Kconfig | 1 + drivers/iommu/dma-iommu.c | 48 +- drivers/irqchip/Kconfig | 27 +- drivers/irqchip/Makefile | 2 + drivers/irqchip/irq-bcm7038-l1.c | 3 + drivers/irqchip/irq-bcm7120-l2.c | 3 + drivers/irqchip/irq-brcmstb-l2.c | 2 + drivers/irqchip/irq-gic-pm.c | 76 +-- drivers/irqchip/irq-gic-v2m.c | 8 +- drivers/irqchip/irq-gic-v3-its.c | 84 +-- drivers/irqchip/irq-gic-v3-mbi.c | 10 +- drivers/irqchip/irq-imx-irqsteer.c | 4 +- drivers/irqchip/irq-ls-scfg-msi.c | 7 +- drivers/irqchip/irq-renesas-intc-irqpin.c | 4 +- drivers/irqchip/irq-stm32-exti.c | 233 +++++--- drivers/irqchip/irq-ti-sci-inta.c | 615 +++++++++++++++++++ drivers/irqchip/irq-ti-sci-intr.c | 275 +++++++++ drivers/soc/ti/Kconfig | 6 + drivers/soc/ti/Makefile | 1 + drivers/soc/ti/ti_sci_inta_msi.c | 146 +++++ include/linux/dma-iommu.h | 24 +- include/linux/irq.h | 2 + include/linux/irqchip/arm-gic-v3.h | 12 +- include/linux/irqdomain.h | 1 + include/linux/msi.h | 36 ++ include/linux/soc/ti/ti_sci_inta_msi.h | 23 + include/linux/soc/ti/ti_sci_protocol.h | 124 ++++ kernel/irq/Kconfig | 3 + kernel/irq/chip.c | 27 + kernel/irq/irqdomain.c | 2 +- 38 files changed, 2511 insertions(+), 229 deletions(-) create mode 100644 Documentation/devicetree/bindings/interrupt-controller/ti,sci-inta.txt create mode 100644 Documentation/devicetree/bindings/interrupt-controller/ti,sci-intr.txt create mode 100644 drivers/irqchip/irq-ti-sci-inta.c create mode 100644 drivers/irqchip/irq-ti-sci-intr.c create mode 100644 drivers/soc/ti/ti_sci_inta_msi.c create mode 100644 include/linux/soc/ti/ti_sci_inta_msi.h