ice: track interrupt vectors with xarray
authorPiotr Raczynski <piotr.raczynski@intel.com>
Mon, 15 May 2023 19:03:18 +0000 (21:03 +0200)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Tue, 16 May 2023 16:38:38 +0000 (09:38 -0700)
commitcfebc0a36ea5518d6b32a6999da5accf0a94fafa
tree88ada2e93091ff1031061fdce47b34a52c98e1a3
parent4aad5335969f25c4dc966a15c5497db3718538bb
ice: track interrupt vectors with xarray

Replace custom interrupt tracker with generic xarray data structure.
Remove all code responsible for searching for a new entry with xa_alloc,
which always tries to allocate at the lowes possible index. As a result
driver is always using a contiguous region of the MSIX vector table.

New tracker keeps ice_irq_entry entries in xarray as opaque for the rest
of the driver hiding the entry details from the caller.

Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Reviewed-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Tested-by: Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
Signed-off-by: Piotr Raczynski <piotr.raczynski@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/ice/ice.h
drivers/net/ethernet/intel/ice/ice_irq.c
drivers/net/ethernet/intel/ice/ice_irq.h
drivers/net/ethernet/intel/ice/ice_lib.c
drivers/net/ethernet/intel/ice/ice_lib.h
drivers/net/ethernet/intel/ice/ice_sriov.c