aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet
diff options
context:
space:
mode:
authorAlexander Duyck <alexander.h.duyck@intel.com>2012-07-20 04:09:37 -0400
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2012-10-23 00:15:17 -0400
commitbffb3bc95895ee15ad90c66bfd387bc7342c1cee (patch)
treeb75e4f447a654f0f7157312fcaeac10212645fc0 /drivers/net/ethernet
parentf591cd9def96f5219078594699bf691a6282f6b2 (diff)
ixgbe: Enable support for VF API version 1.1 in the PF.
This change switches on the last few bits for us enabling version 1.1 VF support in the PF. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com> Tested-by: Robert Garrett <RobertX.Garrett@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net/ethernet')
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c29
1 files changed, 21 insertions, 8 deletions
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
index 8bf467b94d12..96876b7442b1 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
@@ -371,14 +371,26 @@ static s32 ixgbe_set_vf_lpe(struct ixgbe_adapter *adapter, u32 *msgbuf, u32 vf)
371 IXGBE_FCOE_JUMBO_FRAME_SIZE); 371 IXGBE_FCOE_JUMBO_FRAME_SIZE);
372 372
373#endif /* CONFIG_FCOE */ 373#endif /* CONFIG_FCOE */
374 /* 374 switch (adapter->vfinfo[vf].vf_api) {
375 * If the PF or VF are running w/ jumbo frames enabled we 375 case ixgbe_mbox_api_11:
376 * need to shut down the VF Rx path as we cannot support 376 /*
377 * jumbo frames on legacy VFs 377 * Version 1.1 supports jumbo frames on VFs if PF has
378 */ 378 * jumbo frames enabled which means legacy VFs are
379 if ((pf_max_frame > ETH_FRAME_LEN) || 379 * disabled
380 (max_frame > (ETH_FRAME_LEN + ETH_FCS_LEN))) 380 */
381 err = -EINVAL; 381 if (pf_max_frame > ETH_FRAME_LEN)
382 break;
383 default:
384 /*
385 * If the PF or VF are running w/ jumbo frames enabled
386 * we need to shut down the VF Rx path as we cannot
387 * support jumbo frames on legacy VFs
388 */
389 if ((pf_max_frame > ETH_FRAME_LEN) ||
390 (max_frame > (ETH_FRAME_LEN + ETH_FCS_LEN)))
391 err = -EINVAL;
392 break;
393 }
382 394
383 /* determine VF receive enable location */ 395 /* determine VF receive enable location */
384 vf_shift = vf % 32; 396 vf_shift = vf % 32;
@@ -740,6 +752,7 @@ static int ixgbe_negotiate_vf_api(struct ixgbe_adapter *adapter,
740 752
741 switch (api) { 753 switch (api) {
742 case ixgbe_mbox_api_10: 754 case ixgbe_mbox_api_10:
755 case ixgbe_mbox_api_11:
743 adapter->vfinfo[vf].vf_api = api; 756 adapter->vfinfo[vf].vf_api = api;
744 return 0; 757 return 0;
745 default: 758 default: