]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
accel/qaic: Add support for MSI-X
authorYoussef Samir <quic_yabdulra@quicinc.com>
Fri, 17 Jan 2025 17:09:40 +0000 (10:09 -0700)
committerJeffrey Hugo <quic_jhugo@quicinc.com>
Fri, 31 Jan 2025 17:07:22 +0000 (10:07 -0700)
AIC200 device will support MSI-X while AIC100 devices will keep using
MSI. pci_alloc_irq_vectors() will try to allocate MSI-X vectors if it
is supported by the target device, otherwise, it will fallback to MSI.

Add support for MSI-X vectors allocation for AIC200 devices.

Signed-off-by: Youssef Samir <quic_yabdulra@quicinc.com>
Reviewed-by: Jeffrey Hugo <quic_jhugo@quicinc.com>
Signed-off-by: Jeffrey Hugo <quic_jhugo@quicinc.com>
Reviewed-by: Lizhi Hou <lizhi.hou@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250117170943.2643280-5-quic_jhugo@quicinc.com
drivers/accel/qaic/qaic_drv.c

index 6e9bed17b3f14f6d9232f0de595eec388eaba68e..ce0428f6cb8201573abe0db1dd90fcfa6f3e320c 100644 (file)
@@ -471,9 +471,9 @@ static int init_msi(struct qaic_device *qdev, struct pci_dev *pdev)
        int i;
 
        /* Managed release since we use pcim_enable_device */
-       ret = pci_alloc_irq_vectors(pdev, irq_count, irq_count, PCI_IRQ_MSI);
+       ret = pci_alloc_irq_vectors(pdev, irq_count, irq_count, PCI_IRQ_MSI | PCI_IRQ_MSIX);
        if (ret == -ENOSPC) {
-               ret = pci_alloc_irq_vectors(pdev, 1, 1, PCI_IRQ_MSI);
+               ret = pci_alloc_irq_vectors(pdev, 1, 1, PCI_IRQ_MSI | PCI_IRQ_MSIX);
                if (ret < 0)
                        return ret;