2021-12-18 23:54:21

by David Mosberger-Tang

[permalink] [raw]
Subject: [PATCH 03/23] wilc1000: move receive-queue stats from txq to wilc structure

This is in preparation of switching the transmit queue to struct
sk_buffs. There is no functional change other than moving the
location of the structure.

Signed-off-by: David Mosberger-Tang <[email protected]>
---
.../net/wireless/microchip/wilc1000/netdev.h | 1 +
.../net/wireless/microchip/wilc1000/wlan.c | 28 +++++++++----------
.../net/wireless/microchip/wilc1000/wlan.h | 1 -
3 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/drivers/net/wireless/microchip/wilc1000/netdev.h b/drivers/net/wireless/microchip/wilc1000/netdev.h
index 65cf296a8689e..ce79bdcc28000 100644
--- a/drivers/net/wireless/microchip/wilc1000/netdev.h
+++ b/drivers/net/wireless/microchip/wilc1000/netdev.h
@@ -254,6 +254,7 @@ struct wilc {

struct txq_handle txq[NQUEUES];
int txq_entries;
+ struct txq_fw_recv_queue_stat fw[NQUEUES];

struct wilc_tx_queue_status tx_q_limit;
struct rxq_entry_t rxq_head;
diff --git a/drivers/net/wireless/microchip/wilc1000/wlan.c b/drivers/net/wireless/microchip/wilc1000/wlan.c
index fafeabe2537a3..2d103131b2e93 100644
--- a/drivers/net/wireless/microchip/wilc1000/wlan.c
+++ b/drivers/net/wireless/microchip/wilc1000/wlan.c
@@ -373,32 +373,32 @@ static inline int ac_balance(struct wilc *wl, u8 *ratio)
return -EINVAL;

for (i = 0; i < NQUEUES; i++)
- if (wl->txq[i].fw.count > max_count)
- max_count = wl->txq[i].fw.count;
+ if (wl->fw[i].count > max_count)
+ max_count = wl->fw[i].count;

for (i = 0; i < NQUEUES; i++)
- ratio[i] = max_count - wl->txq[i].fw.count;
+ ratio[i] = max_count - wl->fw[i].count;

return 0;
}

static inline void ac_update_fw_ac_pkt_info(struct wilc *wl, u32 reg)
{
- wl->txq[AC_BK_Q].fw.count = FIELD_GET(BK_AC_COUNT_FIELD, reg);
- wl->txq[AC_BE_Q].fw.count = FIELD_GET(BE_AC_COUNT_FIELD, reg);
- wl->txq[AC_VI_Q].fw.count = FIELD_GET(VI_AC_COUNT_FIELD, reg);
- wl->txq[AC_VO_Q].fw.count = FIELD_GET(VO_AC_COUNT_FIELD, reg);
-
- wl->txq[AC_BK_Q].fw.acm = FIELD_GET(BK_AC_ACM_STAT_FIELD, reg);
- wl->txq[AC_BE_Q].fw.acm = FIELD_GET(BE_AC_ACM_STAT_FIELD, reg);
- wl->txq[AC_VI_Q].fw.acm = FIELD_GET(VI_AC_ACM_STAT_FIELD, reg);
- wl->txq[AC_VO_Q].fw.acm = FIELD_GET(VO_AC_ACM_STAT_FIELD, reg);
+ wl->fw[AC_BK_Q].count = FIELD_GET(BK_AC_COUNT_FIELD, reg);
+ wl->fw[AC_BE_Q].count = FIELD_GET(BE_AC_COUNT_FIELD, reg);
+ wl->fw[AC_VI_Q].count = FIELD_GET(VI_AC_COUNT_FIELD, reg);
+ wl->fw[AC_VO_Q].count = FIELD_GET(VO_AC_COUNT_FIELD, reg);
+
+ wl->fw[AC_BK_Q].acm = FIELD_GET(BK_AC_ACM_STAT_FIELD, reg);
+ wl->fw[AC_BE_Q].acm = FIELD_GET(BE_AC_ACM_STAT_FIELD, reg);
+ wl->fw[AC_VI_Q].acm = FIELD_GET(VI_AC_ACM_STAT_FIELD, reg);
+ wl->fw[AC_VO_Q].acm = FIELD_GET(VO_AC_ACM_STAT_FIELD, reg);
}

static inline u8 ac_change(struct wilc *wilc, u8 *ac)
{
do {
- if (wilc->txq[*ac].fw.acm == 0)
+ if (wilc->fw[*ac].acm == 0)
return 0;
(*ac)++;
} while (*ac < NQUEUES);
@@ -920,7 +920,7 @@ int wilc_wlan_handle_txq(struct wilc *wilc, u32 *txq_count)
kfree(tqe);
} while (--entries);
for (i = 0; i < NQUEUES; i++)
- wilc->txq[i].fw.count += ac_pkt_num_to_chip[i];
+ wilc->fw[i].count += ac_pkt_num_to_chip[i];

acquire_bus(wilc, WILC_BUS_ACQUIRE_AND_WAKEUP);

diff --git a/drivers/net/wireless/microchip/wilc1000/wlan.h b/drivers/net/wireless/microchip/wilc1000/wlan.h
index eb7978166d73e..9b33262909e2f 100644
--- a/drivers/net/wireless/microchip/wilc1000/wlan.h
+++ b/drivers/net/wireless/microchip/wilc1000/wlan.h
@@ -341,7 +341,6 @@ struct txq_fw_recv_queue_stat {
struct txq_handle {
struct txq_entry_t txq_head;
u16 count;
- struct txq_fw_recv_queue_stat fw;
};

struct rxq_entry_t {
--
2.25.1