nfp: flower: renaming of feature bits
authorLouis Peens <louis.peens@netronome.com>
Tue, 19 May 2020 14:15:01 +0000 (16:15 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 19 May 2020 22:27:21 +0000 (15:27 -0700)
Clean up name aliasing. Some features gets enabled using a slightly
different method, but the bitmap for these were stored in the same
field. Rename their #defines and move the bitmap to a new variable.

Signed-off-by: Louis Peens <louis.peens@netronome.com>
Signed-off-by: Simon Horman <simon.horman@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/netronome/nfp/flower/action.c
drivers/net/ethernet/netronome/nfp/flower/cmsg.c
drivers/net/ethernet/netronome/nfp/flower/main.c
drivers/net/ethernet/netronome/nfp/flower/main.h

index 1c76e15..ff844e5 100644 (file)
@@ -209,7 +209,7 @@ nfp_fl_output(struct nfp_app *app, struct nfp_fl_output *output,
                                            NFP_FL_OUT_FLAGS_USE_TUN);
                output->port = cpu_to_be32(NFP_FL_PORT_TYPE_TUN | tun_type);
        } else if (netif_is_lag_master(out_dev) &&
-                  priv->flower_ext_feats & NFP_FL_FEATS_LAG) {
+                  priv->flower_en_feats & NFP_FL_ENABLE_LAG) {
                int gid;
 
                output->flags = cpu_to_be16(tmp_flags);
@@ -956,7 +956,7 @@ nfp_flower_output_action(struct nfp_app *app,
 
        *a_len += sizeof(struct nfp_fl_output);
 
-       if (priv->flower_ext_feats & NFP_FL_FEATS_LAG) {
+       if (priv->flower_en_feats & NFP_FL_ENABLE_LAG) {
                /* nfp_fl_pre_lag returns -err or size of prelag action added.
                 * This will be 0 if it is not egressing to a lag dev.
                 */
index a595ddb..a050cb8 100644 (file)
@@ -264,7 +264,7 @@ nfp_flower_cmsg_process_one_rx(struct nfp_app *app, struct sk_buff *skb)
                nfp_flower_cmsg_portmod_rx(app, skb);
                break;
        case NFP_FLOWER_CMSG_TYPE_MERGE_HINT:
-               if (app_priv->flower_ext_feats & NFP_FL_FEATS_FLOW_MERGE) {
+               if (app_priv->flower_en_feats & NFP_FL_ENABLE_FLOW_MERGE) {
                        nfp_flower_cmsg_merge_hint_rx(app, skb);
                        break;
                }
@@ -285,7 +285,7 @@ nfp_flower_cmsg_process_one_rx(struct nfp_app *app, struct sk_buff *skb)
                nfp_flower_stats_rlim_reply(app, skb);
                break;
        case NFP_FLOWER_CMSG_TYPE_LAG_CONFIG:
-               if (app_priv->flower_ext_feats & NFP_FL_FEATS_LAG) {
+               if (app_priv->flower_en_feats & NFP_FL_ENABLE_LAG) {
                        skb_stored = nfp_flower_lag_unprocessed_msg(app, skb);
                        break;
                }
index d8ad934..62c2023 100644 (file)
@@ -759,7 +759,7 @@ static int nfp_flower_init(struct nfp_app *app)
        err = nfp_rtsym_write_le(app->pf->rtbl,
                                 "_abi_flower_balance_sync_enable", 1);
        if (!err) {
-               app_priv->flower_ext_feats |= NFP_FL_FEATS_LAG;
+               app_priv->flower_ext_feats |= NFP_FL_ENABLE_LAG;
                nfp_flower_lag_init(&app_priv->nfp_lag);
        } else if (err == -ENOENT) {
                nfp_warn(app->cpp, "LAG not supported by FW.\n");
@@ -772,7 +772,7 @@ static int nfp_flower_init(struct nfp_app *app)
                err = nfp_rtsym_write_le(app->pf->rtbl,
                                         "_abi_flower_merge_hint_enable", 1);
                if (!err) {
-                       app_priv->flower_ext_feats |= NFP_FL_FEATS_FLOW_MERGE;
+                       app_priv->flower_ext_feats |= NFP_FL_ENABLE_FLOW_MERGE;
                        nfp_flower_internal_port_init(app_priv);
                } else if (err == -ENOENT) {
                        nfp_warn(app->cpp, "Flow merge not supported by FW.\n");
@@ -793,7 +793,7 @@ static int nfp_flower_init(struct nfp_app *app)
        return 0;
 
 err_lag_clean:
-       if (app_priv->flower_ext_feats & NFP_FL_FEATS_LAG)
+       if (app_priv->flower_ext_feats & NFP_FL_ENABLE_LAG)
                nfp_flower_lag_cleanup(&app_priv->nfp_lag);
 err_cleanup_metadata:
        nfp_flower_metadata_cleanup(app);
@@ -813,10 +813,10 @@ static void nfp_flower_clean(struct nfp_app *app)
        if (app_priv->flower_ext_feats & NFP_FL_FEATS_VF_RLIM)
                nfp_flower_qos_cleanup(app);
 
-       if (app_priv->flower_ext_feats & NFP_FL_FEATS_LAG)
+       if (app_priv->flower_en_feats & NFP_FL_ENABLE_LAG)
                nfp_flower_lag_cleanup(&app_priv->nfp_lag);
 
-       if (app_priv->flower_ext_feats & NFP_FL_FEATS_FLOW_MERGE)
+       if (app_priv->flower_en_feats & NFP_FL_ENABLE_FLOW_MERGE)
                nfp_flower_internal_port_cleanup(app_priv);
 
        nfp_flower_metadata_cleanup(app);
@@ -886,7 +886,7 @@ static int nfp_flower_start(struct nfp_app *app)
        struct nfp_flower_priv *app_priv = app->priv;
        int err;
 
-       if (app_priv->flower_ext_feats & NFP_FL_FEATS_LAG) {
+       if (app_priv->flower_en_feats & NFP_FL_ENABLE_LAG) {
                err = nfp_flower_lag_reset(&app_priv->nfp_lag);
                if (err)
                        return err;
@@ -907,7 +907,7 @@ nfp_flower_netdev_event(struct nfp_app *app, struct net_device *netdev,
        struct nfp_flower_priv *app_priv = app->priv;
        int ret;
 
-       if (app_priv->flower_ext_feats & NFP_FL_FEATS_LAG) {
+       if (app_priv->flower_en_feats & NFP_FL_ENABLE_LAG) {
                ret = nfp_flower_lag_netdev_event(app_priv, netdev, event, ptr);
                if (ret & NOTIFY_STOP_MASK)
                        return ret;
index d55d0d3..7db3be0 100644 (file)
@@ -44,8 +44,9 @@ struct nfp_app;
 #define NFP_FL_FEATS_FLOW_MOD          BIT(5)
 #define NFP_FL_FEATS_PRE_TUN_RULES     BIT(6)
 #define NFP_FL_FEATS_IPV6_TUN          BIT(7)
-#define NFP_FL_FEATS_FLOW_MERGE                BIT(30)
-#define NFP_FL_FEATS_LAG               BIT(31)
+
+#define NFP_FL_ENABLE_FLOW_MERGE       BIT(0)
+#define NFP_FL_ENABLE_LAG              BIT(1)
 
 struct nfp_fl_mask_id {
        struct circ_buf mask_id_free_list;
@@ -145,6 +146,7 @@ struct nfp_fl_internal_ports {
  * @mask_id_seed:      Seed used for mask hash table
  * @flower_version:    HW version of flower
  * @flower_ext_feats:  Bitmap of extra features the HW supports
+ * @flower_en_feats:   Bitmap of features enabled by HW
  * @stats_ids:         List of free stats ids
  * @mask_ids:          List of free mask ids
  * @mask_table:                Hash table used to store masks
@@ -180,6 +182,7 @@ struct nfp_flower_priv {
        u32 mask_id_seed;
        u64 flower_version;
        u64 flower_ext_feats;
+       u8 flower_en_feats;
        struct nfp_fl_stats_id stats_ids;
        struct nfp_fl_mask_id mask_ids;
        DECLARE_HASHTABLE(mask_table, NFP_FLOWER_MASK_HASH_BITS);
@@ -346,7 +349,7 @@ nfp_flower_internal_port_can_offload(struct nfp_app *app,
 {
        struct nfp_flower_priv *app_priv = app->priv;
 
-       if (!(app_priv->flower_ext_feats & NFP_FL_FEATS_FLOW_MERGE))
+       if (!(app_priv->flower_en_feats & NFP_FL_ENABLE_FLOW_MERGE))
                return false;
        if (!netdev->rtnl_link_ops)
                return false;