summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/pensando/ionic/ionic_dev.h
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2021-03-15 21:27:06 -0700
committerDavid S. Miller <davem@davemloft.net>2021-03-15 21:27:06 -0700
commit74c7dbe0f8f096970ad236e04ace1610686acce2 (patch)
tree5890ec36381c4c692c814e76eccbc26c04169c65 /drivers/net/ethernet/pensando/ionic/ionic_dev.h
parent578ce0468f0b5ccc3771ce60fd77d408cd0f9b09 (diff)
parent633eddf120ac148c05db45fc8fd878af54f72eaa (diff)
downloadlinux-74c7dbe0f8f096970ad236e04ace1610686acce2.tar.gz
linux-74c7dbe0f8f096970ad236e04ace1610686acce2.tar.bz2
linux-74c7dbe0f8f096970ad236e04ace1610686acce2.zip
Merge branch 'ionic-tx-updates'
Shannon Nelson says: ==================== ionic Tx updates Just as the Rx path recently got a face lift, it is time for the Tx path to get some attention. The original TSO-to-descriptor mapping was ugly and convoluted and needed some deep work. This series pulls the dma mapping out of the descriptor frag mapping loop and makes the dma mapping more generic for use in the non-TSO case. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/pensando/ionic/ionic_dev.h')
-rw-r--r--drivers/net/ethernet/pensando/ionic/ionic_dev.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/ethernet/pensando/ionic/ionic_dev.h b/drivers/net/ethernet/pensando/ionic/ionic_dev.h
index 339824cfd618..ca7e55455165 100644
--- a/drivers/net/ethernet/pensando/ionic/ionic_dev.h
+++ b/drivers/net/ethernet/pensando/ionic/ionic_dev.h
@@ -179,8 +179,11 @@ struct ionic_buf_info {
struct page *page;
dma_addr_t dma_addr;
u32 page_offset;
+ u32 len;
};
+#define IONIC_MAX_FRAGS (1 + IONIC_TX_MAX_SG_ELEMS_V1)
+
struct ionic_desc_info {
union {
void *desc;
@@ -193,8 +196,9 @@ struct ionic_desc_info {
struct ionic_txq_sg_desc *txq_sg_desc;
struct ionic_rxq_sg_desc *rxq_sgl_desc;
};
+ unsigned int bytes;
unsigned int nbufs;
- struct ionic_buf_info bufs[IONIC_RX_MAX_SG_ELEMS + 1];
+ struct ionic_buf_info bufs[IONIC_MAX_FRAGS];
ionic_desc_cb cb;
void *cb_arg;
};