i40e: support VFs on PFs other than 0
authorMitch Williams <mitch.a.williams@intel.com>
Thu, 28 Nov 2013 06:39:41 +0000 (06:39 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Mon, 6 Jan 2014 10:46:49 +0000 (02:46 -0800)
commit7efa84b7abc15f64d19f7370d2e5b7cee2bfc0c5
tree313f217c09c13b75826445451b34ff5ba6ca44d6
parentf7414531a0cf1c0ff4031b8ff3627983969fb00e
i40e: support VFs on PFs other than 0

When communicating with VF devices over the AQ, the FW refers to the
VF by its global VF ID, not local the VF ID with reference to its
parent PF. Since the global and local VF IDs are identical for PF 0,
the code worked correctly on PF 0.

However, we cannot just use global IDs throughout the code as most of
the other references to the VF (VSI setup, register offsets, etc.)
require the local VF ID. Instead, we just add or subtract our base VF
ID when sending and receiving AQ messages.

Change-Id: I92f4332b4876bc68b2f9af9ebf48761f63b6bd97
Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Sibai Li <sibai.li@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c