Received: by 2002:a6b:500f:0:0:0:0:0 with SMTP id e15csp6194027iob; Tue, 10 May 2022 12:30:19 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy9fjPW2xSHplf5xN/cWdwKooyaCQ9ehDPayuZzseKSbOTgIRME079Rt+5kFo4nkcvNxQoT X-Received: by 2002:a65:604c:0:b0:3c6:a80d:ec60 with SMTP id a12-20020a65604c000000b003c6a80dec60mr10666889pgp.456.1652211019205; Tue, 10 May 2022 12:30:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1652211019; cv=none; d=google.com; s=arc-20160816; b=m7saDp8JWYvYaQc+0xS8imT2pGEoIUr/o3pH354pB1VxtYB/cz2W8+aZCJadXaRUJF k7Le1sPb4mRqPbamR8vI4U/81Sk46Eo2dDYeaAuoKH0em7WacqbHfBL5MDYdevB19hku ifodnFFCONSlP3fAI1Oydf3hZfKtSjHVt0gPwPBVq4wIf505GWxouIhxU8tsZUJ+EIZD jNoVuGsMDTquEpp9vDb9fSQXTgVl68D2YzHVTWhQ9ExiF8UYgVHbrNmZwu+UQlWuMsLY 128CLtni+6mHgHWMf9JmCH/5kR9Qy/kKeZc30+4bMx0fRO0eCqf0PiRJTpyepltTOZJs b1Fg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=sRrwoZH7+dXDAe9h4Je0NtUdSDuNk7/nKNSB/pCSrEk=; b=nhUhCYekkBDwbje6DWuYCq0Ejy+3pGMkT63Ucsbk+XyIgvShpvODjHaAb3Umlanowr FP3W+DZmgNLTWbwJnROV+CP4inC0EqxuLkYTuVpIvxp1Kd4ogZ0XN4SbgTI8DG3iYGW2 156ZQEOCsk7jUFDit3Waq6+QIcHMzHgHjm8+bEkMBXbp0tKR5FappCfh6Sk0pBl+TCgf 4ZsBG2AtY0xz8zyq4n70qOb9HuaE2cqMxuH9uTlgR4jWwJu05oyONbT3JGZfacNOrbLt mAnn5CIn37RMFOOEboaSIDuDHzuu61Pr/6wbgE2weMu2TdZ+lbIXZ2Kxd9Gvj0OFZIrY VwDA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=g5ew5w6s; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id y16-20020a170902b49000b0015f0a785c7esi3856055plr.341.2022.05.10.12.30.02; Tue, 10 May 2022 12:30:19 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=g5ew5w6s; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243204AbiEJOOT (ORCPT + 99 others); Tue, 10 May 2022 10:14:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45650 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245076AbiEJNrV (ORCPT ); Tue, 10 May 2022 09:47:21 -0400 Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BAC1D22EA74; Tue, 10 May 2022 06:35:02 -0700 (PDT) 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 sin.source.kernel.org (Postfix) with ESMTPS id 2B9BECE1EDE; Tue, 10 May 2022 13:35:01 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 34985C385C2; Tue, 10 May 2022 13:34:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1652189699; bh=GMk/FTiZNuJINrvD/5eVq2bJ3KaCN5rDMfVzshQ+yrg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=g5ew5w6sE+zD4d0Ipvn3F/UNEXYTwInb9evrpkynDyXvO5xYAhmlv6lg3e8ZUOfIf DYwbibg2WXcEUUpBH2cga6XdVKJHljxMoV3wPQBlYfGPBkqwtKkWmPndtgPpzYPr/G 6ugbOgIiC4L1d3XrIc94id+JlCzWd0SyCX2HYo8A= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, pali@kernel.org, =?UTF-8?q?Marek=20Beh=FAn?= , Lorenzo Pieralisi Subject: [PATCH 5.15 126/135] PCI: aardvark: Enable MSI-X support Date: Tue, 10 May 2022 15:08:28 +0200 Message-Id: <20220510130744.010873265@linuxfoundation.org> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220510130740.392653815@linuxfoundation.org> References: <20220510130740.392653815@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Pali Roh?r commit 754e449889b22fc3c34235e8836f08f51121d307 upstream. 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. Link: https://lore.kernel.org/r/20220110015018.26359-13-kabel@kernel.org Signed-off-by: Pali Roh?r Signed-off-by: Marek Beh?n Signed-off-by: Lorenzo Pieralisi Signed-off-by: Marek Beh?n Signed-off-by: Greg Kroah-Hartman --- drivers/pci/controller/pci-aardvark.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c @@ -1339,7 +1339,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, };