RE: [Intel-wired-lan] [PATCH iwl-next] i40e: Remove queue tracking fields from i40e_adminq_ring

From: Pucha, HimasekharX Reddy
Date: Wed Nov 08 2023 - 00:19:24 EST


> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@xxxxxxxxxx> On Behalf Of Ivan Vecera
> Sent: Thursday, October 26, 2023 2:09 PM
> To: netdev@xxxxxxxxxxxxxxx
> Cc: Drewek, Wojciech <wojciech.drewek@xxxxxxxxx>; intel-wired-lan@xxxxxxxxxxxxxxxx; Brandeburg, Jesse <jesse.brandeburg@xxxxxxxxx>; linux-kernel@xxxxxxxxxxxxxxx; Eric Dumazet <edumazet@xxxxxxxxxx>; Nguyen, Anthony L <anthony.l.nguyen@xxxxxxxxx>; Keller, Jacob E <jacob.e.keller@xxxxxxxxx>; Jakub Kicinski <kuba@xxxxxxxxxx>; Paolo Abeni <pabeni@xxxxxxxxxx>; David S. Miller <davem@xxxxxxxxxxxxx>
> Subject: [Intel-wired-lan] [PATCH iwl-next] i40e: Remove queue tracking fields from i40e_adminq_ring
>
> Fields 'head', 'tail', 'len', 'bah' and 'bal' in i40e_adminq_ring
> are used to store register offsets. These offsets are initialized
> and remains constant so there is no need to store them in the
> i40e_adminq_ring structure.
>
> Remove these fields from i40e_adminq_ring and use register offset
> constants instead. Remove i40e_adminq_init_regs() that originally
> stores these constants into these fields.
>
> Finally improve i40e_check_asq_alive() that assumes that
> non-zero value of hw->aq.asq.len indicates fully initialized
> AdminQ send queue. Replace it by check for non-zero value
> of field hw->aq.asq.count that is non-zero when the sending
> queue is initialized and is zeroed during shutdown of
> the queue.
>
> Signed-off-by: Ivan Vecera <ivecera@xxxxxxxxxx>
> ---
> drivers/net/ethernet/intel/i40e/i40e_adminq.c | 86 +++++++------------
> drivers/net/ethernet/intel/i40e/i40e_adminq.h | 7 --
> drivers/net/ethernet/intel/i40e/i40e_common.c | 8 +-
> drivers/net/ethernet/intel/i40e/i40e_main.c | 8 +-
> 4 files changed, 39 insertions(+), 70 deletions(-)
>

Tested-by: Pucha Himasekhar Reddy <himasekharx.reddy.pucha@xxxxxxxxx> (A Contingent worker at Intel)