mac80211: ath11k: sync with ath-next
[openwrt/openwrt.git] / package / kernel / mac80211 / patches / ath11k / 0038-wifi-ath11k-modify-accessor-macros-to-match-index-si.patch
1 From a96f10422e74cde27c100b321b127ec32ae75747 Mon Sep 17 00:00:00 2001
2 From: Muna Sinada <quic_msinada@quicinc.com>
3 Date: Fri, 24 Feb 2023 12:28:03 +0200
4 Subject: [PATCH] wifi: ath11k: modify accessor macros to match index size
5
6 HE PHY is only 11 bytes, therefore it should be using byte indexes
7 instead of dword. Change corresponding macros to reflect this.
8
9 Signed-off-by: Muna Sinada <quic_msinada@quicinc.com>
10 Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
11 Link: https://lore.kernel.org/r/1666128501-12364-2-git-send-email-quic_msinada@quicinc.com
12 ---
13 drivers/net/wireless/ath/ath11k/wmi.h | 24 +++++++++++++-----------
14 1 file changed, 13 insertions(+), 11 deletions(-)
15
16 --- a/drivers/net/wireless/ath/ath11k/wmi.h
17 +++ b/drivers/net/wireless/ath/ath11k/wmi.h
18 @@ -2859,30 +2859,32 @@ struct rx_reorder_queue_remove_params {
19 #define WMI_VDEV_PARAM_TXBF_SU_TX_BFER BIT(2)
20 #define WMI_VDEV_PARAM_TXBF_MU_TX_BFER BIT(3)
21
22 -#define HECAP_PHYDWORD_0 0
23 -#define HECAP_PHYDWORD_1 1
24 -#define HECAP_PHYDWORD_2 2
25 +#define HE_PHYCAP_BYTE_0 0
26 +#define HE_PHYCAP_BYTE_1 1
27 +#define HE_PHYCAP_BYTE_2 2
28 +#define HE_PHYCAP_BYTE_3 3
29 +#define HE_PHYCAP_BYTE_4 4
30
31 -#define HECAP_PHY_SU_BFER BIT(31)
32 +#define HECAP_PHY_SU_BFER BIT(7)
33 #define HECAP_PHY_SU_BFEE BIT(0)
34 #define HECAP_PHY_MU_BFER BIT(1)
35 -#define HECAP_PHY_UL_MUMIMO BIT(22)
36 -#define HECAP_PHY_UL_MUOFDMA BIT(23)
37 +#define HECAP_PHY_UL_MUMIMO BIT(6)
38 +#define HECAP_PHY_UL_MUOFDMA BIT(7)
39
40 #define HECAP_PHY_SUBFMR_GET(hecap_phy) \
41 - FIELD_GET(HECAP_PHY_SU_BFER, hecap_phy[HECAP_PHYDWORD_0])
42 + FIELD_GET(HECAP_PHY_SU_BFER, hecap_phy[HE_PHYCAP_BYTE_3])
43
44 #define HECAP_PHY_SUBFME_GET(hecap_phy) \
45 - FIELD_GET(HECAP_PHY_SU_BFEE, hecap_phy[HECAP_PHYDWORD_1])
46 + FIELD_GET(HECAP_PHY_SU_BFEE, hecap_phy[HE_PHYCAP_BYTE_4])
47
48 #define HECAP_PHY_MUBFMR_GET(hecap_phy) \
49 - FIELD_GET(HECAP_PHY_MU_BFER, hecap_phy[HECAP_PHYDWORD_1])
50 + FIELD_GET(HECAP_PHY_MU_BFER, hecap_phy[HE_PHYCAP_BYTE_4])
51
52 #define HECAP_PHY_ULMUMIMO_GET(hecap_phy) \
53 - FIELD_GET(HECAP_PHY_UL_MUMIMO, hecap_phy[HECAP_PHYDWORD_0])
54 + FIELD_GET(HECAP_PHY_UL_MUMIMO, hecap_phy[HE_PHYCAP_BYTE_2])
55
56 #define HECAP_PHY_ULOFDMA_GET(hecap_phy) \
57 - FIELD_GET(HECAP_PHY_UL_MUOFDMA, hecap_phy[HECAP_PHYDWORD_0])
58 + FIELD_GET(HECAP_PHY_UL_MUOFDMA, hecap_phy[HE_PHYCAP_BYTE_2])
59
60 #define HE_MODE_SU_TX_BFEE BIT(0)
61 #define HE_MODE_SU_TX_BFER BIT(1)