On Tue, May 28, 2024 at 06:38:01AM +0200, Michal Swiatkowski wrote: > From: Piotr Raczynski <piotr.raczyn...@intel.com> > > Implement devlink port handlers responsible for ethernet type devlink > subfunctions. Create subfunction devlink port and setup all resources > needed for a subfunction netdev to operate. Configure new VSI for each > new subfunction, initialize and configure interrupts and Tx/Rx resources. > Set correct MAC filters and create new netdev. > > For now, subfunction is limited to only one Tx/Rx queue pair. > > Only allocate new subfunction VSI with devlink port new command. > Allocate and free subfunction MSIX interrupt vectors using new API > calls with pci_msix_alloc_irq_at and pci_msix_free_irq. > > Support both automatic and manual subfunction numbers. If no subfunction > number is provided, use xa_alloc to pick a number automatically. This > will find the first free index and use that as the number. This reduces > burden on users in the simple case where a specific number is not > required. It may also be slightly faster to check that a number exists > since xarray lookup should be faster than a linear scan of the dyn_ports > xarray. > > Reviewed-by: Wojciech Drewek <wojciech.dre...@intel.com> > Co-developed-by: Jacob Keller <jacob.e.kel...@intel.com> > Signed-off-by: Jacob Keller <jacob.e.kel...@intel.com> > Signed-off-by: Piotr Raczynski <piotr.raczyn...@intel.com> > Signed-off-by: Michal Swiatkowski <michal.swiatkow...@linux.intel.com>
Reviewed-by: Simon Horman <ho...@kernel.org>