On Tue, May 28, 2024 at 06:38:01AM +0200, Michal Swiatkowski wrote: > From: Piotr Raczynski <[email protected]> > > 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 <[email protected]> > Co-developed-by: Jacob Keller <[email protected]> > Signed-off-by: Jacob Keller <[email protected]> > Signed-off-by: Piotr Raczynski <[email protected]> > Signed-off-by: Michal Swiatkowski <[email protected]>
Reviewed-by: Simon Horman <[email protected]>
