]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
sfc: siena: eliminate xdp_rxq_info_valid using XDP base API
authorFushuai Wang <wangfushuai@baidu.com>
Sat, 28 Jun 2025 05:10:33 +0000 (13:10 +0800)
committerJakub Kicinski <kuba@kernel.org>
Wed, 2 Jul 2025 00:02:12 +0000 (17:02 -0700)
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>
Acked-by: Edward Cree <ecree.xilinx@gmail.com>
Reviewed-by: Larysa Zaremba <larysa.zaremba@intel.com>
Link: https://patch.msgid.link/20250628051033.51133-1-wangfushuai@baidu.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/sfc/siena/net_driver.h
drivers/net/ethernet/sfc/siena/rx_common.c

index 2be3bad3c993356b3f06394728007d700982bae4..4cf5567821338074cc7d64aee547d2af1567a3ed 100644 (file)
@@ -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 {
index 98d27174015d4d7966b31ab0d99d4249b0effec3..4ae09505e417b595c725db0f763e86121d17700a 100644 (file)
@@ -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)