eth: fbnic: split fbnic_fill()

Factor out handling a single nv from fbnic_fill() to make
it reusable for queue ops.

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Link: https://patch.msgid.link/20250901211214.1027927-10-kuba@kernel.org
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
Jakub Kicinski 2025-09-01 14:12:09 -07:00 committed by Paolo Abeni
parent 8a47d940cf
commit 709da681f4

View File

@ -2348,25 +2348,28 @@ void fbnic_flush(struct fbnic_net *fbn)
fbnic_nv_flush(fbn->napi[i]);
}
static void fbnic_nv_fill(struct fbnic_napi_vector *nv)
{
int j, t;
/* Configure NAPI mapping and populate pages
* in the BDQ rings to use for Rx
*/
for (j = 0, t = nv->txt_count; j < nv->rxt_count; j++, t++) {
struct fbnic_q_triad *qt = &nv->qt[t];
/* Populate the header and payload BDQs */
fbnic_fill_bdq(&qt->sub0);
fbnic_fill_bdq(&qt->sub1);
}
}
void fbnic_fill(struct fbnic_net *fbn)
{
int i;
for (i = 0; i < fbn->num_napi; i++) {
struct fbnic_napi_vector *nv = fbn->napi[i];
int j, t;
/* Configure NAPI mapping and populate pages
* in the BDQ rings to use for Rx
*/
for (j = 0, t = nv->txt_count; j < nv->rxt_count; j++, t++) {
struct fbnic_q_triad *qt = &nv->qt[t];
/* Populate the header and payload BDQs */
fbnic_fill_bdq(&qt->sub0);
fbnic_fill_bdq(&qt->sub1);
}
}
for (i = 0; i < fbn->num_napi; i++)
fbnic_nv_fill(fbn->napi[i]);
}
static void fbnic_enable_twq0(struct fbnic_ring *twq)