Subject: Re: [iwl-next v5 04/15] ice: treat subfunction VSI the same as PF VSI

From: Michal Swiatkowski <[email-masked]>
Date: Thu, 27 Jun 2024 14:31:14 +0200

On Thu, Jun 27, 2024 at 01:07:22PM +0200, Maciej Fijalkowski wrote:
> On Thu, Jun 06, 2024 at 01:24:52PM +0200, Michal Swiatkowski wrote:
> > When subfunction VSI is open the same code as for PF VSI should be
> > executed. Also when up is complete. Reflect that in code by adding
> > subfunction VSI to consideration.
> > 
> > In case of stopping, PF doesn't have additional tasks, so the same
> > is with subfunction VSI.
> > 
> > Reviewed-by: Simon Horman <[email-masked]>
> > Signed-off-by: Michal Swiatkowski <[email-masked]>
> > ---
> >  drivers/net/ethernet/intel/ice/ice_main.c | 5 +++--
> >  1 file changed, 3 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/net/ethernet/intel/ice/ice_main.c b/drivers/net/ethernet/intel/ice/ice_main.c
> > index e76e19036593..ddc348371841 100644
> > --- a/drivers/net/ethernet/intel/ice/ice_main.c
> > +++ b/drivers/net/ethernet/intel/ice/ice_main.c
> > @@ -6726,7 +6726,8 @@ static int ice_up_complete(struct ice_vsi *vsi)
> >  
> >  	if (vsi->port_info &&
> >  	    (vsi->port_info->phy.link_info.link_info & ICE_AQ_LINK_UP) &&
> > -	    vsi->netdev && vsi->type == ICE_VSI_PF) {
> > +	    ((vsi->netdev && vsi->type == ICE_VSI_PF) ||
> > +	     (vsi->netdev && vsi->type == ICE_VSI_SF))) {
> 
> patch 1 has:
> 
> 	if (vsi->netdev && (vsi->type == ICE_VSI_PF ||
> 			    vsi->type == ICE_VSI_SF)) {
> 
> so maybe stay consistent and do the same here?
> 
> nit: also seems that a really small helper would make the code easier to
> read and wrap...something like:
> 
> bool ice_is_vsi_pf_sf(struct ice_vsi* vsi)
> {
> 	return (vsi->type == ICE_VSI_PF || vsi->type == ICE_VSI_SF);
> }

Make sense, hope you are ok, with changing it on the occasion (for
example adding multibuffer support).

Thanks,
Michal

> 
> >  		ice_print_link_msg(vsi, true);
> >  		netif_tx_start_all_queues(vsi->netdev);
> >  		netif_carrier_on(vsi->netdev);
> > @@ -7427,7 +7428,7 @@ int ice_vsi_open(struct ice_vsi *vsi)
> >  
> >  	ice_vsi_cfg_netdev_tc(vsi, vsi->tc_cfg.ena_tc);
> >  
> > -	if (vsi->type == ICE_VSI_PF) {
> > +	if (vsi->type == ICE_VSI_PF || vsi->type == ICE_VSI_SF) {
> >  		/* Notify the stack of the actual queue counts. */
> >  		err = netif_set_real_num_tx_queues(vsi->netdev, vsi->num_txq);
> >  		if (err)
> > -- 
> > 2.42.0
> >