ice: Restructure VFs initialization flows
authorAkeem G Abodunrin <akeem.g.abodunrin@intel.com>
Thu, 25 Jul 2019 08:55:30 +0000 (01:55 -0700)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Tue, 20 Aug 2019 19:28:35 +0000 (12:28 -0700)
commitd82dd83df27e31da3f2a838b32d0b82940dcd504
treebef8d3982c52746e8f76bcc13cdb0abda5d83df4
parent9118fcd5255f6d3891c90e01edd98dfc402ac663
ice: Restructure VFs initialization flows

This patch restructures how VFs are configured, and resources allocated.
Instead of freeing resources that were never allocated, and resetting
empty VFs that have never been created - the new flow will just allocate
resources for number of requested VFs based on the availability.

During VFs initialization process, global interrupt is disabled, and
rearmed after getting MSIX vectors for VFs. This allows immediate mailbox
communications, instead of delaying it till later and VFs.
PF communications resulted to using polling instead of actual interrupt.
The issue manifested when creating higher number of VFs (128 VFs) per PF.

Signed-off-by: Akeem G Abodunrin <akeem.g.abodunrin@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ice/ice.h
drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c