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(-)