i40e: get pf_id from HW rather than PCI function
authorShannon Nelson <shannon.nelson@intel.com>
Thu, 13 Nov 2014 03:06:19 +0000 (03:06 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Sat, 6 Dec 2014 12:46:45 +0000 (04:46 -0800)
commit5fb11d761082c6dc5c7b46ad46af33ca7f518584
tree05b25ff4b73551d6e3a7cb0cd88681e78b0d3a3d
parentbaf732773502c59421af401e5256f5b453f70fa5
i40e: get pf_id from HW rather than PCI function

Getting the pf_id from the function number was a good place to start,
but when the PF was setup in passthru mode, the PCI bus/device/function
was virtualized and the number in the VM is different from the number in
the bare metal.  This caused HW configuration issues when the wrong pf_id
was used to set up the HMC and other structures.  The PF_FUNC_RID register
has the real bus/device/function information as configured by the BIOS,
so use that for a better number.  This works in NPAR mode as well.

Change-ID: I65e3dd6c97594890c2bad566b83cc670b1dae534
Signed-off-by: Shannon Nelson <shannon.nelson@intel.com>
Acked-by: Greg Rose <gregory.v.rose@intel.com>
Acked-by: Kevin Scott <kevin.c.scott@intel.com>
Tested-by: Jim Young <jamesx.m.young@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/i40e/i40e_common.c