net/ionic: fix packet type mask
[dpdk.git] / drivers / net / axgbe / axgbe_dev.c
index d05f9c8..83089f2 100644 (file)
@@ -10,8 +10,8 @@
 
 static inline unsigned int axgbe_get_max_frame(struct axgbe_port *pdata)
 {
-       return pdata->eth_dev->data->mtu + ETHER_HDR_LEN +
-               ETHER_CRC_LEN + VLAN_HLEN;
+       return pdata->eth_dev->data->mtu + RTE_ETHER_HDR_LEN +
+               RTE_ETHER_CRC_LEN + VLAN_HLEN;
 }
 
 /* query busy bit */
@@ -1019,7 +1019,6 @@ static void axgbe_config_jumbo_enable(struct axgbe_port *pdata)
        unsigned int val;
 
        val = (pdata->rx_buf_size > AXGMAC_STD_PACKET_MTU) ? 1 : 0;
-       val = 1;
 
        AXGMAC_IOWRITE_BITS(pdata, MAC_RCR, JE, val);
 }
@@ -1037,6 +1036,20 @@ static void axgbe_config_checksum_offload(struct axgbe_port *pdata)
                AXGMAC_IOWRITE_BITS(pdata, MAC_RCR, IPC, 0);
 }
 
+static void axgbe_config_mmc(struct axgbe_port *pdata)
+{
+       struct axgbe_mmc_stats *stats = &pdata->mmc_stats;
+
+       /* Reset stats */
+       memset(stats, 0, sizeof(*stats));
+
+       /* Set counters to reset on read */
+       AXGMAC_IOWRITE_BITS(pdata, MMC_CR, ROR, 1);
+
+       /* Reset the counters */
+       AXGMAC_IOWRITE_BITS(pdata, MMC_CR, CR, 1);
+}
+
 static int axgbe_init(struct axgbe_port *pdata)
 {
        int ret;
@@ -1079,6 +1092,7 @@ static int axgbe_init(struct axgbe_port *pdata)
        axgbe_config_flow_control(pdata);
        axgbe_config_mac_speed(pdata);
        axgbe_config_checksum_offload(pdata);
+       axgbe_config_mmc(pdata);
 
        return 0;
 }