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

From: Maciej Fijalkowski <[email-masked]>
Date: Thu, 27 Jun 2024 13:07:22 +0200

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);
}

>  		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
>