Subject: Re: [PATCH net-next 3/5] dpaa2-switch: reduce the size of the if_id bitmap to 64 bits

From: Andrew Lunn <[email-masked]>
Date: Thu, 18 Mar 2021 22:15:18 +0100

On Tue, Mar 16, 2021 at 04:55:10PM +0200, Ioana Ciornei wrote:
> From: Ioana Ciornei <[email-masked]>
> 
> The maximum number of DPAA2 switch interfaces, including the control
> interface, is 64. Even though this restriction existed from the first
> place, the command structures which use an interface id bitmap were
> poorly described and even though a single uint64_t is enough, all of
> them used an array of 4 uint64_t's.
> Fix this by reducing the size of the interface id field to a single
> uint64_t.
> 
> Signed-off-by: Ioana Ciornei <[email-masked]>
> ---
>  .../net/ethernet/freescale/dpaa2/dpsw-cmd.h    |  4 ++--
>  drivers/net/ethernet/freescale/dpaa2/dpsw.c    | 18 ++++++++++--------
>  2 files changed, 12 insertions(+), 10 deletions(-)
> 
> diff --git a/drivers/net/ethernet/freescale/dpaa2/dpsw-cmd.h b/drivers/net/ethernet/freescale/dpaa2/dpsw-cmd.h
> index 2371fd5c40e3..996a59dcd01d 100644
> --- a/drivers/net/ethernet/freescale/dpaa2/dpsw-cmd.h
> +++ b/drivers/net/ethernet/freescale/dpaa2/dpsw-cmd.h
> @@ -340,7 +340,7 @@ struct dpsw_cmd_vlan_manage_if {
>  	__le16 vlan_id;
>  	__le32 pad1;
>  	/* cmd word 1-4 */
> -	__le64 if_id[4];
> +	__le64 if_id;
>  };
>  
>  struct dpsw_cmd_vlan_remove {
> @@ -386,7 +386,7 @@ struct dpsw_cmd_fdb_multicast_op {
>  	u8 mac_addr[6];
>  	__le16 pad2;
>  	/* cmd word 2-5 */
> -	__le64 if_id[4];
> +	__le64 if_id;
>  };
>  
>  struct dpsw_cmd_fdb_dump {
> diff --git a/drivers/net/ethernet/freescale/dpaa2/dpsw.c b/drivers/net/ethernet/freescale/dpaa2/dpsw.c
> index ad7a4c03b130..ef0f90ae683f 100644
> --- a/drivers/net/ethernet/freescale/dpaa2/dpsw.c
> +++ b/drivers/net/ethernet/freescale/dpaa2/dpsw.c
> @@ -773,16 +773,18 @@ int dpsw_vlan_add_if(struct fsl_mc_io *mc_io,
>  		     u16 vlan_id,
>  		     const struct dpsw_vlan_if_cfg *cfg)
>  {
> +	struct dpsw_cmd_vlan_add_if *cmd_params;
>  	struct fsl_mc_command cmd = { 0 };
> -	struct dpsw_cmd_vlan_manage_if *cmd_params;

There is no mention in the commit message about replacing
dpsw_cmd_vlan_manage_if with dpsw_cmd_vlan_add_if. I wounder if this
should be a separate patch?

       Andrew