|
@@ -812,7 +812,7 @@ static u8 bnx2x_vf_is_pcie_pending(struct bnx2x *bp, u8 abs_vfid)
|
|
|
if (!vf)
|
|
|
return false;
|
|
|
|
|
|
- dev = pci_get_bus_and_slot(vf->bus, vf->devfn);
|
|
|
+ dev = pci_get_domain_bus_and_slot(vf->domain, vf->bus, vf->devfn);
|
|
|
if (dev)
|
|
|
return bnx2x_is_pcie_pending(dev);
|
|
|
return false;
|
|
@@ -1041,6 +1041,13 @@ void bnx2x_iov_init_dmae(struct bnx2x *bp)
|
|
|
REG_WR(bp, DMAE_REG_BACKWARD_COMP_EN, 0);
|
|
|
}
|
|
|
|
|
|
+static int bnx2x_vf_domain(struct bnx2x *bp, int vfid)
|
|
|
+{
|
|
|
+ struct pci_dev *dev = bp->pdev;
|
|
|
+
|
|
|
+ return pci_domain_nr(dev->bus);
|
|
|
+}
|
|
|
+
|
|
|
static int bnx2x_vf_bus(struct bnx2x *bp, int vfid)
|
|
|
{
|
|
|
struct pci_dev *dev = bp->pdev;
|
|
@@ -1606,6 +1613,7 @@ int bnx2x_iov_nic_init(struct bnx2x *bp)
|
|
|
struct bnx2x_virtf *vf = BP_VF(bp, vfid);
|
|
|
|
|
|
/* fill in the BDF and bars */
|
|
|
+ vf->domain = bnx2x_vf_domain(bp, vfid);
|
|
|
vf->bus = bnx2x_vf_bus(bp, vfid);
|
|
|
vf->devfn = bnx2x_vf_devfn(bp, vfid);
|
|
|
bnx2x_vf_set_bars(bp, vf);
|