2024-04-23 13:26:01

by Ping-Ke Shih

[permalink] [raw]
Subject: [PATCH 1/8] wifi: rtw89: coex: Add Wi-Fi null data status version 7

From: Ching-Te Ku <[email protected]>

The mechanism will use Wi-Fi null packet to stop the packets from
access point to avoid the interference to Bluetooth when switch
to Bluetooth slot. The report can check whether the null packet is
working as expected or not.

Signed-off-by: Ching-Te Ku <[email protected]>
Signed-off-by: Ping-Ke Shih <[email protected]>
---
drivers/net/wireless/realtek/rtw89/coex.c | 24 +++++++++++++++++++++++
drivers/net/wireless/realtek/rtw89/core.h | 12 ++++++++++++
2 files changed, 36 insertions(+)

diff --git a/drivers/net/wireless/realtek/rtw89/coex.c b/drivers/net/wireless/realtek/rtw89/coex.c
index 1649cb2e217f..e61af63090f7 100644
--- a/drivers/net/wireless/realtek/rtw89/coex.c
+++ b/drivers/net/wireless/realtek/rtw89/coex.c
@@ -1379,6 +1379,9 @@ static u32 _chk_btc_report(struct rtw89_dev *rtwdev,
} else if (ver->fcxnullsta == 2) {
pfinfo = &pfwinfo->rpt_fbtc_nullsta.finfo.v2;
pcinfo->req_len = sizeof(pfwinfo->rpt_fbtc_nullsta.finfo.v2);
+ } else if (ver->fcxnullsta == 7) {
+ pfinfo = &pfwinfo->rpt_fbtc_nullsta.finfo.v7;
+ pcinfo->req_len = sizeof(pfwinfo->rpt_fbtc_nullsta.finfo.v7);
} else {
goto err;
}
@@ -9186,6 +9189,27 @@ static void _show_fbtc_nullsta(struct rtw89_dev *rtwdev, struct seq_file *m)
le32_to_cpu(ns->v1.max_t[i]) / 1000,
le32_to_cpu(ns->v1.max_t[i]) % 1000);
}
+ } else if (ver->fcxnullsta == 7) {
+ for (i = 0; i < 2; i++) {
+ seq_printf(m, " %-15s : ", "[NULL-STA]");
+ seq_printf(m, "null-%d", i);
+ seq_printf(m, "[Tx:%d/",
+ le32_to_cpu(ns->v7.result[i][4]));
+ seq_printf(m, "[ok:%d/",
+ le32_to_cpu(ns->v7.result[i][1]));
+ seq_printf(m, "fail:%d/",
+ le32_to_cpu(ns->v7.result[i][0]));
+ seq_printf(m, "on_time:%d/",
+ le32_to_cpu(ns->v7.result[i][2]));
+ seq_printf(m, "retry:%d/",
+ le32_to_cpu(ns->v7.result[i][3]));
+ seq_printf(m, "avg_t:%d.%03d/",
+ le32_to_cpu(ns->v7.tavg[i]) / 1000,
+ le32_to_cpu(ns->v7.tavg[i]) % 1000);
+ seq_printf(m, "max_t:%d.%03d]\n",
+ le32_to_cpu(ns->v7.tmax[i]) / 1000,
+ le32_to_cpu(ns->v7.tmax[i]) % 1000);
+ }
} else {
for (i = 0; i < 2; i++) {
seq_printf(m, " %-15s : ", "[NULL-STA]");
diff --git a/drivers/net/wireless/realtek/rtw89/core.h b/drivers/net/wireless/realtek/rtw89/core.h
index 9da8be9927d3..d8f7eea7ae6e 100644
--- a/drivers/net/wireless/realtek/rtw89/core.h
+++ b/drivers/net/wireless/realtek/rtw89/core.h
@@ -2679,9 +2679,21 @@ struct rtw89_btc_fbtc_cynullsta_v2 { /* cycle null statistics */
__le32 result[2][5]; /* 0:fail, 1:ok, 2:on_time, 3:retry, 4:tx */
} __packed;

+struct rtw89_btc_fbtc_cynullsta_v7 { /* cycle null statistics */
+ u8 fver;
+ u8 rsvd0;
+ u8 rsvd1;
+ u8 rsvd2;
+
+ __le32 tmax[2];
+ __le32 tavg[2];
+ __le32 result[2][5];
+} __packed;
+
union rtw89_btc_fbtc_cynullsta_info {
struct rtw89_btc_fbtc_cynullsta_v1 v1; /* info from fw */
struct rtw89_btc_fbtc_cynullsta_v2 v2;
+ struct rtw89_btc_fbtc_cynullsta_v7 v7;
};

struct rtw89_btc_fbtc_btver {
--
2.25.1



2024-04-29 01:13:42

by Ping-Ke Shih

[permalink] [raw]
Subject: Re: [PATCH 1/8] wifi: rtw89: coex: Add Wi-Fi null data status version 7

Ping-Ke Shih <[email protected]> wrote:

> From: Ching-Te Ku <[email protected]>
>
> The mechanism will use Wi-Fi null packet to stop the packets from
> access point to avoid the interference to Bluetooth when switch
> to Bluetooth slot. The report can check whether the null packet is
> working as expected or not.
>
> Signed-off-by: Ching-Te Ku <[email protected]>
> Signed-off-by: Ping-Ke Shih <[email protected]>

8 patch(es) applied to rtw-next branch of rtw.git, thanks.

430d80e79477 wifi: rtw89: coex: Add Wi-Fi null data status version 7
e5d0305a2b55 wifi: rtw89: coex: Add Bluetooth scan parameter report version 7
b60b46863375 wifi: rtw89: coex: Add Bluetooth frequency hopping map version 7
1a5565d81285 wifi: rtw89: coex: Add Bluetooth version report version 7
947cbc6ead46 wifi: rtw89: coex: Fix unexpected value in version 7 slot parameter
efb85ded5c20 wifi: rtw89: coex: Add Wi-Fi role v8 condition when set Bluetooth channel
11173c7062db wifi: rtw89: coex: Add Wi-Fi role v8 condition when set BTG control
416a445ec328 wifi: rtw89: coex: Check and enable reports after run coex

---
https://github.com/pkshih/rtw.git