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 X-Spam-Level: X-Spam-Status: No, score=-19.7 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A99CBC433B4 for ; Thu, 6 May 2021 15:34:28 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 6C0FC610C8 for ; Thu, 6 May 2021 15:34:28 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235757AbhEFPeK (ORCPT ); Thu, 6 May 2021 11:34:10 -0400 Received: from mail.kernel.org ([198.145.29.99]:45974 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235569AbhEFPdt (ORCPT ); Thu, 6 May 2021 11:33:49 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id E5B4C61492; Thu, 6 May 2021 15:32:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1620315171; bh=aFz0PFRzNP3wjEbTBW+rHPZjGLu0vSW7VtIiwAyNHNc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=OxYRibS40Y+CZI4MoUELH9lWQ8j2mwyO/xAYa5r57x9HG7QjwBnWqqgF571Cj2Qh3 pO73bc6cDOzKIfndLOMgGZLgyXOHNDDGbsh6qod1XC1kgAouWp+b6kr4Qz52QMXO+o EOWfiBlZriNhtdAHZYOEMyCZdrP0nk0SHT3cCskKdv7xSeEUOy13iMNND+vJQN3P3X xrEzr93HeKB/krSkh3etvcp/xvgyhf8S+DmRHDhsenNWMsQ5pJoM4uYYMc4OEKE/No RcNqBH11zYEfdzz0dqTSatu4eBcLTS0RFw2Zdoc88+LulQSS0LFXEXY6GDY415sxei UAzv7yVZ9CfPA== Received: by pali.im (Postfix) id 9F939732; Thu, 6 May 2021 17:32:50 +0200 (CEST) From: =?UTF-8?q?Pali=20Roh=C3=A1r?= To: Lorenzo Pieralisi , Thomas Petazzoni , Rob Herring , Bjorn Helgaas Cc: Russell King , =?UTF-8?q?Marek=20Beh=C3=BAn?= , Remi Pommarel , Xogium , Tomasz Maciej Nowak , Marc Zyngier , linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 22/42] PCI: aardvark: Enable MSI-X support Date: Thu, 6 May 2021 17:31:33 +0200 Message-Id: <20210506153153.30454-23-pali@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210506153153.30454-1-pali@kernel.org> References: <20210506153153.30454-1-pali@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 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. The write operation for MSI-X contains a 32-bit value from MSI-X table. This means that when MSI-X uses only a 16-bit value, the MSI-X message can be captured by aardvark MSI doorbell address processing. Therefore aardvark HW should also support MSI-X interrupts, despite Armada 3700 Functional Specification not mentioning anything about how to configure PCIe for MSI-X interrupts. (Note that the specification says that MSI-X is supported, it just does not say explicitly how to enable it.) Since pci-aardvark.c driver now supports receiving MSI interrupt with any 16-bit number, enable also MSI-X support. Testing proved 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 Reviewed-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 376f0666becc..8a5133226e41 100644 --- a/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c @@ -1082,7 +1082,7 @@ static int advk_pcie_init_msi_irq_domain(struct advk_pcie *pcie) msi_di = &pcie->msi_domain_info; msi_di->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; msi_di->chip = msi_ic; /* -- 2.20.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 X-Spam-Level: X-Spam-Status: No, score=-17.7 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DABE0C43460 for ; Thu, 6 May 2021 16:03:53 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 72FB461168 for ; Thu, 6 May 2021 16:03:53 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 72FB461168 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; 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=xYj/YKnvW1dqrDj/I8Y+H4YDOaNETwqbTfJKutxyFoM=; b=hP60xjFXlqJG+efu+UKBi3H3d bWiZ+xsy7XFw394pbwzOxoylHYvlOsi+0Sa9Wr2c3aaCuEs2N0X4+/iAY1M71im11LtBXGDGw4+k5 YUpwK805vecrPXLlZL5S+/nE6thXL3W0CQoQBUKqoObf5fqe1KwdAeo4xfvGBUZxIW0FCoUqwMMCf ze0jdKxpqqL8Ez53bQKbUQh1Yboh+fJf1EAPXS79qIfZ/2t3s0lqh8zYZHnfYt1XE66zLaNyfSXRq Cn+leWZafwPxxJ0gOakll+G/h6nNoCmJcEYpluGl1CeKH7p3KQPF6bfftP8IqrULlx4Kj0ND6vCrZ AlDhFrY1g==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1legAD-004doo-2F; Thu, 06 May 2021 15:43:45 +0000 Received: from bombadil.infradead.org ([2607:7c80:54:e::133]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lefzo-004a6w-Lq for linux-arm-kernel@desiato.infradead.org; Thu, 06 May 2021 15:33:00 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: Content-Type:MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc: To:From:Sender:Reply-To:Content-ID:Content-Description; bh=wJrO+Jr0mRZaQuGgZMDRCb5XKmjeGp6M8yxovuwQXHk=; b=zNYaK6QPAvPWy4MK4ptI5jaUNJ FU+s/hl45LXuGGfiOjIe5oEl+BCR8CDzU9FioVMsznY7VP+nKaEgWprHufBg2p/+yVsuIqIRqKBAU F57N3Eyp27kGPuHFiPhcaAHQnV4qFx/fY0tSquq3tFIonna8DI1Vz+B4MkHRGsvMW74wgQuk65Y+a cjsWBZKlcxmCZ+B5L5kS06JVjIlOBgenmbhHr3g5V9fcScokAsCKLJgOcqKifgZaHH/UN0cBkGh6Z 9SkH35URcb/WVNx3sm5VNyzY1sNvGx/OLLVrUXKNwtZAd6oDdUCeYvAGXqyJr0XQVlwvknHf820Qv HpH+ZGKw==; Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lefzi-0069ha-9j for linux-arm-kernel@lists.infradead.org; Thu, 06 May 2021 15:32:59 +0000 Received: by mail.kernel.org (Postfix) with ESMTPSA id E5B4C61492; Thu, 6 May 2021 15:32:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1620315171; bh=aFz0PFRzNP3wjEbTBW+rHPZjGLu0vSW7VtIiwAyNHNc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=OxYRibS40Y+CZI4MoUELH9lWQ8j2mwyO/xAYa5r57x9HG7QjwBnWqqgF571Cj2Qh3 pO73bc6cDOzKIfndLOMgGZLgyXOHNDDGbsh6qod1XC1kgAouWp+b6kr4Qz52QMXO+o EOWfiBlZriNhtdAHZYOEMyCZdrP0nk0SHT3cCskKdv7xSeEUOy13iMNND+vJQN3P3X xrEzr93HeKB/krSkh3etvcp/xvgyhf8S+DmRHDhsenNWMsQ5pJoM4uYYMc4OEKE/No RcNqBH11zYEfdzz0dqTSatu4eBcLTS0RFw2Zdoc88+LulQSS0LFXEXY6GDY415sxei UAzv7yVZ9CfPA== Received: by pali.im (Postfix) id 9F939732; Thu, 6 May 2021 17:32:50 +0200 (CEST) From: =?UTF-8?q?Pali=20Roh=C3=A1r?= To: Lorenzo Pieralisi , Thomas Petazzoni , Rob Herring , Bjorn Helgaas Cc: Russell King , =?UTF-8?q?Marek=20Beh=C3=BAn?= , Remi Pommarel , Xogium , Tomasz Maciej Nowak , Marc Zyngier , linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 22/42] PCI: aardvark: Enable MSI-X support Date: Thu, 6 May 2021 17:31:33 +0200 Message-Id: <20210506153153.30454-23-pali@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210506153153.30454-1-pali@kernel.org> References: <20210506153153.30454-1-pali@kernel.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210506_083254_420915_33BD301B X-CRM114-Status: GOOD ( 14.05 ) 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 QWNjb3JkaW5nIHRvIFBDSSAzLjAgc3BlY2lmaWNhdGlvbiwgc2VuZGluZyBib3RoIE1TSSBhbmQg TVNJLVggaW50ZXJydXB0cwppcyBkb25lIGJ5IERXT1JEIG1lbW9yeSB3cml0ZSBvcGVyYXRpb24g dG8gZG9vcmJlbGwgbWVzc2FnZSBhZGRyZXNzLiBUaGUKd3JpdGUgb3BlcmF0aW9uIGZvciBNU0kg aGFzIHplcm8gdXBwZXIgMTYgYml0cyBhbmQgdGhlIE1TSSBpbnRlcnJ1cHQgbnVtYmVyCmluIHRo ZSBsb3dlciAxNiBiaXRzLiBUaGUgd3JpdGUgb3BlcmF0aW9uIGZvciBNU0ktWCBjb250YWlucyBh IDMyLWJpdCB2YWx1ZQpmcm9tIE1TSS1YIHRhYmxlLgoKVGhpcyBtZWFucyB0aGF0IHdoZW4gTVNJ LVggdXNlcyBvbmx5IGEgMTYtYml0IHZhbHVlLCB0aGUgTVNJLVggbWVzc2FnZSBjYW4KYmUgY2Fw dHVyZWQgYnkgYWFyZHZhcmsgTVNJIGRvb3JiZWxsIGFkZHJlc3MgcHJvY2Vzc2luZy4gVGhlcmVm b3JlIGFhcmR2YXJrCkhXIHNob3VsZCBhbHNvIHN1cHBvcnQgTVNJLVggaW50ZXJydXB0cywgZGVz cGl0ZSBBcm1hZGEgMzcwMCBGdW5jdGlvbmFsClNwZWNpZmljYXRpb24gbm90IG1lbnRpb25pbmcg YW55dGhpbmcgYWJvdXQgaG93IHRvIGNvbmZpZ3VyZSBQQ0llIGZvciBNU0ktWAppbnRlcnJ1cHRz LiAoTm90ZSB0aGF0IHRoZSBzcGVjaWZpY2F0aW9uIHNheXMgdGhhdCBNU0ktWCBpcyBzdXBwb3J0 ZWQsIGl0Cmp1c3QgZG9lcyBub3Qgc2F5IGV4cGxpY2l0bHkgaG93IHRvIGVuYWJsZSBpdC4pCgpT aW5jZSBwY2ktYWFyZHZhcmsuYyBkcml2ZXIgbm93IHN1cHBvcnRzIHJlY2VpdmluZyBNU0kgaW50 ZXJydXB0IHdpdGggYW55CjE2LWJpdCBudW1iZXIsIGVuYWJsZSBhbHNvIE1TSS1YIHN1cHBvcnQu CgpUZXN0aW5nIHByb3ZlZCB0aGF0IGtlcm5lbCBjYW4gY29ycmVjdGx5IHJlY2VpdmUgTVNJLVgg aW50ZXJydXB0cyBmcm9tIFBDSWUKY2FyZHMgd2hpY2ggc3VwcG9ydHMgYm90aCBNU0kgYW5kIE1T SS1YIGludGVycnVwdHMuCgpTaWduZWQtb2ZmLWJ5OiBQYWxpIFJvaMOhciA8cGFsaUBrZXJuZWwu b3JnPgpSZXZpZXdlZC1ieTogTWFyZWsgQmVow7puIDxrYWJlbEBrZXJuZWwub3JnPgotLS0KIGRy aXZlcnMvcGNpL2NvbnRyb2xsZXIvcGNpLWFhcmR2YXJrLmMgfCAyICstCiAxIGZpbGUgY2hhbmdl ZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL3Bj aS9jb250cm9sbGVyL3BjaS1hYXJkdmFyay5jIGIvZHJpdmVycy9wY2kvY29udHJvbGxlci9wY2kt YWFyZHZhcmsuYwppbmRleCAzNzZmMDY2NmJlY2MuLjhhNTEzMzIyNmU0MSAxMDA2NDQKLS0tIGEv ZHJpdmVycy9wY2kvY29udHJvbGxlci9wY2ktYWFyZHZhcmsuYworKysgYi9kcml2ZXJzL3BjaS9j b250cm9sbGVyL3BjaS1hYXJkdmFyay5jCkBAIC0xMDgyLDcgKzEwODIsNyBAQCBzdGF0aWMgaW50 IGFkdmtfcGNpZV9pbml0X21zaV9pcnFfZG9tYWluKHN0cnVjdCBhZHZrX3BjaWUgKnBjaWUpCiAK IAltc2lfZGkgPSAmcGNpZS0+bXNpX2RvbWFpbl9pbmZvOwogCW1zaV9kaS0+ZmxhZ3MgPSBNU0lf RkxBR19VU0VfREVGX0RPTV9PUFMgfCBNU0lfRkxBR19VU0VfREVGX0NISVBfT1BTIHwKLQkJTVNJ X0ZMQUdfTVVMVElfUENJX01TSTsKKwkJCU1TSV9GTEFHX01VTFRJX1BDSV9NU0kgfCBNU0lfRkxB R19QQ0lfTVNJWDsKIAltc2lfZGktPmNoaXAgPSBtc2lfaWM7CiAKIAkvKgotLSAKMi4yMC4xCgoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJt LWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3Jn Cmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtl cm5lbAo=