You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
2.6 KiB
67 lines
2.6 KiB
From d6bee4e4bfb0f7eb09e14612db7c07e44d2cb01d Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?=C3=8D=C3=B1igo=20Huguet?= <ihuguet@redhat.com>
|
|
Date: Wed, 24 May 2023 15:00:38 +0200
|
|
Subject: [PATCH 122/142] wifi: rtw89: correct unit for port offset and refine
|
|
macro
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
Bugzilla: https://bugzilla.redhat.com/2207499
|
|
|
|
commit 1120e6a6c5cd1144694209d6aa6a225af064950a
|
|
Author: Zong-Zhe Yang <kevin_yang@realtek.com>
|
|
Date: Thu Jan 19 14:24:51 2023 +0800
|
|
|
|
wifi: rtw89: correct unit for port offset and refine macro
|
|
|
|
Strictly speaking, the unit of the offset should be TU instead of ms.
|
|
So, correct it and the macro for calculation. Then, to make the macro
|
|
generic, the factor n is moved outside.
|
|
|
|
Signed-off-by: Zong-Zhe Yang <kevin_yang@realtek.com>
|
|
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
|
|
Signed-off-by: Kalle Valo <kvalo@kernel.org>
|
|
Link: https://lore.kernel.org/r/20230119062453.58341-2-pkshih@realtek.com
|
|
|
|
Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
|
|
---
|
|
drivers/net/wireless/realtek/rtw89/mac.c | 4 +++-
|
|
drivers/net/wireless/realtek/rtw89/mac.h | 2 +-
|
|
2 files changed, 4 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/drivers/net/wireless/realtek/rtw89/mac.c b/drivers/net/wireless/realtek/rtw89/mac.c
|
|
index 5ab0590485e0d..ea34b4df21a75 100644
|
|
--- a/drivers/net/wireless/realtek/rtw89/mac.c
|
|
+++ b/drivers/net/wireless/realtek/rtw89/mac.c
|
|
@@ -3930,10 +3930,12 @@ static void rtw89_mac_port_tsf_sync(struct rtw89_dev *rtwdev,
|
|
|
|
/* adjust offset randomly to avoid beacon conflict */
|
|
offset = offset - offset / 4 + get_random_u32() % (offset / 2);
|
|
- val = RTW89_PORT_OFFSET_MS_TO_32US((*n_offset)++, offset);
|
|
+ val = (*n_offset) * RTW89_PORT_OFFSET_TU_TO_32US(offset);
|
|
reg = rtw89_mac_reg_by_idx(R_AX_PORT0_TSF_SYNC + rtwvif->port * 4,
|
|
rtwvif->mac_idx);
|
|
|
|
+ (*n_offset)++;
|
|
+
|
|
rtw89_write32_mask(rtwdev, reg, B_AX_SYNC_PORT_SRC, rtwvif_src->port);
|
|
rtw89_write32_mask(rtwdev, reg, B_AX_SYNC_PORT_OFFSET_VAL, val);
|
|
rtw89_write32_set(rtwdev, reg, B_AX_SYNC_NOW);
|
|
diff --git a/drivers/net/wireless/realtek/rtw89/mac.h b/drivers/net/wireless/realtek/rtw89/mac.h
|
|
index f0b684b205f10..2556271597441 100644
|
|
--- a/drivers/net/wireless/realtek/rtw89/mac.h
|
|
+++ b/drivers/net/wireless/realtek/rtw89/mac.h
|
|
@@ -168,7 +168,7 @@ enum rtw89_mac_ax_l0_to_l1_event {
|
|
MAC_AX_L0_TO_L1_EVENT_MAX = 15,
|
|
};
|
|
|
|
-#define RTW89_PORT_OFFSET_MS_TO_32US(n, shift_ms) ((n) * (shift_ms) * 1000 / 32)
|
|
+#define RTW89_PORT_OFFSET_TU_TO_32US(shift_tu) ((shift_tu) * 1024 / 32)
|
|
|
|
enum rtw89_mac_dbg_port_sel {
|
|
/* CMAC 0 related */
|
|
--
|
|
2.13.6
|
|
|