[patch 12/38] wifi: wil6210: Replace get_cyles() usage

Thomas Gleixner
2026-04-10T12:19:30Z

There is no reason why this debug code requires to use get_cycles() for
timing purposes.

Use ktime_get() instead.

Signed-off-by: Thomas Gleixner <tglx@kernel.org>
Cc: linux-wireless@vger.kernel.org
---
drivers/net/wireless/ath/wil6210/debugfs.c | 2 +-
drivers/net/wireless/ath/wil6210/txrx.c | 6 +++---
drivers/net/wireless/ath/wil6210/txrx_edma.c | 4 ++--
drivers/net/wireless/ath/wil6210/wil6210.h | 3 ++-
4 files changed, 8 insertions(+), 7 deletions(-)

--- a/drivers/net/wireless/ath/wil6210/debugfs.c
+++ b/drivers/net/wireless/ath/wil6210/debugfs.c
@@ -151,7 +151,7 @@ static int ring_show(struct seq_file *s,
char name[10];
char sidle[10];
/* performance monitoring */
- cycles_t now = get_cycles();
+ ktime_t now = ktime_get();
uint64_t idle = txdata->idle * 100;
uint64_t total = now - txdata->begin;

--- a/drivers/net/wireless/ath/wil6210/txrx.c
+++ b/drivers/net/wireless/ath/wil6210/txrx.c
@@ -1976,7 +1976,7 @@ static int __wil_tx_vring_tso(struct wil
used = wil_ring_used_tx(vring);
if (wil_val_in_range(wil->ring_idle_trsh,
used, used + descs_used)) {
- txdata->idle += get_cycles() - txdata->last_idle;
+ txdata->idle += ktime_get() - txdata->last_idle;
wil_dbg_txrx(wil, "Ring[%2d] not idle %d -> %d\n",
vring_index, used, used + descs_used);
}
@@ -2129,7 +2129,7 @@ static int __wil_tx_ring(struct wil6210_
used = wil_ring_used_tx(ring);
if (wil_val_in_range(wil->ring_idle_trsh,
used, used + nr_frags + 1)) {
- txdata->idle += get_cycles() - txdata->last_idle;
+ txdata->idle += ktime_get() - txdata->last_idle;
wil_dbg_txrx(wil, "Ring[%2d] not idle %d -> %d\n",
ring_index, used, used + nr_frags + 1);
}
@@ -2531,7 +2531,7 @@ int wil_tx_complete(struct wil6210_vif *
used_new, used_before_complete)) {
wil_dbg_txrx(wil, "Ring[%2d] idle %d -> %d\n",
ringid, used_before_complete, used_new);
- txdata->last_idle = get_cycles();
+ txdata->last_idle = ktime_get();
}

/* shall we wake net queues? */
--- a/drivers/net/wireless/ath/wil6210/txrx_edma.c
+++ b/drivers/net/wireless/ath/wil6210/txrx_edma.c
@@ -1286,7 +1286,7 @@ int wil_tx_sring_handler(struct wil6210_
used_new, used_before_complete)) {
wil_dbg_txrx(wil, "Ring[%2d] idle %d -> %d\n",
ring_id, used_before_complete, used_new);
- txdata->last_idle = get_cycles();
+ txdata->last_idle = ktime_get();
}

again:
@@ -1499,7 +1499,7 @@ static int __wil_tx_ring_tso_edma(struct
used = wil_ring_used_tx(ring);
if (wil_val_in_range(wil->ring_idle_trsh,
used, used + descs_used)) {
- txdata->idle += get_cycles() - txdata->last_idle;
+ txdata->idle += ktime_get() - txdata->last_idle;
wil_dbg_txrx(wil, "Ring[%2d] not idle %d -> %d\n",
ring_index, used, used + descs_used);
}
--- a/drivers/net/wireless/ath/wil6210/wil6210.h
+++ b/drivers/net/wireless/ath/wil6210/wil6210.h
@@ -14,6 +14,7 @@
#include <linux/timex.h>
#include <linux/types.h>
#include <linux/irqreturn.h>
+#include <linux/timekeeping.h>
#include "wmi.h"
#include "wil_platform.h"
#include "fw.h"
@@ -632,7 +633,7 @@ struct wil_txrx_ops {
struct wil_ring_tx_data {
bool dot1x_open;
int enabled;
- cycles_t idle, last_idle, begin;
+ ktime_t idle, last_idle, begin;
u8 agg_wsize; /* agreed aggregation window, 0 - no agg */
u16 agg_timeout;
u8 agg_amsdu;