From patchwork Mon Jan 10 01:49:55 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Marek_Beh=C3=BAn?= X-Patchwork-Id: 12708063 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 98492C433EF for ; Mon, 10 Jan 2022 01:52:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:Cc :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=FElEKGV8PO2rjOQhs5JPrz3vbG8GMg/yiAzok9yWJeA=; b=o2fmm4g0x1RhLP qyLTIPT9ib4qw01F5+e83nEJcIFJ0wXxdzfUW68Hq9o2XWZIvNZ4Tt8RgFA9UeKnWtR8R2kVoFcu3 Tql5yZgpGR00s448Tq7SZ6qPQGLm1naYJ8DvNTDLoWHi/wx5+yMssTuGSjPuK+UvVJCQmaNMMx8E6 en1sT6fB+tWVOQnhEnf5uY7aCo+lVqhEw/ARv/3UYwrTsVuZg5JSGbpd1KRB7YsstVNvfV/wQDwXB bwuXdJ7yyt2QKJblFmyVGP7rKS17sZomL27NgDA/jxLpWUUex76w/9NISg26EdEwquHLwhXvzGt+j iZ+QYRGR1v9ImU5odQhg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1n6jpO-008laG-G6; Mon, 10 Jan 2022 01:50:30 +0000 Received: from dfw.source.kernel.org ([139.178.84.217]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1n6jpK-008lYo-0h for linux-arm-kernel@lists.infradead.org; Mon, 10 Jan 2022 01:50:27 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id DD0DC60EE9; Mon, 10 Jan 2022 01:50:24 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8C978C36AE3; Mon, 10 Jan 2022 01:50:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1641779424; bh=B7sfen2UllzsVBzAuAws7MqogCv0oaPUjCj0ZlnHL0w=; h=From:To:Cc:Subject:Date:From; b=Nl5aBrsv1eSEgqfb9C4lv4zeCcYmPLIli/odFOs+PHOlZXKJ3CaOmBHFmRPR6HlR3 zWQY4kuoRXRH/OmLEndiZuy62YfZ1EsnxiN5pDgcC0oIzdeLf5XWt6fOmR2eWU8sA4 h8dXx1irCOWHqrVSABTOa75HYltItv9j9+f4VigAizR18FFUGicfWLmbXxs9bL54b5 DUX2RbOskVCVgwzYYxrwmGRbst0rbl8mLCgFQUaarsqyXnJelj+Hyc8uh+hNw6zBwu PUFu8k82laIi8+pY0Lso19mzA+lR8KdigFZfVcB9en0W3aE/lyHyzDxYP0wsSmjztp eKDS0OHF0NknQ== From: =?utf-8?q?Marek_Beh=C3=BAn?= To: Marc Zyngier , Lorenzo Pieralisi , Bjorn Helgaas Cc: pali@kernel.org, linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, =?utf-8?q?Marek_Beh=C3=BAn?= Subject: [PATCH v2 00/23] PCI: aardvark controller fixes BATCH 4 Date: Mon, 10 Jan 2022 02:49:55 +0100 Message-Id: <20220110015018.26359-1-kabel@kernel.org> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220109_175026_185588_5C728C52 X-CRM114-Status: GOOD ( 12.60 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Hello Lorenzo, Bjorn and Marc, this is v2 of fourth batch of fixes for the Aardvark PCIe controller driver. Stuff is converted to new interrupt APIs and recommendations from Marc. Marc, could you look at these and acknowledge or comment? This series mainly fixes and adds support for stuff around interrupts: the most important thing is fixing MSI support. The series is rebased on helgaas/next. Marek Changes since v1: - added patches converting irq_chip and msi_domain_info structures into static driver structures, instead of creating them dynamically, as suggested by Marc - added some small patches that should be easy to review - conversion to use constants from linux/pci.h instead of ad-hoc constants int patch 1 - use dev_fwnode(dev) instead of of_node_to_fwnode(dev->of_node) in patch 8 - fix of a comment in patch 22 Marek Behún (6): PCI: aardvark: Make MSI irq_chip structures static driver structures PCI: aardvark: Make msi_domain_info structure a static driver structure PCI: aardvark: Use dev_fwnode() instead of of_node_to_fwnode(dev->of_node) PCI: aardvark: Drop __maybe_unused from advk_pcie_disable_phy() PCI: aardvark: Update comment about link going down after link-up PCI: aardvark: Make main irq_chip structure a static driver structure Pali Rohár (17): PCI: aardvark: Replace custom PCIE_CORE_INT_* macros with PCI_INTERRUPT_* PCI: aardvark: Fix reading MSI interrupt number PCI: aardvark: Fix support for MSI interrupts PCI: aardvark: Rewrite IRQ code to chained IRQ handler PCI: aardvark: Check return value of generic_handle_domain_irq() when processing INTx IRQ PCI: aardvark: Refactor unmasking summary MSI interrupt PCI: aardvark: Add support for masking MSI interrupts PCI: aardvark: Fix setting MSI address PCI: aardvark: Enable MSI-X support PCI: aardvark: Add support for ERR interrupt on emulated bridge PCI: aardvark: Fix reading PCI_EXP_RTSTA_PME bit on emulated bridge PCI: aardvark: Optimize writing PCI_EXP_RTCTL_PMEIE and PCI_EXP_RTSTA_PME on emulated bridge PCI: aardvark: Add support for PME interrupts PCI: aardvark: Fix support for PME requester on emulated bridge PCI: aardvark: Use separate INTA interrupt for emulated root bridge PCI: aardvark: Remove irq_mask_ack callback for INTx interrupts PCI: aardvark: Don't mask irq when mapping drivers/pci/controller/pci-aardvark.c | 415 +++++++++++++++++--------- 1 file changed, 281 insertions(+), 134 deletions(-)