Message ID | 20250407-ep-msi-v17-2-633ab45a31d0@nxp.com (mailing list archive) |
---|---|
State | New |
Headers | show
Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2057.outbound.protection.outlook.com [40.107.21.57]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DB2C324EA98; Mon, 7 Apr 2025 19:51:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.21.57 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744055489; cv=fail; b=saarAe5/fZxBKiWD4/VYpaB9iFe8AoS4GWMH5IroXFCu/ld6ZiKyGlWQsJLl4zsAn0RUSaFr0PGpazCnfIxmS173qZx+nGwnTx1uS/NQq6WaNzgie24VS0VtuK65QRxvej4amRuyJJqirWrefVuIPb7jMNFk5EoYG2ifKEt3tNQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744055489; c=relaxed/simple; bh=p7gntWoxGh4gHuQtzBxv9euNYS3wHZIeRIkw2TEkLdk=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=G7sd+2JWU/sXiGQjZxRsGgNQrQmrXwN1O0t9/UR2SADS7TSh6Tr0SH1zmGNULjQcBhHJ2QypXuL2P3La+J/N/CsvKJKgXq0+vW5gEuCm6ibvKzMqy6W73KH8uy+znBYdef/HeWFR3i+xFpfhsig44gH7dH6QuLJahk9nGtSkOZ8= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=PQw/JY/O; arc=fail smtp.client-ip=40.107.21.57 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="PQw/JY/O" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ajtx3Hdx/wl6XYGT59QRTr+M7rtCjcjtqpDFOZm/7s8IDXSLMbmgPC2HUQttROQcv8jYrZQBlGTISZzuUOOZgl2UC3W49/tXsM3C8IxYv6K6JfLB424iVuccrYYdkyRRP6SogevUPfkQzrHEwsQX+KSjsvYCtuFafARSPpGafr6FgGkdv9XdoJXkerDUvCI/2TXUv3sUz7Vg/cD5/lC03s7awlFQ4gW7/+GrkfnoaWnM2Xek5UYI79T466x6Vxet6HnhzCBUfOpzGDngZl0ceNhAZ9eeAcpJ7SuKEewrrOdkspPACzvaSBkk2Cu5ypk6CEzjv1ddjBSo9j4uSWSZRA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=GR0Z1iTOQebA6NDkRDEaFkcBL+OLXn2bv7Llb/KWBuc=; b=sh2NjDUZMQInp+dUm+dciQfghigXdGOUmpcu+5au/ooerT2hx93Y6rSrMl0Syn5niFMVjFzm4qBLMBQ6o5VF9nj+r0jfaUPwjRF61CXbJudpWiFun8TRlQaSTOAtic2Iy9I9S7nOGUsFfegQ8aZ33yfBLcpkwPnHWZ+rjz2HnrcECeqglNnQH7OyP0w1tm0wgkdGX69BqghykyVbhwGj5qGgjMh3tE7tpFNBnJ5wvbHCZco7v9CskoF+DKAtvHWOrdpIkqAvlzNNqzN3yyvT6AJtMKzNX08WBn1Hz2UYz3ocsUE0Q5NMg3PrM77S/DIVZy6rBErF7ddhgwrxxO2CdQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GR0Z1iTOQebA6NDkRDEaFkcBL+OLXn2bv7Llb/KWBuc=; b=PQw/JY/OqY051e32NRI2x/SHQyIcopDr1B24qL8iyf8kI9GFx0fOu4PsO5Z7h0cJ5RMTAc2YUji8vZUdia50tqD2Rlk8QyaOt/jxcHlR/M3wGeEX3a15eH+wwxZW2oW53jyrzr/XGo9fpzQcBeKMOKBJ83kFJnbJJ/F6qnbK/d1HE3yxf9nm11FF+2ifEJNLIlEzdk+yAGN2jHE5xxeQfNhgiJyzyIw9owpJXjOwp9YPqYNpkc0dk+O8zHarZBYs1cAJBDp4mOv4DkgWJwKv0KTz5oi0xWVpUjIm3g7Bg6LKvfziqesbXeoREvqt1E00XESEpEWUj5sxRskmjNcaZQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by PR3PR04MB7452.eurprd04.prod.outlook.com (2603:10a6:102:80::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.34; Mon, 7 Apr 2025 19:51:24 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%2]) with mapi id 15.20.8606.029; Mon, 7 Apr 2025 19:51:24 +0000 From: Frank Li <Frank.Li@nxp.com> Date: Mon, 07 Apr 2025 15:50:52 -0400 Subject: [PATCH v17 02/15] irqdomain: Add IRQ_DOMAIN_FLAG_MSI_IMMUTABLE and irq_domain_is_msi_immutable() Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20250407-ep-msi-v17-2-633ab45a31d0@nxp.com> References: <20250407-ep-msi-v17-0-633ab45a31d0@nxp.com> In-Reply-To: <20250407-ep-msi-v17-0-633ab45a31d0@nxp.com> To: Kishon Vijay Abraham I <kishon@kernel.org>, "Rafael J. Wysocki" <rafael@kernel.org>, Thomas Gleixner <tglx@linutronix.de>, Anup Patel <apatel@ventanamicro.com>, Kishon Vijay Abraham I <kishon@kernel.org>, Marc Zyngier <maz@kernel.org>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, "Rafael J. Wysocki" <rafael@kernel.org>, Danilo Krummrich <dakr@kernel.org>, Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>, =?utf-8?q?Krzysz?= =?utf-8?q?tof_Wilczy=C5=84ski?= <kw@linux.com>, Kishon Vijay Abraham I <kishon@kernel.org>, Bjorn Helgaas <bhelgaas@google.com>, Arnd Bergmann <arnd@arndb.de>, Shuah Khan <shuah@kernel.org>, Richard Zhu <hongxing.zhu@nxp.com>, Lucas Stach <l.stach@pengutronix.de>, Lorenzo Pieralisi <lpieralisi@kernel.org>, Rob Herring <robh@kernel.org>, Shawn Guo <shawnguo@kernel.org>, Sascha Hauer <s.hauer@pengutronix.de>, Pengutronix Kernel Team <kernel@pengutronix.de>, Fabio Estevam <festevam@gmail.com>, Krzysztof Kozlowski <krzk+dt@kernel.org>, Conor Dooley <conor+dt@kernel.org> Cc: Niklas Cassel <cassel@kernel.org>, dlemoal@kernel.org, jdmason@kudzu.us, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pci@vger.kernel.org, linux-kselftest@vger.kernel.org, imx@lists.linux.dev, devicetree@vger.kernel.org, Frank Li <Frank.Li@nxp.com> X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1744055467; l=1874; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=p7gntWoxGh4gHuQtzBxv9euNYS3wHZIeRIkw2TEkLdk=; b=zG4QdGGdfqxDzshMU7Ve7oQJlFKli2a6ZVYWvGb/TGaz4n0XHmKNqynlcFyI+BEZ72WuuWoZT CDPTrvS18HQCCFgZIu/vituhjD+febT193Yu6L/YXCad3GJEQqEWjlZ X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: AS4P189CA0041.EURP189.PROD.OUTLOOK.COM (2603:10a6:20b:5dd::15) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) Precedence: bulk X-Mailing-List: linux-pci@vger.kernel.org List-Id: <linux-pci.vger.kernel.org> List-Subscribe: <mailto:linux-pci+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-pci+unsubscribe@vger.kernel.org> MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|PR3PR04MB7452:EE_ X-MS-Office365-Filtering-Correlation-Id: 3470ed2d-29ea-4c20-86b7-08dd760d9392 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|52116014|366016|1800799024|38350700014|921020; X-Microsoft-Antispam-Message-Info: =?utf-8?q?BvVQUq0P6pFGOs/xv3TADyeXzC7OLJc?= =?utf-8?q?r5QohTQK+HTwHVRRBIogQfW4U+mtSXCE301v55LidCPcGuQIQgPDoze/vHiXetrjc?= =?utf-8?q?AtQ4uH0wYNK0KErcgrzA7wS5CqNuWU/ylJqBz/8kAOmbLLEkXF3cOuVDC5Ug4lHRZ?= =?utf-8?q?lbQ36M0r3MCQMB6IlaTmRdsXFkLO87f4kA0f3CqYNK8D1Bhzi4NI9poWNl7ppIM5M?= =?utf-8?q?JIcujnxextSDch9MJtTxvVDafwdco6Idjx2DPISkKK5YGWgz6HA+aNrMt5tp7QRgf?= =?utf-8?q?FIIPpewLQ/UacMf6JXrOgN/ExWKJLcVtzi1Y+jeYsCvoQKlE52PgDEzhkqcO09X76?= =?utf-8?q?N6qORsIN6Y7+7HTONGLF2LJ3heMbg5WY/Exf5rkhodihOVjNqN3wo2yHYl6sTmlIg?= =?utf-8?q?7TtOvVLMaLwedlA8Muy62qptz0jdtr9RjMcHPsFkXHKSBRjREiSk/lBXtJysUtpqL?= =?utf-8?q?vVM3qF8aI+hbSb1uzoiCncPDon8g2wBvaVLUvjKxDW3qgI74qkFKwnEDRKI5AdMci?= =?utf-8?q?iODJWUA7bWvAzLOzeSnxwaj8Cd8SylJVhJ3yRYm/DtHTdHhaaKPpaeVrjMOXkxV/r?= =?utf-8?q?q0Wer7JaISYSIvisBmj1meNUwtrgoOFgpgfBjgz8jwKLcvygsr+kUnvqFITCfz6Z1?= =?utf-8?q?0kE1BySSnysQTidhNkoZwgXug9ge0fQreMZA8UCOi4ezKDuxuPNVF3JqkBU6Zug5G?= =?utf-8?q?Q7hmsxI0p5Z65dk/RkTAnVnJW6i1Y+rPRqcuoCe/UFb3HiomiMtgVOKSk5MiV/Jck?= =?utf-8?q?1m0BFKg27Gh/uhkmmUrBFGYjegzYeIv06nq3icdegPp5lsCDXsAXog0k2dn+SqaS2?= =?utf-8?q?/XQHJBSW68aWAy1RQJpNl5D+frYgRLySTtjk5LKV7FSZZR1J/vHk3yX8i7YqTom46?= =?utf-8?q?j/PWqtBsqMYpk4wCq0pSpwk5LR1Dyuia3pcruiMGarer8wBj22XGToZYSRGQXGN4k?= =?utf-8?q?oWoiDR2PROyPH846G86cd6fxNI6zC/B4CYF216hY2srMngVKNdT3bx3WH9WF6FM5j?= =?utf-8?q?4GRnBhJNXLEMNz1vQobfwaqYhbl5TKySmJWpDd/egkZgY/xTRHHFMw0CAVWWogfmE?= =?utf-8?q?2GcxwLBi4WlvXP90SNWm/txD4yy9AeZc7aJKfjQVTvkrk0x3cVGwYayBW24uwXuJ4?= =?utf-8?q?p7dY4x2pI6S1Rhxs0TZMh7MhnOjSDdo9gvX4/zxWQipQKVylIGpaZqQX4DV7l1ELW?= =?utf-8?q?YCSvql6aisET+7Jxl2t5q126FDMSsi4sthI+V/t2D/+EqGI+b4k5Cw4id/yUl6QOV?= =?utf-8?q?a42J3hxCdGc+wD9UwqxGNCk6rJAhcQ3udH8wsA/4fMMSbzeay+ZzNMdenT+1aZHg9?= =?utf-8?q?8SgIWBaczwOCNzVGPQ1fz7xBfQwsCfzH4rNxMdsYlwkT6JwBH0biCvxWNlhwME8e+?= =?utf-8?q?I28l7eu1jPSSjK5EPAga9JmgGUTz4D4xw=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(52116014)(366016)(1800799024)(38350700014)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?TIovcYaOsPhWcuEJufElpD1mqz8C?= =?utf-8?q?eQ60PEXzsKPz86ffjTMFw4zj5aH0yIVog4Z9EnsJshMM2Rbqk9F+SZ0rYeB7KKOL6?= =?utf-8?q?y5SNTp2bSOBcqukG4lfCDiRtHWkX9OF/pr1j1/krFpscPDAvOC+GKL7TGGUfwn33h?= =?utf-8?q?i8LWf2SvSpvxSw6Mv3aodv02agqUi/sJ3L9NTxF4qzZo4dc1xFUX9DYCm46yEthbd?= =?utf-8?q?AkNh37RC/WUuX8Xg6hsEII43olHDowngtbXnNxNT+11MkffrScStM/E12chV4WLKN?= =?utf-8?q?XTmR6XsXUG338yyDZgxWdNJIpEgMoA2o5dAQS5BZEd2YZDznp0DbgKbDmjr+kIZZZ?= =?utf-8?q?4x6Ngl+Au11w2k4yuT24FtQqNf8QOijyZVyxuWPPQaZQ1ydRDELe8zkV5DOq7ioxq?= =?utf-8?q?ell8OCmC+CQ4Md2fm3iCIUzlSecieOv6JhpZU4MbhEt9sXVyMa9P3iLlaMdVkZHxL?= =?utf-8?q?g9L+yaMoEC5SqLyC4zME1TlCkn0Lv2t9O70GuNXaff5BYvY/M/pl5JZlckJ7ZT4dF?= =?utf-8?q?pL0DkFxqr7+xuKDPpLYB0CWRrKPkJvM0u1eMQFfJ60WrDj/CcTkG1Kq7y4NJ/BS0T?= =?utf-8?q?ae/CBfoNH2Boo2Q9OxS0Z5aqHTA0IQorMmHqHtJ7vf/JA2fOdE/7rcyJg9n+h+AEr?= =?utf-8?q?aNoLwWUJ33mTKZmsbhrV/NjshBgjmsJAecz2k8MQpZRuYfD8NYZqbp/30+RStlwhN?= =?utf-8?q?/A1Mp2foCZ+IYMUSM9PJ50qKLMZeZoFl3FtmpMAncTW4Uxuv8DaBaM6X2+Nc+qf9w?= =?utf-8?q?533yP8twkqetQWgT8lMRJTm/BiB44mhEKgbk3qWFTtpFISBZUtAXKnNKpMQo13fcz?= =?utf-8?q?NtfIpt7LRhMMLHjX6okyZjwSYDkyDraaYRwzUfWN4wNCu7n4xlySGv8NCuO94zFs8?= =?utf-8?q?36AuyEzgfE6Chv3Z01dZ7xbC1SUe9dLKllwmB+yCHydvXyvtVGDXS7hMJEepjZc6r?= =?utf-8?q?+EOBTTkEJ05rLD1NEU1BeX98X11LHzApkJYDWD9RgwWn9UUbk18H93iHPkbYgx5KO?= =?utf-8?q?rdsEjItE/KfXB0lhRqAziX9sbfLdHS4m00P6bZp+X1NxQaye1cI0RXSomSVKbt1El?= =?utf-8?q?dHEk/FtDufFa3Qj7jmjXqs5NkGxRxRlZIXR4sTdsLQ3utdaTcGx+wBrDK1hE7wdi4?= =?utf-8?q?rqbcsuE3OHq+aXWtl7Ymj/DTRc8tTUhndT/UBsN2WY7RxRdqXDTnt+QypE3LH8qOj?= =?utf-8?q?MMbgjXc5UZc+ndZ5sPw7Fn/MuJ8k5GT47d/JOO36WesR/pugwlYOhbDggcTTX2yGP?= =?utf-8?q?UmeBG1fv9BlfG3K3gmdUiy2xRi1+yWgCy7NhZxqQ27e1MSjrXMHyuMHWK0BkAplRi?= =?utf-8?q?6+ynkMqV0Y95raHIBuMp1QC5khMLcEqPl/xL3DBc91u7sthLCfCeucN86Q7tvWpiK?= =?utf-8?q?Mf75PlnDg6Mq9aZzAPuOw/mtR6RtjSLBsx2IlnysS549qUqLQuB211F9AkmHEC8Ox?= =?utf-8?q?wGKkxnw6uxHBPp8guRpZ6nUeLVGBqk6eSGu82L72wv+MFQJAuN2H4ALv2dBnZQVkh?= =?utf-8?q?DDqFY8FrtRqD?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3470ed2d-29ea-4c20-86b7-08dd760d9392 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Apr 2025 19:51:24.0193 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: om0VB3FGAcAxZ/EaaRFlb0Z5JKtG35bdnz47GG/8uDCfHUTmURSDwUhdxMvMv7Y9d8fiKzJ+p/NRCxSjFFdjww== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR04MB7452 |
Series |
PCI: EP: Add RC-to-EP doorbell with platform MSI controller
|
expand
|
diff --git a/include/linux/irqdomain.h b/include/linux/irqdomain.h index 33ff41eef8f73..86222602744e9 100644 --- a/include/linux/irqdomain.h +++ b/include/linux/irqdomain.h @@ -231,6 +231,9 @@ enum { /* Irq domain must destroy generic chips when removed */ IRQ_DOMAIN_FLAG_DESTROY_GC = (1 << 10), + /* Address and data pair is mutable when irq_set_affinity() */ + IRQ_DOMAIN_FLAG_MSI_IMMUTABLE = (1 << 11), + /* * Flags starting from IRQ_DOMAIN_FLAG_NONCORE are reserved * for implementation specific purposes and ignored by the @@ -691,6 +694,10 @@ static inline bool irq_domain_is_msi_device(struct irq_domain *domain) return domain->flags & IRQ_DOMAIN_FLAG_MSI_DEVICE; } +static inline bool irq_domain_is_msi_immutable(struct irq_domain *domain) +{ + return domain->flags & IRQ_DOMAIN_FLAG_MSI_IMMUTABLE; +} #else /* CONFIG_IRQ_DOMAIN_HIERARCHY */ static inline int irq_domain_alloc_irqs(struct irq_domain *domain, unsigned int nr_irqs, int node, void *arg)
Add the flag IRQ_DOMAIN_FLAG_MSI_IMMUTABLE and the API function irq_domain_is_msi_immutable() to check if the MSI controller retains an immutable address/data pair during irq_set_affinity(). Ensure compatibility with MSI users like PCIe Endpoint Doorbell, which require the address/data pair to remain unchanged after setup. Use this function to verify if the MSI controller is immutable. Signed-off-by: Frank Li <Frank.Li@nxp.com> --- change from v14 to v16 - none change from v13 to v14 - Roll back to v12 version because Marc Zyngier have concern about add DOMAIN_BUS_DEVICE_PCI_EP_MSI. https://lore.kernel.org/imx/861pxfq315.wl-maz@kernel.org/ Change from v11 to v12 - change to IRQ_DOMAIN_FLAG_MSI_IMMUTABLE to minimized the code change. --- include/linux/irqdomain.h | 7 +++++++ 1 file changed, 7 insertions(+)