i40e: Add a new variable to track number of pf instances
authorAnjali Singhai Jain <anjali.singhai@intel.com>
Wed, 20 Nov 2013 10:03:01 +0000 (10:03 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Sat, 7 Dec 2013 01:41:54 +0000 (17:41 -0800)
Track the number of physical functions (PFs) found, this is a global counter
on purpose so that each pf loaded has a unique ID.

Change-Id: I74d618520afbce4a774d0235449e3b5f97ff6d4a
Signed-off-by: Anjali Singhai Jain <anjali.singhai@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Kavindya Deegala <kavindya.s.deegala@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/i40e/i40e.h
drivers/net/ethernet/intel/i40e/i40e_main.c

index 5aa2ea21aaa96e1c7ffa2dc9739542e0fab6368f..001d7cfc9129c8501ca62a2847fd201c79698276 100644 (file)
@@ -276,6 +276,8 @@ struct i40e_pf {
        struct dentry *i40e_dbg_pf;
 #endif /* CONFIG_DEBUG_FS */
 
+       u16 instance; /* A unique number per i40e_pf instance in the system */
+
        /* sr-iov config info */
        struct i40e_vf *vf;
        int num_alloc_vfs;      /* actual number of VFs allocated */
index 08ac9604ec675920582cd5d50e14f7c00e432e0c..d2b48bb237fd3111d253007ec3b86e72c8cbc094 100644 (file)
@@ -7176,6 +7176,7 @@ static int i40e_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
        struct i40e_driver_version dv;
        struct i40e_pf *pf;
        struct i40e_hw *hw;
+       static u16 pfs_found;
        int err = 0;
        u32 len;
 
@@ -7241,6 +7242,7 @@ static int i40e_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
        hw->subsystem_device_id = pdev->subsystem_device;
        hw->bus.device = PCI_SLOT(pdev->devfn);
        hw->bus.func = PCI_FUNC(pdev->devfn);
+       pf->instance = pfs_found;
 
        /* do a special CORER for clearing PXE mode once at init */
        if (hw->revision_id == 0 &&
@@ -7391,6 +7393,8 @@ static int i40e_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
                i40e_flush(hw);
        }
 
+       pfs_found++;
+
        i40e_dbg_pf_init(pf);
 
        /* tell the firmware that we're starting */