mlxsw: Make PMAOS pack function more generic
authorIdo Schimmel <idosch@nvidia.com>
Wed, 15 Sep 2021 10:13:13 +0000 (13:13 +0300)
committerDavid S. Miller <davem@davemloft.net>
Wed, 15 Sep 2021 15:17:16 +0000 (16:17 +0100)
The PMAOS register has enable bits (e.g., PMAOS.ee) that allow changing
only a subset of the fields, which is exactly what subsequent patches
will need to do. Instead of passing multiple arguments to its pack
function, only pass the module index and let the rest be set by the
different callers.

No functional changes intended.

Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlxsw/core_env.c
drivers/net/ethernet/mellanox/mlxsw/reg.h

index c7b7254..a474629 100644 (file)
@@ -684,8 +684,10 @@ mlxsw_env_module_oper_state_event_enable(struct mlxsw_core *mlxsw_core,
        for (i = 0; i < module_count; i++) {
                char pmaos_pl[MLXSW_REG_PMAOS_LEN];
 
-               mlxsw_reg_pmaos_pack(pmaos_pl, i,
-                                    MLXSW_REG_PMAOS_E_GENERATE_EVENT);
+               mlxsw_reg_pmaos_pack(pmaos_pl, i);
+               mlxsw_reg_pmaos_e_set(pmaos_pl,
+                                     MLXSW_REG_PMAOS_E_GENERATE_EVENT);
+               mlxsw_reg_pmaos_ee_set(pmaos_pl, true);
                err = mlxsw_reg_write(mlxsw_core, MLXSW_REG(pmaos), pmaos_pl);
                if (err)
                        return err;
index 667856f..6c96e12 100644 (file)
@@ -5747,13 +5747,10 @@ enum mlxsw_reg_pmaos_e {
  */
 MLXSW_ITEM32(reg, pmaos, e, 0x04, 0, 2);
 
-static inline void mlxsw_reg_pmaos_pack(char *payload, u8 module,
-                                       enum mlxsw_reg_pmaos_e e)
+static inline void mlxsw_reg_pmaos_pack(char *payload, u8 module)
 {
        MLXSW_REG_ZERO(pmaos, payload);
        mlxsw_reg_pmaos_module_set(payload, module);
-       mlxsw_reg_pmaos_e_set(payload, e);
-       mlxsw_reg_pmaos_ee_set(payload, true);
 }
 
 /* PPLR - Port Physical Loopback Register