the generic python library does not have flags-by-name
support, yet, but we also don't have to carry strings
in the messages, as user space can get the names from
the spec.
The RX path allocates the QPL page pool at queue creation, and
tries to reuse these pages through page recycling. This patch
ensures that on refill no non-QPL pages are posted to the device.
When the driver is running low on free buffers, an ondemand
allocation step kicks in that allocates a non-qpl page for
SKB business to free up the QPL page in use.
gve_try_recycle_buf was moved to gve_rx_append_frags so that driver does
not attempt to mark buffer as used if a non-qpl page was allocated
ondemand.
Signed-off-by: Rushil Gupta <email address hidden>
Reviewed-by: Willem de Bruijn <email address hidden>
Signed-off-by: Praveen Kaligineedi <email address hidden>
Signed-off-by: Bailey Forrest <email address hidden>
Signed-off-by: David S. Miller <email address hidden>
(cherry picked from commit e7075ab4fb6b39730dfbfbfa3a5505d678f01d2c)
Signed-off-by: Khalid Elmously <email address hidden>
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 <email address hidden>
Reviewed-by: Willem de Bruijn <email address hidden>
Signed-off-by: Praveen Kaligineedi <email address hidden>
Signed-off-by: Bailey Forrest <email address hidden>
Signed-off-by: David S. Miller <email address hidden>
(cherry picked from commit a6fb8d5a8b6925f1e635818d3dd2d89531d4a058)
Signed-off-by: Khalid Elmously <email address hidden>
GVE supports QPL ("queue-page-list") mode where
all data is communicated through a set of pre-registered
pages. Adding this mode to DQO descriptor format.
Add checks, abi-changes and device options to support
QPL mode for DQO in addition to GQI. Also, use
pages-per-qpl supplied by device-option to control the
size of the "queue-page-list".
Signed-off-by: Rushil Gupta <email address hidden>
Reviewed-by: Willem de Bruijn <email address hidden>
Signed-off-by: Praveen Kaligineedi <email address hidden>
Signed-off-by: Bailey Forrest <email address hidden>
Signed-off-by: David S. Miller <email address hidden>
(backported from commit 66ce8e6b49df401854f0c98bed50a65e4167825b)
[ kmously: adjusted in drivers/net/ethernet/google/gve/gve.h ]
Signed-off-by: Khalid Elmously <email address hidden>
7295136...
by
Jakub Kicinski <email address hidden>
eth: add missing xdp.h includes in drivers
Handful of drivers currently expect to get xdp.h by virtue
of including netdevice.h. This will soon no longer be the case
so add explicit includes.
Reviewed-by: Wei Fang <email address hidden>
Reviewed-by: Gerhard Engleder <email address hidden>
Signed-off-by: Jakub Kicinski <email address hidden>
Acked-by: Jesper Dangaard Brouer <email address hidden>
Link: https://<email address hidden>
Signed-off-by: Martin KaFai Lau <email address hidden>
(backported from commit 92272ec4107ef4f826b694a1338562c007e09821)
[ kmously: adjusted for different #includes in drivers/net/ethernet/intel/igc/igc.h ]
Signed-off-by: Khalid Elmously <email address hidden>
Current codebase contained the usage of two different names for this
driver (i.e., `gvnic` and `gve`), which is quite unfriendly for users
to use, especially when trying to bind or unbind the driver manually.
The corresponding kernel module is registered with the name of `gve`.
It's more reasonable to align the name of the driver with the module.
Fixes: 893ce44df565 ("gve: Add basic driver framework for Compute Engine Virtual NIC")
Cc: <email address hidden>
Signed-off-by: Junfeng Guo <email address hidden>
Signed-off-by: David S. Miller <email address hidden>
(cherry picked from commit 9d0aba98316d00f9c0a4506fc15f5ed9241bc1fd)
Signed-off-by: Khalid Elmously <email address hidden>