]> Pileus Git - ~andy/linux/blobdiff - drivers/net/ethernet/freescale/gianfar.h
Merge branch 'for-3.7/core' of git://git.kernel.dk/linux-block
[~andy/linux] / drivers / net / ethernet / freescale / gianfar.h
index 2136c7ff5e6d2331bf22195194b7f8b028f98587..22eabc13ca99df900587678c24003167636446d3 100644 (file)
@@ -301,8 +301,16 @@ extern const char gfar_driver_version[];
 #define TCTRL_TFCPAUSE         0x00000008
 #define TCTRL_TXSCHED_MASK     0x00000006
 #define TCTRL_TXSCHED_INIT     0x00000000
+/* priority scheduling */
 #define TCTRL_TXSCHED_PRIO     0x00000002
+/* weighted round-robin scheduling (WRRS) */
 #define TCTRL_TXSCHED_WRRS     0x00000004
+/* default WRRS weight and policy setting,
+ * tailored to the tr03wt and tr47wt registers:
+ * equal weight for all Tx Qs, measured in 64byte units
+ */
+#define DEFAULT_WRRS_WEIGHT    0x18181818
+
 #define TCTRL_INIT_CSUM                (TCTRL_TUCSEN | TCTRL_IPCSEN)
 
 #define IEVENT_INIT_CLEAR      0xffffffff
@@ -1072,8 +1080,6 @@ struct gfar_private {
 
        u32 cur_filer_idx;
 
-       struct sk_buff_head rx_recycle;
-
        /* RX queue filer rule set*/
        struct ethtool_rx_list rx_list;
        struct mutex rx_queue_access;
@@ -1098,7 +1104,8 @@ struct gfar_private {
                extended_hash:1,
                bd_stash_en:1,
                rx_filer_enable:1,
-               wol_en:1; /* Wake-on-LAN enabled */
+               wol_en:1, /* Wake-on-LAN enabled */
+               prio_sched_en:1; /* Enable priorty based Tx scheduling in Hw */
        unsigned short padding;
 
        /* PHY stuff */