From patchwork Tue Jul 23 10:44:28 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marc Zyngier X-Patchwork-Id: 11054293 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 1C41413AC for ; Tue, 23 Jul 2019 10:44:54 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 093F31FFBE for ; Tue, 23 Jul 2019 10:44:54 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id F0E272838F; Tue, 23 Jul 2019 10:44:53 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 9FAEA1FFBE for ; Tue, 23 Jul 2019 10:44:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:To :From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=eBirN3pOqzWdxBYjcjDeU4OTJE0pUh1RWcUsy1qfDgI=; b=Ogk7irWd2b/ePx AozcROVmLhG0SvZpw7Vi150NVghY57b2QJBBFY1LLO3lGi9u+wdrjFRruRwnZM7U7r3qTA2Vlqg7K rAc1oBXxR79THLewG5pd6kedkKp4Jc2/vR0NfdCyY+4ikdeuPDF/AroXaBUssaNooNqS94zAaSzSv 1+e/PMajhdCjaxI/JFmntIeL+ixKmX6K0pdDAvmMECAZ70R72ShiMz4i27BFwlK6SIaGowaA0wyV9 jX6ogW2NVAXCyBE/mwo00XP8mRCbx6js9jJ8AsqJgtWPQSYzaRk+VrbkGEUOwmgpC7NekCTD9Qk7P azgrThWLQ9j1xI4RMfhw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92 #3 (Red Hat Linux)) id 1hpsHt-0006WL-2w; Tue, 23 Jul 2019 10:44:53 +0000 Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.92 #3 (Red Hat Linux)) id 1hpsHo-0006Ut-Gh for linux-arm-kernel@lists.infradead.org; Tue, 23 Jul 2019 10:44:49 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 2E51D337; Tue, 23 Jul 2019 03:44:47 -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 441A73F71A; Tue, 23 Jul 2019 03:44:46 -0700 (PDT) From: Marc Zyngier To: Thomas Gleixner , Jason Cooper , Julien Thierry , Rob Herring Subject: [PATCH 0/9] irqchip/gic-v3: Add support for GICv3.1 extended PPI/SPI ranges Date: Tue, 23 Jul 2019 11:44:28 +0100 Message-Id: <20190723104437.154403-1-maz@kernel.org> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190723_034448_596798_26CBBEDF X-CRM114-Status: GOOD ( 10.16 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP Apparently, having ~1000 wired interrupts is not enough, and some people need more. Fear not! The GIC Achitecture Department hereby grants you another 1024 SPIs, together with 64 PPIs, provided that you implement GICv3.1 (see [1] for the details) This series implements the required support, which requires a bit of infrastructure rework in order to make the thing less horrible... This has been tested on a FastModel. [1] https://developer.arm.com/docs/ihi0069/latest (version E) Marc Zyngier (9): irqchip/gic: Rework gic_configure_irq to take the full ICFGR base irqchip/gic-v3: Add INTID range and convertion primitives dt-bindings: interrupt-controller: arm,gic-v3: Describe ESPI range support irqchip/gic-v3: Add ESPI range support irqchip/gic: Prepare for more than 16 PPIs irqchip/gic-v3: Dynamically allocate PPI NMI refcounts irqchip/gic-v3: Dynamically allocate PPI partition descriptors dt-bindings: interrupt-controller: arm,gic-v3: Describe EPPI range support irqchip/gic-v3: Add EPPI range support .../interrupt-controller/arm,gic-v3.yaml | 6 +- drivers/irqchip/irq-gic-common.c | 33 +- drivers/irqchip/irq-gic-common.h | 2 +- drivers/irqchip/irq-gic-v3.c | 323 ++++++++++++++---- drivers/irqchip/irq-gic.c | 12 +- drivers/irqchip/irq-hip04.c | 9 +- include/linux/irqchip/arm-gic-v3.h | 29 +- 7 files changed, 319 insertions(+), 95 deletions(-)