From mboxrd@z Thu Jan 1 00:00:00 1970 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A7DEDC433EF for ; Mon, 10 Jan 2022 01:51:02 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238001AbiAJBvB (ORCPT ); Sun, 9 Jan 2022 20:51:01 -0500 Received: from dfw.source.kernel.org ([139.178.84.217]:59410 "EHLO dfw.source.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238005AbiAJBuu (ORCPT ); Sun, 9 Jan 2022 20:50:50 -0500 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 5D9A660EC8 for ; Mon, 10 Jan 2022 01:50:49 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 11354C36AEF; Mon, 10 Jan 2022 01:50:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1641779448; bh=kenahD9QHhI1ZQq8ramyEU8rD91TP+pCdQ2TzwL2+08=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=rjVn1l3RG6FujezCoqPcY6xIbm2QfHQOlsxanIaMWlkGvg5FNTiRdNb6b3N9foyH1 sIfGQoWNOrXqmS4Ppoj1WRPXGiFLapIcqD+kfKEGjD84TNtX5CSbdNU/oHyLx4DYg1 JUm3pBafCtWLdR6+QZq8PNOifwao2Gi+BE2gRlKcMnte2CNYvv9CxnY1Crh97WWfWf Axu9Qw4qavXzadNtJt2yXTnZ5fDIqlJjUOPuaUqVRwOoHrAmUaM1UbAe0GQJmQ0/JN rE1fM/kaniTOULXhfQPfYOOc3xH7ts9REdwNKSMyMyH3jl8and5V291sRtPHqeHyzc 5Rjf2nUeNQl4Q== From: =?UTF-8?q?Marek=20Beh=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=20Beh=C3=BAn?= Subject: [PATCH v2 12/23] PCI: aardvark: Enable MSI-X support Date: Mon, 10 Jan 2022 02:50:07 +0100 Message-Id: <20220110015018.26359-13-kabel@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220110015018.26359-1-kabel@kernel.org> References: <20220110015018.26359-1-kabel@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org From: Pali Rohár According to PCI 3.0 specification, sending both MSI and MSI-X interrupts is done by DWORD memory write operation to doorbell message address. The write operation for MSI has zero upper 16 bits and the MSI interrupt number in the lower 16 bits, while the write operation for MSI-X contains a 32-bit value from MSI-X table. Since the driver only uses interrupt numbers from range 0..31, the upper 16 bits of the DWORD memory write operation to doorbell message address are zero even for MSI-X interrupts. Thus we can enable MSI-X interrupts. Testing proves that kernel can correctly receive MSI-X interrupts from PCIe cards which supports both MSI and MSI-X interrupts. Signed-off-by: Pali Rohár Signed-off-by: Marek Behún --- drivers/pci/controller/pci-aardvark.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c index 79102704d82f..a892f22510da 100644 --- a/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c @@ -1344,7 +1344,7 @@ static struct irq_chip advk_msi_irq_chip = { static struct msi_domain_info advk_msi_domain_info = { .flags = MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS | - MSI_FLAG_MULTI_PCI_MSI, + MSI_FLAG_MULTI_PCI_MSI | MSI_FLAG_PCI_MSIX, .chip = &advk_msi_irq_chip, }; -- 2.34.1 From mboxrd@z Thu Jan 1 00:00:00 1970 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 B9F40C433F5 for ; Mon, 10 Jan 2022 01:56:06 +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:References:In-Reply-To: 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: List-Owner; bh=LrN4aC4xBjLgk4WyHYwm87h1j6T5N31XHzcKwNRkq7I=; b=eq1fGO1zqSInjh zD39xAyPDztvIAtt9N2y0Ry7O1nUFHQq+OIMTa4LeLQuBQSfzMI1UZlYstTQgV987PqU7lpllr0zt ypah3xGpA/TwRDX10sJg3eULJCPA/1guEkTr7Ha4rqGdSuMXhbLVbBkCacc4EYXZz1XcygcJaOAZT hD3tURolCmCGsOZliVCGi7iE6KuTxrUeOvEt/Lbe3lsirwSkY5Y7aYOZ/zozEhU7CojfhiDFekCEY cDw+Hhy9onyu8QPIwhM6NqUGhjo1wnhvHKYZ/FxI6Ki7ySeL1p11roMkkVegGCv2TmXAydAp93lSg hmP+ZFaJakbJwhYrcZOg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1n6jtS-008o75-EM; Mon, 10 Jan 2022 01:54:42 +0000 Received: from ams.source.kernel.org ([2604:1380:4601:e00::1]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1n6jpj-008ljW-4e for linux-arm-kernel@lists.infradead.org; Mon, 10 Jan 2022 01:50:52 +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 ams.source.kernel.org (Postfix) with ESMTPS id DFE65B8111B; Mon, 10 Jan 2022 01:50:49 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 11354C36AEF; Mon, 10 Jan 2022 01:50:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1641779448; bh=kenahD9QHhI1ZQq8ramyEU8rD91TP+pCdQ2TzwL2+08=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=rjVn1l3RG6FujezCoqPcY6xIbm2QfHQOlsxanIaMWlkGvg5FNTiRdNb6b3N9foyH1 sIfGQoWNOrXqmS4Ppoj1WRPXGiFLapIcqD+kfKEGjD84TNtX5CSbdNU/oHyLx4DYg1 JUm3pBafCtWLdR6+QZq8PNOifwao2Gi+BE2gRlKcMnte2CNYvv9CxnY1Crh97WWfWf Axu9Qw4qavXzadNtJt2yXTnZ5fDIqlJjUOPuaUqVRwOoHrAmUaM1UbAe0GQJmQ0/JN rE1fM/kaniTOULXhfQPfYOOc3xH7ts9REdwNKSMyMyH3jl8and5V291sRtPHqeHyzc 5Rjf2nUeNQl4Q== From: =?UTF-8?q?Marek=20Beh=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=20Beh=C3=BAn?= Subject: [PATCH v2 12/23] PCI: aardvark: Enable MSI-X support Date: Mon, 10 Jan 2022 02:50:07 +0100 Message-Id: <20220110015018.26359-13-kabel@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220110015018.26359-1-kabel@kernel.org> References: <20220110015018.26359-1-kabel@kernel.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220109_175051_348789_22B04219 X-CRM114-Status: GOOD ( 15.19 ) 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: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org RnJvbTogUGFsaSBSb2jDoXIgPHBhbGlAa2VybmVsLm9yZz4KCkFjY29yZGluZyB0byBQQ0kgMy4w IHNwZWNpZmljYXRpb24sIHNlbmRpbmcgYm90aCBNU0kgYW5kIE1TSS1YIGludGVycnVwdHMKaXMg ZG9uZSBieSBEV09SRCBtZW1vcnkgd3JpdGUgb3BlcmF0aW9uIHRvIGRvb3JiZWxsIG1lc3NhZ2Ug YWRkcmVzcy4gVGhlCndyaXRlIG9wZXJhdGlvbiBmb3IgTVNJIGhhcyB6ZXJvIHVwcGVyIDE2IGJp dHMgYW5kIHRoZSBNU0kgaW50ZXJydXB0IG51bWJlcgppbiB0aGUgbG93ZXIgMTYgYml0cywgd2hp bGUgdGhlIHdyaXRlIG9wZXJhdGlvbiBmb3IgTVNJLVggY29udGFpbnMgYSAzMi1iaXQKdmFsdWUg ZnJvbSBNU0ktWCB0YWJsZS4KClNpbmNlIHRoZSBkcml2ZXIgb25seSB1c2VzIGludGVycnVwdCBu dW1iZXJzIGZyb20gcmFuZ2UgMC4uMzEsIHRoZSB1cHBlcgoxNiBiaXRzIG9mIHRoZSBEV09SRCBt ZW1vcnkgd3JpdGUgb3BlcmF0aW9uIHRvIGRvb3JiZWxsIG1lc3NhZ2UgYWRkcmVzcwphcmUgemVy byBldmVuIGZvciBNU0ktWCBpbnRlcnJ1cHRzLiBUaHVzIHdlIGNhbiBlbmFibGUgTVNJLVggaW50 ZXJydXB0cy4KClRlc3RpbmcgcHJvdmVzIHRoYXQga2VybmVsIGNhbiBjb3JyZWN0bHkgcmVjZWl2 ZSBNU0ktWCBpbnRlcnJ1cHRzIGZyb20gUENJZQpjYXJkcyB3aGljaCBzdXBwb3J0cyBib3RoIE1T SSBhbmQgTVNJLVggaW50ZXJydXB0cy4KClNpZ25lZC1vZmYtYnk6IFBhbGkgUm9ow6FyIDxwYWxp QGtlcm5lbC5vcmc+ClNpZ25lZC1vZmYtYnk6IE1hcmVrIEJlaMO6biA8a2FiZWxAa2VybmVsLm9y Zz4KLS0tCiBkcml2ZXJzL3BjaS9jb250cm9sbGVyL3BjaS1hYXJkdmFyay5jIHwgMiArLQogMSBm aWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9wY2kvY29udHJvbGxlci9wY2ktYWFyZHZhcmsuYyBiL2RyaXZlcnMvcGNpL2NvbnRy b2xsZXIvcGNpLWFhcmR2YXJrLmMKaW5kZXggNzkxMDI3MDRkODJmLi5hODkyZjIyNTEwZGEgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvcGNpLWFhcmR2YXJrLmMKKysrIGIvZHJp dmVycy9wY2kvY29udHJvbGxlci9wY2ktYWFyZHZhcmsuYwpAQCAtMTM0NCw3ICsxMzQ0LDcgQEAg c3RhdGljIHN0cnVjdCBpcnFfY2hpcCBhZHZrX21zaV9pcnFfY2hpcCA9IHsKIAogc3RhdGljIHN0 cnVjdCBtc2lfZG9tYWluX2luZm8gYWR2a19tc2lfZG9tYWluX2luZm8gPSB7CiAJLmZsYWdzCT0g TVNJX0ZMQUdfVVNFX0RFRl9ET01fT1BTIHwgTVNJX0ZMQUdfVVNFX0RFRl9DSElQX09QUyB8Ci0J CSAgTVNJX0ZMQUdfTVVMVElfUENJX01TSSwKKwkJICBNU0lfRkxBR19NVUxUSV9QQ0lfTVNJIHwg TVNJX0ZMQUdfUENJX01TSVgsCiAJLmNoaXAJPSAmYWR2a19tc2lfaXJxX2NoaXAsCiB9OwogCi0t IAoyLjM0LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmlu ZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9s aW51eC1hcm0ta2VybmVsCg==