]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
PCI: endpoint: Add intx_capable to epc_features struct
authorNiklas Cassel <cassel@kernel.org>
Mon, 10 Mar 2025 11:10:21 +0000 (12:10 +0100)
committerKrzysztof Wilczyński <kwilczynski@kernel.org>
Wed, 26 Mar 2025 06:09:38 +0000 (06:09 +0000)
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
include/linux/pci-epc.h

index e818e3fdcded95ca053db074eb75484a2876ea6b..9d14d78abd14903dc47019d11e5c967e8ff2e94a 100644 (file)
@@ -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;
 };