]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - drivers/net/ethernet/broadcom/genet/bcmgenet.h
net: bcmgenet: core changes for supporting multiple Rx queues
[mirror_ubuntu-artful-kernel.git] / drivers / net / ethernet / broadcom / genet / bcmgenet.h
index 5684e8529ecc32aa606c6797a57815ecb817ccab..17443db8dc53bb06e203652168b3706370112546 100644 (file)
@@ -540,6 +540,16 @@ struct bcmgenet_tx_ring {
        struct bcmgenet_priv *priv;
 };
 
+struct bcmgenet_rx_ring {
+       unsigned int    index;          /* Rx ring index */
+       struct enet_cb  *cbs;           /* Rx ring buffer control block */
+       unsigned int    size;           /* Rx ring size */
+       unsigned int    c_index;        /* Rx last consumer index */
+       unsigned int    read_ptr;       /* Rx ring read pointer */
+       unsigned int    cb_ptr;         /* Rx ring initial CB ptr */
+       unsigned int    end_ptr;        /* Rx ring end CB ptr */
+};
+
 /* device context */
 struct bcmgenet_priv {
        void __iomem *base;
@@ -560,13 +570,11 @@ struct bcmgenet_priv {
 
        /* receive variables */
        void __iomem *rx_bds;
-       void __iomem *rx_bd_assign_ptr;
-       int rx_bd_assign_index;
        struct enet_cb *rx_cbs;
        unsigned int num_rx_bds;
        unsigned int rx_buf_len;
-       unsigned int rx_read_ptr;
-       unsigned int rx_c_index;
+
+       struct bcmgenet_rx_ring rx_rings[DESC_INDEX + 1];
 
        /* other misc variables */
        struct bcmgenet_hw_params *hw_params;