Message ID | 20240409175604.3299752-1-quic_kathirve@quicinc.com |
---|---|
State | Superseded |
Headers | show |
Series | wifi: ath12k: enable service flag for survey dump stats | expand |
On 4/9/2024 10:56 AM, Karthikeyan Kathirvel wrote: > From: Thiraviyam Mariyappan <quic_tmariyap@quicinc.com> > > The survey dump statistics does not display channel RX and TX time > properly because the survey flag is not enabled in the firmware service > flag. > > If firmware supports enable the service flag "bss_chan_info" in > wmi_resource_config to fetch and print the stats for specific pdev. > > Enabling WMI_RSRC_CFG_FLAG1_BSS_CHANNEL_INFO_64 does not have any impact > on WCN7850 since this bit is not utilized by the WCN7850 firmware. > > Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1 > > Signed-off-by: Thiraviyam Mariyappan <quic_tmariyap@quicinc.com> > Signed-off-by: Karthikeyan Kathirvel <quic_kathirve@quicinc.com> > --- > drivers/net/wireless/ath/ath12k/wmi.c | 3 ++- > drivers/net/wireless/ath/ath12k/wmi.h | 1 + > 2 files changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/wireless/ath/ath12k/wmi.c b/drivers/net/wireless/ath/ath12k/wmi.c > index a5575ce9eed4..16504786735a 100644 > --- a/drivers/net/wireless/ath/ath12k/wmi.c > +++ b/drivers/net/wireless/ath/ath12k/wmi.c > @@ -3324,7 +3324,8 @@ ath12k_wmi_copy_resource_config(struct ath12k_wmi_resource_config_params *wmi_cf > wmi_cfg->bpf_instruction_size = cpu_to_le32(tg_cfg->bpf_instruction_size); > wmi_cfg->max_bssid_rx_filters = cpu_to_le32(tg_cfg->max_bssid_rx_filters); > wmi_cfg->use_pdev_id = cpu_to_le32(tg_cfg->use_pdev_id); > - wmi_cfg->flag1 = cpu_to_le32(tg_cfg->atf_config); > + wmi_cfg->flag1 = cpu_to_le32(tg_cfg->atf_config) | > + WMI_RSRC_CFG_FLAG1_BSS_CHANNEL_INFO_64; shouldn't that | operation be inside the ) ? > wmi_cfg->peer_map_unmap_version = cpu_to_le32(tg_cfg->peer_map_unmap_version); > wmi_cfg->sched_params = cpu_to_le32(tg_cfg->sched_params); > wmi_cfg->twt_ap_pdev_count = cpu_to_le32(tg_cfg->twt_ap_pdev_count); > diff --git a/drivers/net/wireless/ath/ath12k/wmi.h b/drivers/net/wireless/ath/ath12k/wmi.h > index 78afc94a815d..1283d25b5cc4 100644 > --- a/drivers/net/wireless/ath/ath12k/wmi.h > +++ b/drivers/net/wireless/ath/ath12k/wmi.h > @@ -2400,6 +2400,7 @@ struct wmi_init_cmd { > > #define WMI_RSRC_CFG_HOST_SVC_FLAG_REG_CC_EXT_SUPPORT_BIT 4 > #define WMI_RSRC_CFG_FLAGS2_RX_PEER_METADATA_VERSION GENMASK(5, 4) > +#define WMI_RSRC_CFG_FLAG1_BSS_CHANNEL_INFO_64 BIT(5) > > struct ath12k_wmi_resource_config_params { > __le32 tlv_header; > > base-commit: b36766befd306a606f287b0c0f0e53d994516acb
On 4/10/2024 5:37 AM, Jeff Johnson wrote: > On 4/9/2024 10:56 AM, Karthikeyan Kathirvel wrote: >> From: Thiraviyam Mariyappan <quic_tmariyap@quicinc.com> >> >> The survey dump statistics does not display channel RX and TX time >> properly because the survey flag is not enabled in the firmware service >> flag. >> >> If firmware supports enable the service flag "bss_chan_info" in >> wmi_resource_config to fetch and print the stats for specific pdev. >> >> Enabling WMI_RSRC_CFG_FLAG1_BSS_CHANNEL_INFO_64 does not have any impact >> on WCN7850 since this bit is not utilized by the WCN7850 firmware. >> >> Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1 >> >> Signed-off-by: Thiraviyam Mariyappan <quic_tmariyap@quicinc.com> >> Signed-off-by: Karthikeyan Kathirvel <quic_kathirve@quicinc.com> >> --- >> drivers/net/wireless/ath/ath12k/wmi.c | 3 ++- >> drivers/net/wireless/ath/ath12k/wmi.h | 1 + >> 2 files changed, 3 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/net/wireless/ath/ath12k/wmi.c b/drivers/net/wireless/ath/ath12k/wmi.c >> index a5575ce9eed4..16504786735a 100644 >> --- a/drivers/net/wireless/ath/ath12k/wmi.c >> +++ b/drivers/net/wireless/ath/ath12k/wmi.c >> @@ -3324,7 +3324,8 @@ ath12k_wmi_copy_resource_config(struct ath12k_wmi_resource_config_params *wmi_cf >> wmi_cfg->bpf_instruction_size = cpu_to_le32(tg_cfg->bpf_instruction_size); >> wmi_cfg->max_bssid_rx_filters = cpu_to_le32(tg_cfg->max_bssid_rx_filters); >> wmi_cfg->use_pdev_id = cpu_to_le32(tg_cfg->use_pdev_id); >> - wmi_cfg->flag1 = cpu_to_le32(tg_cfg->atf_config); >> + wmi_cfg->flag1 = cpu_to_le32(tg_cfg->atf_config) | >> + WMI_RSRC_CFG_FLAG1_BSS_CHANNEL_INFO_64; > > shouldn't that | operation be inside the ) ? Yes, will address in next version, thanks for the review Jeff > >> wmi_cfg->peer_map_unmap_version = cpu_to_le32(tg_cfg->peer_map_unmap_version); >> wmi_cfg->sched_params = cpu_to_le32(tg_cfg->sched_params); >> wmi_cfg->twt_ap_pdev_count = cpu_to_le32(tg_cfg->twt_ap_pdev_count); >> diff --git a/drivers/net/wireless/ath/ath12k/wmi.h b/drivers/net/wireless/ath/ath12k/wmi.h >> index 78afc94a815d..1283d25b5cc4 100644 >> --- a/drivers/net/wireless/ath/ath12k/wmi.h >> +++ b/drivers/net/wireless/ath/ath12k/wmi.h >> @@ -2400,6 +2400,7 @@ struct wmi_init_cmd { >> >> #define WMI_RSRC_CFG_HOST_SVC_FLAG_REG_CC_EXT_SUPPORT_BIT 4 >> #define WMI_RSRC_CFG_FLAGS2_RX_PEER_METADATA_VERSION GENMASK(5, 4) >> +#define WMI_RSRC_CFG_FLAG1_BSS_CHANNEL_INFO_64 BIT(5) >> >> struct ath12k_wmi_resource_config_params { >> __le32 tlv_header; >> >> base-commit: b36766befd306a606f287b0c0f0e53d994516acb >
Karthikeyan Kathirvel <quic_kathirve@quicinc.com> writes: > On 4/10/2024 5:37 AM, Jeff Johnson wrote: >> On 4/9/2024 10:56 AM, Karthikeyan Kathirvel wrote: >>> From: Thiraviyam Mariyappan <quic_tmariyap@quicinc.com> >>> >>> The survey dump statistics does not display channel RX and TX time >>> properly because the survey flag is not enabled in the firmware service >>> flag. >>> >>> If firmware supports enable the service flag "bss_chan_info" in >>> wmi_resource_config to fetch and print the stats for specific pdev. >>> >>> Enabling WMI_RSRC_CFG_FLAG1_BSS_CHANNEL_INFO_64 does not have any impact >>> on WCN7850 since this bit is not utilized by the WCN7850 firmware. >>> >>> Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1 >>> >>> Signed-off-by: Thiraviyam Mariyappan <quic_tmariyap@quicinc.com> >>> Signed-off-by: Karthikeyan Kathirvel <quic_kathirve@quicinc.com> >>> --- >>> drivers/net/wireless/ath/ath12k/wmi.c | 3 ++- >>> drivers/net/wireless/ath/ath12k/wmi.h | 1 + >>> 2 files changed, 3 insertions(+), 1 deletion(-) >>> >>> diff --git a/drivers/net/wireless/ath/ath12k/wmi.c b/drivers/net/wireless/ath/ath12k/wmi.c >>> index a5575ce9eed4..16504786735a 100644 >>> --- a/drivers/net/wireless/ath/ath12k/wmi.c >>> +++ b/drivers/net/wireless/ath/ath12k/wmi.c >>> @@ -3324,7 +3324,8 @@ ath12k_wmi_copy_resource_config(struct ath12k_wmi_resource_config_params *wmi_cf >>> wmi_cfg->bpf_instruction_size = cpu_to_le32(tg_cfg->bpf_instruction_size); >>> wmi_cfg->max_bssid_rx_filters = cpu_to_le32(tg_cfg->max_bssid_rx_filters); >>> wmi_cfg->use_pdev_id = cpu_to_le32(tg_cfg->use_pdev_id); >>> - wmi_cfg->flag1 = cpu_to_le32(tg_cfg->atf_config); >>> + wmi_cfg->flag1 = cpu_to_le32(tg_cfg->atf_config) | >>> + WMI_RSRC_CFG_FLAG1_BSS_CHANNEL_INFO_64; >> shouldn't that | operation be inside the ) ? > Yes, will address in next version, thanks for the review Jeff BTW ath12k-check should catch these kind of errors. Didn't it warn about it or did you just skip running ath12k-check?
On 4/10/2024 2:32 PM, Kalle Valo wrote: > Karthikeyan Kathirvel <quic_kathirve@quicinc.com> writes: > >> On 4/10/2024 5:37 AM, Jeff Johnson wrote: >>> On 4/9/2024 10:56 AM, Karthikeyan Kathirvel wrote: >>>> From: Thiraviyam Mariyappan <quic_tmariyap@quicinc.com> >>>> >>>> The survey dump statistics does not display channel RX and TX time >>>> properly because the survey flag is not enabled in the firmware service >>>> flag. >>>> >>>> If firmware supports enable the service flag "bss_chan_info" in >>>> wmi_resource_config to fetch and print the stats for specific pdev. >>>> >>>> Enabling WMI_RSRC_CFG_FLAG1_BSS_CHANNEL_INFO_64 does not have any impact >>>> on WCN7850 since this bit is not utilized by the WCN7850 firmware. >>>> >>>> Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1 >>>> >>>> Signed-off-by: Thiraviyam Mariyappan <quic_tmariyap@quicinc.com> >>>> Signed-off-by: Karthikeyan Kathirvel <quic_kathirve@quicinc.com> >>>> --- >>>> drivers/net/wireless/ath/ath12k/wmi.c | 3 ++- >>>> drivers/net/wireless/ath/ath12k/wmi.h | 1 + >>>> 2 files changed, 3 insertions(+), 1 deletion(-) >>>> >>>> diff --git a/drivers/net/wireless/ath/ath12k/wmi.c b/drivers/net/wireless/ath/ath12k/wmi.c >>>> index a5575ce9eed4..16504786735a 100644 >>>> --- a/drivers/net/wireless/ath/ath12k/wmi.c >>>> +++ b/drivers/net/wireless/ath/ath12k/wmi.c >>>> @@ -3324,7 +3324,8 @@ ath12k_wmi_copy_resource_config(struct ath12k_wmi_resource_config_params *wmi_cf >>>> wmi_cfg->bpf_instruction_size = cpu_to_le32(tg_cfg->bpf_instruction_size); >>>> wmi_cfg->max_bssid_rx_filters = cpu_to_le32(tg_cfg->max_bssid_rx_filters); >>>> wmi_cfg->use_pdev_id = cpu_to_le32(tg_cfg->use_pdev_id); >>>> - wmi_cfg->flag1 = cpu_to_le32(tg_cfg->atf_config); >>>> + wmi_cfg->flag1 = cpu_to_le32(tg_cfg->atf_config) | >>>> + WMI_RSRC_CFG_FLAG1_BSS_CHANNEL_INFO_64; >>> shouldn't that | operation be inside the ) ? >> Yes, will address in next version, thanks for the review Jeff > > BTW ath12k-check should catch these kind of errors. Didn't it warn about > it or did you just skip running ath12k-check? > I was using checkpatch.pl alone, now moved to ath12k-check, ath12k-check warnings are fixed in "[PATCH v2] wifi: ath12k: enable service flag for survey dump stats"
diff --git a/drivers/net/wireless/ath/ath12k/wmi.c b/drivers/net/wireless/ath/ath12k/wmi.c index a5575ce9eed4..16504786735a 100644 --- a/drivers/net/wireless/ath/ath12k/wmi.c +++ b/drivers/net/wireless/ath/ath12k/wmi.c @@ -3324,7 +3324,8 @@ ath12k_wmi_copy_resource_config(struct ath12k_wmi_resource_config_params *wmi_cf wmi_cfg->bpf_instruction_size = cpu_to_le32(tg_cfg->bpf_instruction_size); wmi_cfg->max_bssid_rx_filters = cpu_to_le32(tg_cfg->max_bssid_rx_filters); wmi_cfg->use_pdev_id = cpu_to_le32(tg_cfg->use_pdev_id); - wmi_cfg->flag1 = cpu_to_le32(tg_cfg->atf_config); + wmi_cfg->flag1 = cpu_to_le32(tg_cfg->atf_config) | + WMI_RSRC_CFG_FLAG1_BSS_CHANNEL_INFO_64; wmi_cfg->peer_map_unmap_version = cpu_to_le32(tg_cfg->peer_map_unmap_version); wmi_cfg->sched_params = cpu_to_le32(tg_cfg->sched_params); wmi_cfg->twt_ap_pdev_count = cpu_to_le32(tg_cfg->twt_ap_pdev_count); diff --git a/drivers/net/wireless/ath/ath12k/wmi.h b/drivers/net/wireless/ath/ath12k/wmi.h index 78afc94a815d..1283d25b5cc4 100644 --- a/drivers/net/wireless/ath/ath12k/wmi.h +++ b/drivers/net/wireless/ath/ath12k/wmi.h @@ -2400,6 +2400,7 @@ struct wmi_init_cmd { #define WMI_RSRC_CFG_HOST_SVC_FLAG_REG_CC_EXT_SUPPORT_BIT 4 #define WMI_RSRC_CFG_FLAGS2_RX_PEER_METADATA_VERSION GENMASK(5, 4) +#define WMI_RSRC_CFG_FLAG1_BSS_CHANNEL_INFO_64 BIT(5) struct ath12k_wmi_resource_config_params { __le32 tlv_header;