drivers/net/ethernet/sfc/net_driver.h | 2 -- drivers/net/ethernet/sfc/rx_common.c | 6 +----- drivers/net/ethernet/sfc/siena/net_driver.h | 2 -- drivers/net/ethernet/sfc/siena/rx_common.c | 6 +----- 4 files changed, 2 insertions(+), 14 deletions(-)
Commit eb9a36be7f3e ("sfc: perform XDP processing on received packets")
and commit d48523cb88e0 ("sfc: Copy shared files needed for Siena
(part 2)") use xdp_rxq_info_valid to track failures of xdp_rxq_info_reg().
However, this driver-maintained state becomes redundant since the XDP
framework already provides xdp_rxq_info_is_reg() for checking registration
status.
Signed-off-by: Fushuai Wang <wangfushuai@baidu.com>
---
drivers/net/ethernet/sfc/net_driver.h | 2 --
drivers/net/ethernet/sfc/rx_common.c | 6 +-----
drivers/net/ethernet/sfc/siena/net_driver.h | 2 --
drivers/net/ethernet/sfc/siena/rx_common.c | 6 +-----
4 files changed, 2 insertions(+), 14 deletions(-)
diff --git a/drivers/net/ethernet/sfc/net_driver.h b/drivers/net/ethernet/sfc/net_driver.h
index 5c0f306fb019..b98c259f672d 100644
--- a/drivers/net/ethernet/sfc/net_driver.h
+++ b/drivers/net/ethernet/sfc/net_driver.h
@@ -404,7 +404,6 @@ struct efx_rx_page_state {
* @old_rx_packets: Value of @rx_packets as of last efx_init_rx_queue()
* @old_rx_bytes: Value of @rx_bytes as of last efx_init_rx_queue()
* @xdp_rxq_info: XDP specific RX queue information.
- * @xdp_rxq_info_valid: Is xdp_rxq_info valid data?.
*/
struct efx_rx_queue {
struct efx_nic *efx;
@@ -443,7 +442,6 @@ struct efx_rx_queue {
unsigned long old_rx_packets;
unsigned long old_rx_bytes;
struct xdp_rxq_info xdp_rxq_info;
- bool xdp_rxq_info_valid;
};
enum efx_sync_events_state {
diff --git a/drivers/net/ethernet/sfc/rx_common.c b/drivers/net/ethernet/sfc/rx_common.c
index f4f75299dfa9..5306f4c44be4 100644
--- a/drivers/net/ethernet/sfc/rx_common.c
+++ b/drivers/net/ethernet/sfc/rx_common.c
@@ -269,8 +269,6 @@ void efx_init_rx_queue(struct efx_rx_queue *rx_queue)
"Failure to initialise XDP queue information rc=%d\n",
rc);
efx->xdp_rxq_info_failed = true;
- } else {
- rx_queue->xdp_rxq_info_valid = true;
}
/* Set up RX descriptor ring */
@@ -302,10 +300,8 @@ void efx_fini_rx_queue(struct efx_rx_queue *rx_queue)
efx_fini_rx_recycle_ring(rx_queue);
- if (rx_queue->xdp_rxq_info_valid)
+ if (xdp_rxq_info_is_reg(&rx_queue->xdp_rxq_info))
xdp_rxq_info_unreg(&rx_queue->xdp_rxq_info);
-
- rx_queue->xdp_rxq_info_valid = false;
}
void efx_remove_rx_queue(struct efx_rx_queue *rx_queue)
diff --git a/drivers/net/ethernet/sfc/siena/net_driver.h b/drivers/net/ethernet/sfc/siena/net_driver.h
index 2be3bad3c993..4cf556782133 100644
--- a/drivers/net/ethernet/sfc/siena/net_driver.h
+++ b/drivers/net/ethernet/sfc/siena/net_driver.h
@@ -384,7 +384,6 @@ struct efx_rx_page_state {
* @recycle_count: RX buffer recycle counter.
* @slow_fill: Timer used to defer efx_nic_generate_fill_event().
* @xdp_rxq_info: XDP specific RX queue information.
- * @xdp_rxq_info_valid: Is xdp_rxq_info valid data?.
*/
struct efx_rx_queue {
struct efx_nic *efx;
@@ -417,7 +416,6 @@ struct efx_rx_queue {
/* Statistics to supplement MAC stats */
unsigned long rx_packets;
struct xdp_rxq_info xdp_rxq_info;
- bool xdp_rxq_info_valid;
};
enum efx_sync_events_state {
diff --git a/drivers/net/ethernet/sfc/siena/rx_common.c b/drivers/net/ethernet/sfc/siena/rx_common.c
index 98d27174015d..4ae09505e417 100644
--- a/drivers/net/ethernet/sfc/siena/rx_common.c
+++ b/drivers/net/ethernet/sfc/siena/rx_common.c
@@ -268,8 +268,6 @@ void efx_siena_init_rx_queue(struct efx_rx_queue *rx_queue)
"Failure to initialise XDP queue information rc=%d\n",
rc);
efx->xdp_rxq_info_failed = true;
- } else {
- rx_queue->xdp_rxq_info_valid = true;
}
/* Set up RX descriptor ring */
@@ -299,10 +297,8 @@ void efx_siena_fini_rx_queue(struct efx_rx_queue *rx_queue)
efx_fini_rx_recycle_ring(rx_queue);
- if (rx_queue->xdp_rxq_info_valid)
+ if (xdp_rxq_info_is_reg(&rx_queue->xdp_rxq_info))
xdp_rxq_info_unreg(&rx_queue->xdp_rxq_info);
-
- rx_queue->xdp_rxq_info_valid = false;
}
void efx_siena_remove_rx_queue(struct efx_rx_queue *rx_queue)
--
2.36.1
On 26/06/2025 16:59, Fushuai Wang wrote: > Commit eb9a36be7f3e ("sfc: perform XDP processing on received packets") > and commit d48523cb88e0 ("sfc: Copy shared files needed for Siena > (part 2)") use xdp_rxq_info_valid to track failures of xdp_rxq_info_reg(). > However, this driver-maintained state becomes redundant since the XDP > framework already provides xdp_rxq_info_is_reg() for checking registration > status. > > Signed-off-by: Fushuai Wang <wangfushuai@baidu.com> Looks alright except that subject prefix is misleading as it sounds like it's just patching siena rather than both siena and ef10. I'd suggest splitting this into two patches, one just touching the siena version with this title, the other with subject prefix just "sfc: ".
>> Commit eb9a36be7f3e ("sfc: perform XDP processing on received packets") >> and commit d48523cb88e0 ("sfc: Copy shared files needed for Siena >> (part 2)") use xdp_rxq_info_valid to track failures of xdp_rxq_info_reg(). >> However, this driver-maintained state becomes redundant since the XDP >> framework already provides xdp_rxq_info_is_reg() for checking registration >> status. >> >> Signed-off-by: Fushuai Wang <wangfushuai@baidu.com> > > Looks alright except that subject prefix is misleading as it sounds like > it's just patching siena rather than both siena and ef10. > I'd suggest splitting this into two patches, one just touching the siena > version with this title, the other with subject prefix just "sfc: ". Hi, Edward I'll split this into two separate patches and send the update patches shortly. -- Regards, Wang
© 2016 - 2025 Red Hat, Inc.