OSDN Git Service

net: mvpp2: cls: Don't use the sequence attribute for classification
authorMaxime Chevallier <maxime.chevallier@bootlin.com>
Wed, 27 Mar 2019 08:44:18 +0000 (09:44 +0100)
committerDavid S. Miller <davem@davemloft.net>
Wed, 27 Mar 2019 18:10:58 +0000 (11:10 -0700)
The classifier allows to combine multiple lookups in one "sequence" that
is counted as a single lookup to an engine, with a single result.

We don't actually use that feature, so remove any places where we set
this field, so that the classifier doesn't try to interpret these
fields.

Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c
drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.h

index 5339199..e50154e 100644 (file)
@@ -429,12 +429,6 @@ static void mvpp2_cls_flow_port_id_sel(struct mvpp2_cls_flow_entry *fe,
                fe->data[0] &= ~MVPP2_CLS_FLOW_TBL0_PORT_ID_SEL;
 }
 
-static void mvpp2_cls_flow_seq_set(struct mvpp2_cls_flow_entry *fe, u32 seq)
-{
-       fe->data[1] &= ~MVPP2_CLS_FLOW_TBL1_SEQ(MVPP2_CLS_FLOW_TBL1_SEQ_MASK);
-       fe->data[1] |= MVPP2_CLS_FLOW_TBL1_SEQ(seq);
-}
-
 static void mvpp2_cls_flow_last_set(struct mvpp2_cls_flow_entry *fe,
                                    bool is_last)
 {
@@ -548,7 +542,6 @@ static void mvpp2_cls_flow_init(struct mvpp2 *priv,
        mvpp2_cls_flow_port_id_sel(&fe, true);
        mvpp2_cls_flow_last_set(&fe, 0);
        mvpp2_cls_flow_pri_set(&fe, 0);
-       mvpp2_cls_flow_seq_set(&fe, MVPP2_CLS_FLOW_SEQ_FIRST1);
        mvpp2_cls_flow_lu_type_set(&fe, MVPP2_CLS_LU_ALL);
 
        /* Add all ports */
@@ -564,7 +557,6 @@ static void mvpp2_cls_flow_init(struct mvpp2 *priv,
 
                mvpp2_cls_flow_port_id_sel(&fe, true);
                mvpp2_cls_flow_pri_set(&fe, i + 1);
-               mvpp2_cls_flow_seq_set(&fe, MVPP2_CLS_FLOW_SEQ_MIDDLE);
                mvpp2_cls_flow_port_add(&fe, BIT(i));
 
                mvpp2_cls_flow_write(priv, &fe);
@@ -572,8 +564,6 @@ static void mvpp2_cls_flow_init(struct mvpp2 *priv,
 
        /* Update the last entry */
        mvpp2_cls_flow_last_set(&fe, 1);
-       mvpp2_cls_flow_seq_set(&fe, MVPP2_CLS_FLOW_SEQ_LAST);
-
        mvpp2_cls_flow_write(priv, &fe);
 }
 
index fa588b0..9a4796f 100644 (file)
@@ -71,14 +71,6 @@ enum mvpp2_cls_field_id {
        MVPP22_CLS_FIELD_L4DIP = 0x1e,
 };
 
-enum mvpp2_cls_flow_seq {
-       MVPP2_CLS_FLOW_SEQ_NORMAL = 0,
-       MVPP2_CLS_FLOW_SEQ_FIRST1,
-       MVPP2_CLS_FLOW_SEQ_FIRST2,
-       MVPP2_CLS_FLOW_SEQ_LAST,
-       MVPP2_CLS_FLOW_SEQ_MIDDLE
-};
-
 /* Classifier C2 engine constants */
 #define MVPP22_CLS_C2_TCAM_EN(data)            ((data) << 16)