OSDN Git Service

net: mscc: ocelot: export a constant for the tag length in bytes
authorVladimir Oltean <vladimir.oltean@nxp.com>
Thu, 14 Nov 2019 15:03:24 +0000 (17:03 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 15 Nov 2019 20:32:16 +0000 (12:32 -0800)
This constant will be used in a future patch to increase the MTU on NPI
ports, and will also be used in the tagger driver for Felix.

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mscc/ocelot.c
drivers/net/ethernet/mscc/ocelot.h
drivers/net/ethernet/mscc/ocelot_board.c

index 8ede8ad..8b73d76 100644 (file)
@@ -576,11 +576,11 @@ static int ocelot_port_xmit(struct sk_buff *skb, struct net_device *dev)
        struct skb_shared_info *shinfo = skb_shinfo(skb);
        struct ocelot_port *ocelot_port = &priv->port;
        struct ocelot *ocelot = ocelot_port->ocelot;
+       u32 val, ifh[OCELOT_TAG_LEN / 4];
        struct frame_info info = {};
        u8 grp = 0; /* Send everything on CPU group 0 */
        unsigned int i, count, last;
        int port = priv->chip_port;
-       u32 val, ifh[IFH_LEN];
 
        val = ocelot_read(ocelot, QS_INJ_STATUS);
        if (!(val & QS_INJ_STATUS_FIFO_RDY(BIT(grp))) ||
@@ -603,7 +603,7 @@ static int ocelot_port_xmit(struct sk_buff *skb, struct net_device *dev)
 
        ocelot_gen_ifh(ifh, &info);
 
-       for (i = 0; i < IFH_LEN; i++)
+       for (i = 0; i < OCELOT_TAG_LEN / 4; i++)
                ocelot_write_rix(ocelot, (__force u32)cpu_to_be32(ifh[i]),
                                 QS_INJ_WR, grp);
 
index 7e28434..9159b0a 100644 (file)
@@ -43,8 +43,6 @@
 
 #define OCELOT_PTP_QUEUE_SZ    128
 
-#define IFH_LEN 4
-
 struct frame_info {
        u32 len;
        u16 port;
@@ -66,6 +64,8 @@ struct frame_info {
 #define IFH_REW_OP_TWO_STEP_PTP                0x3
 #define IFH_REW_OP_ORIGIN_PTP          0x5
 
+#define OCELOT_TAG_LEN                 16
+
 #define OCELOT_SPEED_2500 0
 #define OCELOT_SPEED_1000 1
 #define OCELOT_SPEED_100  2
index de2da6d..32aafd9 100644 (file)
@@ -105,7 +105,7 @@ static irqreturn_t ocelot_xtr_irq_handler(int irq, void *arg)
                int sz, len, buf_len;
                struct sk_buff *skb;
 
-               for (i = 0; i < IFH_LEN; i++) {
+               for (i = 0; i < OCELOT_TAG_LEN / 4; i++) {
                        err = ocelot_rx_frame_word(ocelot, grp, true, &ifh[i]);
                        if (err != 4)
                                break;