]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - drivers/net/ethernet/stmicro/stmmac/common.h
net: stmmac: add support for hash table size 128/256 in dwmac4
[linux.git] / drivers / net / ethernet / stmicro / stmmac / common.h
index ceb0d23f50414c69d6eacc7cfbe512a61068c8fd..ed872eed1cab5d12e89cf6e67947dc96ee695e8a 100644 (file)
@@ -246,12 +246,13 @@ struct stmmac_safety_stats {
 
 /* Max/Min RI Watchdog Timer count value */
 #define MAX_DMA_RIWT           0xff
-#define MIN_DMA_RIWT           0x20
+#define MIN_DMA_RIWT           0x10
 /* Tx coalesce parameters */
 #define STMMAC_COAL_TX_TIMER   1000
 #define STMMAC_MAX_COAL_TX_TICK        100000
 #define STMMAC_TX_MAX_FRAMES   256
-#define STMMAC_TX_FRAMES       25
+#define STMMAC_TX_FRAMES       1
+#define STMMAC_RX_FRAMES       25
 
 /* Packets types */
 enum packets_types {
@@ -325,6 +326,7 @@ struct dma_features {
        /* 802.3az - Energy-Efficient Ethernet (EEE) */
        unsigned int eee;
        unsigned int av;
+       unsigned int hash_tb_sz;
        unsigned int tsoen;
        /* TX and RX csum */
        unsigned int tx_coe;
@@ -351,6 +353,7 @@ struct dma_features {
        unsigned int frpsel;
        unsigned int frpbs;
        unsigned int frpes;
+       unsigned int addr64;
 };
 
 /* GMAC TX FIFO is 8K, Rx FIFO is 16K */
@@ -392,8 +395,12 @@ struct mac_link {
        u32 speed100;
        u32 speed1000;
        u32 speed2500;
-       u32 speed10000;
        u32 duplex;
+       struct {
+               u32 speed2500;
+               u32 speed5000;
+               u32 speed10000;
+       } xgmii;
 };
 
 struct mii_regs {
@@ -414,12 +421,13 @@ struct mac_device_info {
        const struct stmmac_mode_ops *mode;
        const struct stmmac_hwtimestamp *ptp;
        const struct stmmac_tc_ops *tc;
+       const struct stmmac_mmc_ops *mmc;
        struct mii_regs mii;    /* MII register Addresses */
        struct mac_link link;
        void __iomem *pcsr;     /* vpointer to device CSRs */
-       int multicast_filter_bins;
-       int unicast_filter_entries;
-       int mcast_bits_log2;
+       unsigned int multicast_filter_bins;
+       unsigned int unicast_filter_entries;
+       unsigned int mcast_bits_log2;
        unsigned int rx_csum;
        unsigned int pcs;
        unsigned int pmt;