]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
eth: fbnic: split fbnic_enable()
authorJakub Kicinski <kuba@kernel.org>
Mon, 1 Sep 2025 21:12:08 +0000 (14:12 -0700)
committerPaolo Abeni <pabeni@redhat.com>
Thu, 4 Sep 2025 08:19:17 +0000 (10:19 +0200)
Factor out handling a single nv from fbnic_enable() to make
it reusable for queue ops. Use a __ prefix for the factored
out code. The real fbnic_nv_enable() which will include
fbnic_wrfl() will be added with the qops, to avoid unused
function warnings.

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Link: https://patch.msgid.link/20250901211214.1027927-9-kuba@kernel.org
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/meta/fbnic/fbnic_txrx.c

index 8384e73b44921ef8c202d7f3196af07b986819b7..38dd1afb70059b06fd0bd8193da03b40ef7459c8 100644 (file)
@@ -2584,33 +2584,36 @@ static void fbnic_enable_rcq(struct fbnic_napi_vector *nv,
        fbnic_ring_wr32(rcq, FBNIC_QUEUE_RCQ_CTL, FBNIC_QUEUE_RCQ_CTL_ENABLE);
 }
 
-void fbnic_enable(struct fbnic_net *fbn)
+static void __fbnic_nv_enable(struct fbnic_napi_vector *nv)
 {
-       struct fbnic_dev *fbd = fbn->fbd;
-       int i;
-
-       for (i = 0; i < fbn->num_napi; i++) {
-               struct fbnic_napi_vector *nv = fbn->napi[i];
-               int j, t;
+       int j, t;
 
-               /* Setup Tx Queue Triads */
-               for (t = 0; t < nv->txt_count; t++) {
-                       struct fbnic_q_triad *qt = &nv->qt[t];
+       /* Setup Tx Queue Triads */
+       for (t = 0; t < nv->txt_count; t++) {
+               struct fbnic_q_triad *qt = &nv->qt[t];
 
-                       fbnic_enable_twq0(&qt->sub0);
-                       fbnic_enable_twq1(&qt->sub1);
-                       fbnic_enable_tcq(nv, &qt->cmpl);
-               }
+               fbnic_enable_twq0(&qt->sub0);
+               fbnic_enable_twq1(&qt->sub1);
+               fbnic_enable_tcq(nv, &qt->cmpl);
+       }
 
-               /* Setup Rx Queue Triads */
-               for (j = 0; j < nv->rxt_count; j++, t++) {
-                       struct fbnic_q_triad *qt = &nv->qt[t];
+       /* Setup Rx Queue Triads */
+       for (j = 0; j < nv->rxt_count; j++, t++) {
+               struct fbnic_q_triad *qt = &nv->qt[t];
 
-                       fbnic_enable_bdq(&qt->sub0, &qt->sub1);
-                       fbnic_config_drop_mode_rcq(nv, &qt->cmpl);
-                       fbnic_enable_rcq(nv, &qt->cmpl);
-               }
+               fbnic_enable_bdq(&qt->sub0, &qt->sub1);
+               fbnic_config_drop_mode_rcq(nv, &qt->cmpl);
+               fbnic_enable_rcq(nv, &qt->cmpl);
        }
+}
+
+void fbnic_enable(struct fbnic_net *fbn)
+{
+       struct fbnic_dev *fbd = fbn->fbd;
+       int i;
+
+       for (i = 0; i < fbn->num_napi; i++)
+               __fbnic_nv_enable(fbn->napi[i]);
 
        fbnic_wrfl(fbd);
 }