]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
accel/qaic: Mask out SR-IOV PCI resources
authorYoussef Samir <quic_yabdulra@quicinc.com>
Fri, 17 Jan 2025 17:09:41 +0000 (10:09 -0700)
committerJeffrey Hugo <quic_jhugo@quicinc.com>
Fri, 31 Jan 2025 17:07:49 +0000 (10:07 -0700)
During the initialization of the qaic device, pci_select_bars() is
used to fetch a bitmask of the BARs exposed by the device. On devices
that have Virtual Functions capabilities, the bitmask includes SR-IOV
BARs.

Use a mask to filter out SR-IOV BARs if they exist.

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-6-quic_jhugo@quicinc.com
drivers/accel/qaic/qaic_drv.c

index ce0428f6cb8201573abe0db1dd90fcfa6f3e320c..00fa07aebacdd1f7c5ec89962984431c1ca87890 100644 (file)
@@ -431,7 +431,7 @@ static int init_pci(struct qaic_device *qdev, struct pci_dev *pdev)
        int bars;
        int ret;
 
-       bars = pci_select_bars(pdev, IORESOURCE_MEM);
+       bars = pci_select_bars(pdev, IORESOURCE_MEM) & 0x3f;
 
        /* make sure the device has the expected BARs */
        if (bars != (BIT(0) | BIT(2) | BIT(4))) {