aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNiklas Cassel <cassel@kernel.org>2025-03-10 12:10:21 +0100
committerKrzysztof Wilczyński <kwilczynski@kernel.org>2025-03-26 06:09:38 +0000
commit4b313c69a38e28b2f002198c3909fb553e9b0176 (patch)
tree272e781dd1c924a1551aca65153bdce3626ddd6b
parentselftests: pci_endpoint: Use IRQ_TYPE_* defines from UAPI header (diff)
downloadlinux-4b313c69a38e28b2f002198c3909fb553e9b0176.tar.gz
linux-4b313c69a38e28b2f002198c3909fb553e9b0176.zip
PCI: endpoint: Add intx_capable to epc_features struct
In struct pci_epc_features, an EPC driver can already specify if they support MSI (by setting msi_capable) and MSI-X (by setting msix_capable). Thus, for consistency, allow an EPC driver to specify if it supports INTx interrupts as well (by setting intx_capable). Since this struct is zero initialized, EPC drivers that want to claim INTx support will need to set intx_capable to true. Signed-off-by: Niklas Cassel <cassel@kernel.org> [kwilczynski: add missing kernel-doc for "intx_capable"] Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org> Link: https://lore.kernel.org/r/20250310111016.859445-13-cassel@kernel.org
-rw-r--r--include/linux/pci-epc.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/pci-epc.h b/include/linux/pci-epc.h
index e818e3fdcded..9d14d78abd14 100644
--- a/include/linux/pci-epc.h
+++ b/include/linux/pci-epc.h
@@ -221,6 +221,7 @@ struct pci_epc_bar_desc {
* @linkup_notifier: indicate if the EPC device can notify EPF driver on link up
* @msi_capable: indicate if the endpoint function has MSI capability
* @msix_capable: indicate if the endpoint function has MSI-X capability
+ * @intx_capable: indicate if the endpoint can raise INTx interrupts
* @bar: array specifying the hardware description for each BAR
* @align: alignment size required for BAR buffer allocation
*/
@@ -228,6 +229,7 @@ struct pci_epc_features {
unsigned int linkup_notifier : 1;
unsigned int msi_capable : 1;
unsigned int msix_capable : 1;
+ unsigned int intx_capable : 1;
struct pci_epc_bar_desc bar[PCI_STD_NUM_BARS];
size_t align;
};