ibmvnic: Generalize TX pool structure
authorThomas Falcon <tlfalcon@linux.vnet.ibm.com>
Sat, 17 Mar 2018 01:00:24 +0000 (20:00 -0500)
committerDavid S. Miller <davem@davemloft.net>
Sun, 18 Mar 2018 00:12:39 +0000 (20:12 -0400)
Remove some unused fields in the structure and include values
describing the individual buffer size and number of buffers in
a TX pool. This allows us to use these fields for TX pool buffer
accounting as opposed to using hard coded values. Include a new
pool array for TSO transmissions.

Signed-off-by: Thomas Falcon <tlfalcon@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/ibm/ibmvnic.h

index 099c89d49945d08735eda8f5cf63298185f86afa..d287dc78db453ea791675fd8efd38e9b2c33d412 100644 (file)
@@ -917,11 +917,11 @@ struct ibmvnic_tx_pool {
        int *free_map;
        int consumer_index;
        int producer_index;
-       wait_queue_head_t ibmvnic_tx_comp_q;
-       struct task_struct *work_thread;
        struct ibmvnic_long_term_buff long_term_buff;
        struct ibmvnic_long_term_buff tso_ltb;
        int tso_index;
+       int num_buffers;
+       int buf_size;
 };
 
 struct ibmvnic_rx_buff {
@@ -1044,6 +1044,7 @@ struct ibmvnic_adapter {
        u64 promisc;
 
        struct ibmvnic_tx_pool *tx_pool;
+       struct ibmvnic_tx_pool *tso_pool;
        struct completion init_done;
        int init_done_rc;