From patchwork Mon Dec 5 21:41:47 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: tip-bot2 for Thomas Gleixner X-Patchwork-Id: 29963 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp2487904wrr; Mon, 5 Dec 2022 13:46:05 -0800 (PST) X-Google-Smtp-Source: AA0mqf7sCfdPRWZ2xL3Tb0BYgCJpn03VvxfPetBs1z1AT9I4yfCo8LkZDAlHGxzZk1wsJjSJtd6O X-Received: by 2002:a17:902:e00c:b0:189:9284:211b with SMTP id o12-20020a170902e00c00b001899284211bmr36801266plo.116.1670276765432; Mon, 05 Dec 2022 13:46:05 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1670276765; cv=none; d=google.com; s=arc-20160816; b=mWvlg0deeDC/E5UMPndPYpzaEr8n4dt49227Xaicvp/H/3+PP8zqg9n7CwtDvybA9a azmDKtHxr2nQuhN7534288HGRHrpFFtwYRkPX4wopzfZk3oFrrWA9UrM1f8wD5tcuFjR FVu2w3AL+eNIPCC1ecPycKByVffBaEBFKYAv6fk6HphVqxXyatPlokkQMtZXWYHRalXy sVXb9FEHG+SCbBJeFuFU0z07B3uQ7DLH563p9MCMGW/aPugYc/AwqU6XuA0N4aPm28gR s70QfaHp+XnXeVAJddyflkimfbUyTezocSf0/ABo5b7HLFOlSjx3eJDGmeGYNFd/PkHx ZFzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:robot-unsubscribe :robot-id:message-id:mime-version:references:in-reply-to:cc:subject :to:reply-to:sender:from:dkim-signature:dkim-signature:date; bh=MCizSNtz3J6srFQykIaE2yQnJ3kHOqzfzAO7gQwglzw=; b=0R63iHijRPnF0QQLiSXRSZzHPK3fciMpdS+2MY0u0pe+0YxlaZvl+//CSBG1HHa3K0 fbyEd3eLAfAW7mjgZlXJ19od6VdNtT+dM6M4eoY1MEGNZewfGtehBqsF81149wUaEdyZ 2wdD13Duv4r5RNuEl9u3eWdmynb+Ss/U+0XAcWgs266Ldc4dedHX87uGwXtn+DoaIl+0 9Rodt76vfHsIsQiDFoGXRxQJAUD3yo/hpZeK2bOqY/vie7YgOGcUHxQ9bHYo2SGKjcPg D6yKXW2wKb+nI66NzczTdUZXd4goHjfcwIsBDFm+Skp+Bn4uRBgdiLWZsbtQwqnkluUU 1DKQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=fb7bsZLD; dkim=neutral (no key) header.i=@linutronix.de; 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=QUARANTINE dis=NONE) header.from=linutronix.de Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id k9-20020a170902760900b001869fd74e0csi14388066pll.311.2022.12.05.13.45.52; Mon, 05 Dec 2022 13:46:05 -0800 (PST) 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=@linutronix.de header.s=2020 header.b=fb7bsZLD; dkim=neutral (no key) header.i=@linutronix.de; 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=QUARANTINE dis=NONE) header.from=linutronix.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233987AbiLEVmZ (ORCPT + 99 others); Mon, 5 Dec 2022 16:42:25 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41094 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233799AbiLEVlx (ORCPT ); Mon, 5 Dec 2022 16:41:53 -0500 Received: from galois.linutronix.de (Galois.linutronix.de [IPv6:2a0a:51c0:0:12e:550::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 474E92CDDC; Mon, 5 Dec 2022 13:41:52 -0800 (PST) Date: Mon, 05 Dec 2022 21:41:47 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1670276508; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=MCizSNtz3J6srFQykIaE2yQnJ3kHOqzfzAO7gQwglzw=; b=fb7bsZLDs+6uz75c4FD+q+QEOUa6GuEk71WlkNkN8gRZeeavRysJfEtyzOXgbeYqPYYRk0 fTFv2HEhDt2qTfb26qVF7E2COmqflnx3QFdoxQJT3+noGtRiCxc9J2TsNnBmknlmz2ltUb cQBXUE5oIim3KvHRdpCYdWHZVGuUhoruWi/9eR9+8myxO0z+IGF4tVlOBBBqIH/u2VPQ8J /hAW/vuVBAnaXzkgVDlmLw+YF+um9MYvz4PU2BSdA7//96gLJnLFn2PgO9/7q41vpiQAjU CG5aaymeq4fFlwyHLsNMZQTcmDKYautmkjbEClPgw/kWRwtSrmuA4IzRlFxmgA== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1670276508; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=MCizSNtz3J6srFQykIaE2yQnJ3kHOqzfzAO7gQwglzw=; b=fHt4r5J2T1HP+T8HTrDX96GnrSd0klG2kVQn1LhdacbYBfUI7cEuWXXDpcHjERxcYuTKx/ QDWtK90f6pl1jVCg== From: "tip-bot2 for Thomas Gleixner" Sender: tip-bot2@linutronix.de Reply-to: linux-kernel@vger.kernel.org To: linux-tip-commits@vger.kernel.org Subject: [tip: irq/core] genirq/msi: Provide MSI_FLAG_MSIX_ALLOC_DYN Cc: Thomas Gleixner , Jason Gunthorpe , Kevin Tian , Marc Zyngier , x86@kernel.org, linux-kernel@vger.kernel.org In-Reply-To: <20221124232326.558843119@linutronix.de> References: <20221124232326.558843119@linutronix.de> MIME-Version: 1.0 Message-ID: <167027650791.4906.1632858344427835014.tip-bot2@tip-bot2> Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_PASS 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750422531904642436?= X-GMAIL-MSGID: =?utf-8?q?1751412129668300202?= The following commit has been merged into the irq/core branch of tip: Commit-ID: b834e3c08fc6c4460c2bce6575cba4705f6301e3 Gitweb: https://git.kernel.org/tip/b834e3c08fc6c4460c2bce6575cba4705f6301e3 Author: Thomas Gleixner AuthorDate: Fri, 25 Nov 2022 00:26:20 +01:00 Committer: Thomas Gleixner CommitterDate: Mon, 05 Dec 2022 22:22:34 +01:00 genirq/msi: Provide MSI_FLAG_MSIX_ALLOC_DYN Provide a new MSI feature flag in preparation for dynamic MSIX allocation after the initial MSI-X enable has been done. This needs to be an explicit MSI interrupt domain feature because quite some implementations (both interrupt domains and legacy allocation mode) have clear expectations that the allocation code is only invoked when MSI-X is about to be enabled. They either talk to hypervisors or do some other work and are not prepared to be invoked on an already MSI-X enabled device. This is also explicit MSI-X only because rewriting the size of the MSI entries is only possible when disabling MSI which in turn might cause lost interrupts on the device. Signed-off-by: Thomas Gleixner Reviewed-by: Jason Gunthorpe Reviewed-by: Kevin Tian Acked-by: Marc Zyngier Link: https://lore.kernel.org/r/20221124232326.558843119@linutronix.de --- include/linux/msi.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/linux/msi.h b/include/linux/msi.h index 00c5019..3cb1586 100644 --- a/include/linux/msi.h +++ b/include/linux/msi.h @@ -557,7 +557,8 @@ enum { MSI_FLAG_LEVEL_CAPABLE = (1 << 18), /* MSI-X entries must be contiguous */ MSI_FLAG_MSIX_CONTIGUOUS = (1 << 19), - + /* PCI/MSI-X vectors can be dynamically allocated/freed post MSI-X enable */ + MSI_FLAG_PCI_MSIX_ALLOC_DYN = (1 << 20), }; /**