Message ID | 20240725120035.493-5-quic_kangyang@quicinc.com |
---|---|
State | Superseded |
Headers | show |
Series | wifi: ath12k: some fixes and clean up for monitor mode | expand |
On 7/25/2024 5:00 AM, kangyang wrote: > From: Kang Yang <quic_kangyang@quicinc.com> > > Current struct hal_rx_ppdu_start in hal_rx.h is not matched with > hardware descriptor definition. > > So update this structure and related code. > > Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3 > > Signed-off-by: Kang Yang <quic_kangyang@quicinc.com>
Jeff Johnson <quic_jjohnson@quicinc.com> writes: > On 7/25/2024 5:00 AM, kangyang wrote: >> From: Kang Yang <quic_kangyang@quicinc.com> >> >> Current struct hal_rx_ppdu_start in hal_rx.h is not matched with >> hardware descriptor definition. >> >> So update this structure and related code. >> >> Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3 >> >> Signed-off-by: Kang Yang <quic_kangyang@quicinc.com> > > Jeff, your reply was empty.
Kalle Valo <kvalo@kernel.org> writes: > Jeff Johnson <quic_jjohnson@quicinc.com> writes: > >> On 7/25/2024 5:00 AM, kangyang wrote: >>> From: Kang Yang <quic_kangyang@quicinc.com> >>> >>> Current struct hal_rx_ppdu_start in hal_rx.h is not matched with >>> hardware descriptor definition. >>> >>> So update this structure and related code. >>> >>> Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3 >>> >>> Signed-off-by: Kang Yang <quic_kangyang@quicinc.com> >> >> > > Jeff, your reply was empty. Actually I saw several empty replies in this patchset.
On 7/31/2024 4:22 AM, Kalle Valo wrote: > Kalle Valo <kvalo@kernel.org> writes: > >> Jeff Johnson <quic_jjohnson@quicinc.com> writes: >> >>> On 7/25/2024 5:00 AM, kangyang wrote: >>>> From: Kang Yang <quic_kangyang@quicinc.com> >>>> >>>> Current struct hal_rx_ppdu_start in hal_rx.h is not matched with >>>> hardware descriptor definition. >>>> >>>> So update this structure and related code. >>>> >>>> Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3 >>>> >>>> Signed-off-by: Kang Yang <quic_kangyang@quicinc.com> >>> >>> >> >> Jeff, your reply was empty. > > Actually I saw several empty replies in this patchset. > Please add the following to every patch in the series if it isn't present: Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
diff --git a/drivers/net/wireless/ath/ath12k/dp_mon.c b/drivers/net/wireless/ath/ath12k/dp_mon.c index 516089bd3562..95f4507179c4 100644 --- a/drivers/net/wireless/ath/ath12k/dp_mon.c +++ b/drivers/net/wireless/ath/ath12k/dp_mon.c @@ -590,12 +590,20 @@ ath12k_dp_mon_rx_parse_status_tlv(struct ath12k_base *ab, struct hal_rx_ppdu_start *ppdu_start = (struct hal_rx_ppdu_start *)tlv_data; + u64 ppdu_ts = __le32_to_cpu(ppdu_start->ppdu_start_ts_31_0) | + (u64)(__le32_to_cpu(ppdu_start->ppdu_start_ts_63_32)) << 32; + info[0] = __le32_to_cpu(ppdu_start->info0); - ppdu_info->ppdu_id = - u32_get_bits(info[0], HAL_RX_PPDU_START_INFO0_PPDU_ID); - ppdu_info->chan_num = __le32_to_cpu(ppdu_start->chan_num); - ppdu_info->ppdu_ts = __le32_to_cpu(ppdu_start->ppdu_start_ts); + ppdu_info->ppdu_id = u32_get_bits(info[0], + HAL_RX_PPDU_START_INFO0_PPDU_ID); + + info[1] = __le32_to_cpu(ppdu_start->info1); + ppdu_info->chan_num = u32_get_bits(info[1], + HAL_RX_PPDU_START_INFO1_CHAN_NUM); + ppdu_info->freq = u32_get_bits(info[1], + HAL_RX_PPDU_START_INFO1_CHAN_FREQ); + ppdu_info->ppdu_ts = ppdu_ts; if (ppdu_info->ppdu_id != ppdu_info->last_ppdu_id) { ppdu_info->last_ppdu_id = ppdu_info->ppdu_id; diff --git a/drivers/net/wireless/ath/ath12k/hal_rx.h b/drivers/net/wireless/ath/ath12k/hal_rx.h index 837ba4adba88..6ab33d5f1b2a 100644 --- a/drivers/net/wireless/ath/ath12k/hal_rx.h +++ b/drivers/net/wireless/ath/ath12k/hal_rx.h @@ -156,6 +156,7 @@ struct hal_rx_mon_ppdu_info { u32 preamble_type; u32 mpdu_len; u16 chan_num; + u16 freq; u16 tcp_msdu_count; u16 tcp_ack_msdu_count; u16 udp_msdu_count; @@ -232,12 +233,16 @@ struct hal_rx_mon_ppdu_info { u8 medium_prot_type; }; -#define HAL_RX_PPDU_START_INFO0_PPDU_ID GENMASK(15, 0) +#define HAL_RX_PPDU_START_INFO0_PPDU_ID GENMASK(15, 0) +#define HAL_RX_PPDU_START_INFO1_CHAN_NUM GENMASK(15, 0) +#define HAL_RX_PPDU_START_INFO1_CHAN_FREQ GENMASK(31, 16) struct hal_rx_ppdu_start { __le32 info0; - __le32 chan_num; - __le32 ppdu_start_ts; + __le32 info1; + __le32 ppdu_start_ts_31_0; + __le32 ppdu_start_ts_63_32; + __le32 rsvd[2]; } __packed; #define HAL_RX_PPDU_END_USER_STATS_INFO0_MPDU_CNT_FCS_ERR GENMASK(26, 16)