]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
wifi: ath12k: fix struct hal_rx_mpdu_start
authorKang Yang <quic_kangyang@quicinc.com>
Tue, 22 Oct 2024 11:08:28 +0000 (19:08 +0800)
committerJeff Johnson <quic_jjohnson@quicinc.com>
Wed, 23 Oct 2024 17:16:00 +0000 (10:16 -0700)
Current struct hal_rx_mpdu_start in hal_rx.h is not matched with
hardware descriptor definition. This hardware descriptor definition
is determined by hardware. Host shall follow it.

So update struct hal_rx_mpdu_start and related code.

Both QCN9274 and WCN7850 need this modification.

Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3
Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0-03427-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.15378.4
Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.1.1-00210-QCAHKSWPL_SILICONZ-1

Signed-off-by: Kang Yang <quic_kangyang@quicinc.com>
Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
Link: https://patch.msgid.link/20241022110831.974-6-quic_kangyang@quicinc.com
Signed-off-by: Jeff Johnson <quic_jjohnson@quicinc.com>
drivers/net/wireless/ath/ath12k/hal_rx.h

index c69df852ae69b7b7f23797c1216c4dea54887855..2de7b0eba9f2747828edf790c43961091a0cb620 100644 (file)
@@ -452,15 +452,16 @@ struct hal_rx_phyrx_rssi_legacy_info {
        __le32 rsvd1;
 } __packed;
 
-#define HAL_RX_MPDU_START_INFO0_PPDU_ID        GENMASK(31, 16)
-#define HAL_RX_MPDU_START_INFO1_PEERID GENMASK(31, 16)
-#define HAL_RX_MPDU_START_INFO2_MPDU_LEN GENMASK(13, 0)
+#define HAL_RX_MPDU_START_INFO0_PPDU_ID                        GENMASK(31, 16)
+#define HAL_RX_MPDU_START_INFO1_PEERID                 GENMASK(31, 16)
+#define HAL_RX_MPDU_START_INFO2_MPDU_LEN               GENMASK(13, 0)
 struct hal_rx_mpdu_start {
+       __le32 rsvd0[9];
        __le32 info0;
        __le32 info1;
-       __le32 rsvd1[11];
+       __le32 rsvd1[2];
        __le32 info2;
-       __le32 rsvd2[9];
+       __le32 rsvd2[16];
 } __packed;
 
 #define HAL_RX_PPDU_END_DURATION       GENMASK(23, 0)