mirror of https://github.com/torvalds/linux.git
bnxt_en: Refactor completion ring free routine
Add a wrapper routine to free L2 completion rings. This will be useful later in the series. Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com> Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com> Signed-off-by: Michael Chan <michael.chan@broadcom.com> Link: https://patch.msgid.link/20250213011240.1640031-5-michael.chan@broadcom.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
e6ec504856
commit
f33a508c23
|
|
@ -7405,6 +7405,20 @@ static void bnxt_hwrm_rx_agg_ring_free(struct bnxt *bp,
|
|||
bp->grp_info[grp_idx].agg_fw_ring_id = INVALID_HW_RING_ID;
|
||||
}
|
||||
|
||||
static void bnxt_hwrm_cp_ring_free(struct bnxt *bp,
|
||||
struct bnxt_cp_ring_info *cpr)
|
||||
{
|
||||
struct bnxt_ring_struct *ring;
|
||||
|
||||
ring = &cpr->cp_ring_struct;
|
||||
if (ring->fw_ring_id == INVALID_HW_RING_ID)
|
||||
return;
|
||||
|
||||
hwrm_ring_free_send_msg(bp, ring, RING_FREE_REQ_RING_TYPE_L2_CMPL,
|
||||
INVALID_HW_RING_ID);
|
||||
ring->fw_ring_id = INVALID_HW_RING_ID;
|
||||
}
|
||||
|
||||
static void bnxt_hwrm_ring_free(struct bnxt *bp, bool close_path)
|
||||
{
|
||||
u32 type;
|
||||
|
|
@ -7450,17 +7464,9 @@ static void bnxt_hwrm_ring_free(struct bnxt *bp, bool close_path)
|
|||
struct bnxt_ring_struct *ring;
|
||||
int j;
|
||||
|
||||
for (j = 0; j < cpr->cp_ring_count && cpr->cp_ring_arr; j++) {
|
||||
struct bnxt_cp_ring_info *cpr2 = &cpr->cp_ring_arr[j];
|
||||
for (j = 0; j < cpr->cp_ring_count && cpr->cp_ring_arr; j++)
|
||||
bnxt_hwrm_cp_ring_free(bp, &cpr->cp_ring_arr[j]);
|
||||
|
||||
ring = &cpr2->cp_ring_struct;
|
||||
if (ring->fw_ring_id == INVALID_HW_RING_ID)
|
||||
continue;
|
||||
hwrm_ring_free_send_msg(bp, ring,
|
||||
RING_FREE_REQ_RING_TYPE_L2_CMPL,
|
||||
INVALID_HW_RING_ID);
|
||||
ring->fw_ring_id = INVALID_HW_RING_ID;
|
||||
}
|
||||
ring = &cpr->cp_ring_struct;
|
||||
if (ring->fw_ring_id != INVALID_HW_RING_ID) {
|
||||
hwrm_ring_free_send_msg(bp, ring, type,
|
||||
|
|
|
|||
Loading…
Reference in New Issue