gve: Tx path for DQO-QPL
authorRushil Gupta <rushilg@google.com>
Fri, 4 Aug 2023 21:34:42 +0000 (21:34 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sun, 6 Aug 2023 07:34:36 +0000 (08:34 +0100)
commita6fb8d5a8b6925f1e635818d3dd2d89531d4a058
tree93f77d40a8eb93f13ce742d4ae151925105a1974
parent66ce8e6b49df401854f0c98bed50a65e4167825b
gve: Tx path for DQO-QPL

Each QPL page is divided into GVE_TX_BUFS_PER_PAGE_DQO buffers.
When a packet needs to be transmitted, we break the packet into max
GVE_TX_BUF_SIZE_DQO sized chunks and transmit each chunk using a TX
descriptor.
We allocate the TX buffers from the free list in dqo_tx.
We store these TX buffer indices in an array in the pending_packet
structure.

The TX buffers are returned to the free list in dqo_compl after
receiving packet completion or when removing packets from miss
completions list.

Signed-off-by: Rushil Gupta <rushilg@google.com>
Reviewed-by: Willem de Bruijn <willemb@google.com>
Signed-off-by: Praveen Kaligineedi <pkaligineedi@google.com>
Signed-off-by: Bailey Forrest <bcf@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/google/gve/gve.h
drivers/net/ethernet/google/gve/gve_tx_dqo.c