RE: [PATCH] ath10k : Fix channel survey dump
-Original Message- From: ath10k [mailto:ath10k-boun...@lists.infradead.org] On Behalf Of Venkateswara Naralasettty Sent: Monday, May 22, 2017 8:48 PM To: Kalle Valo ; n...@nbd.name Cc: linux-wirel...@vger.kernel.org; ath10k@lists.infradead.org Subject: RE: [PATCH] ath10k : Fix channel survey dump -Original Message- From: Kalle Valo Sent: Friday, May 19, 2017 2:48 PM To: n...@nbd.name Cc: Venkateswara Naralasettty ; ath10k@lists.infradead.org; linux-wirel...@vger.kernel.org Subject: Re: [PATCH] ath10k : Fix channel survey dump Felix Fietkau writes: > On 2017-04-26 16:41, Venkateswara Rao Naralasetty wrote: >> Channel active/busy time are showing incorrect (less than previous or >> sometimes zero) for successive survey dump command. >> >> example: >> Survey data from wlan0 >> frequency: 5180 MHz [in use] >> channel active time:54995 ms >> channel busy time: 432 ms >> channel receive time: 0 ms >> channel transmit time: 59 ms >> Survey data from wlan0 >> frequency: 5180 MHz [in use] >> channel active time:32592 ms >> channel busy time: 254 ms >> channel receive time: 0 ms >> channel transmit time: 0 ms >> >> This patch fix this issue by assigning 'wmi_bss_survey_req_type' >> as 'WMI_BSS_SURVEY_REQ_TYPE_READ'. >> >> Firmware ver 10.4-3.4-00082 >> Hardware QCA4019 >> >> Signed-off-by: Venkateswara Rao Naralasetty >> >> --- >> drivers/net/wireless/ath/ath10k/mac.c |2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/net/wireless/ath/ath10k/mac.c >> b/drivers/net/wireless/ath/ath10k/mac.c >> index 9977829..87a9b55 100644 >> --- a/drivers/net/wireless/ath/ath10k/mac.c >> +++ b/drivers/net/wireless/ath/ath10k/mac.c >> @@ -6621,7 +6621,7 @@ static void ath10k_reconfig_complete(struct >> ieee80211_hw *hw, >>struct ieee80211_channel *channel) { >> int ret; >> -enum wmi_bss_survey_req_type type = WMI_BSS_SURVEY_REQ_TYPE_READ_CLEAR; >> +enum wmi_bss_survey_req_type type = WMI_BSS_SURVEY_REQ_TYPE_READ; > > Does the firmware read the registers directly, or does it accumulate > the results in a way that can't overflow? If you don't clear the > counters on reset, the overflow will be problematic for the > current-channel stats. I think a better approach would be to use > READ_CLEAR for in-use channels and store the sum inside the driver. Venkateswara, any comments? -- Kalle Valo Sorry for the delayed response I held up with some other work. Currently I am working with firmware team to address your comments. -- Venkatesh. > Firmware is not handling the overflow while accumulating the results, we are > looking into some other options to make it in host -Venkatesh. ___ ath10k mailing list ath10k@lists.infradead.org BLOCKEDlists[.]infradead[.]org/mailman/listinfo/ath10kBLOCKED ___ ath10k mailing list ath10k@lists.infradead.org http://lists.infradead.org/mailman/listinfo/ath10k
RE: [PATCH] ath10k : Fix channel survey dump
-Original Message- From: Kalle Valo Sent: Friday, May 19, 2017 2:48 PM To: n...@nbd.name Cc: Venkateswara Naralasettty ; ath10k@lists.infradead.org; linux-wirel...@vger.kernel.org Subject: Re: [PATCH] ath10k : Fix channel survey dump Felix Fietkau writes: > On 2017-04-26 16:41, Venkateswara Rao Naralasetty wrote: >> Channel active/busy time are showing incorrect (less than previous or >> sometimes zero) for successive survey dump command. >> >> example: >> Survey data from wlan0 >> frequency: 5180 MHz [in use] >> channel active time:54995 ms >> channel busy time: 432 ms >> channel receive time: 0 ms >> channel transmit time: 59 ms >> Survey data from wlan0 >> frequency: 5180 MHz [in use] >> channel active time:32592 ms >> channel busy time: 254 ms >> channel receive time: 0 ms >> channel transmit time: 0 ms >> >> This patch fix this issue by assigning 'wmi_bss_survey_req_type' >> as 'WMI_BSS_SURVEY_REQ_TYPE_READ'. >> >> Firmware ver 10.4-3.4-00082 >> Hardware QCA4019 >> >> Signed-off-by: Venkateswara Rao Naralasetty >> >> --- >> drivers/net/wireless/ath/ath10k/mac.c |2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/net/wireless/ath/ath10k/mac.c >> b/drivers/net/wireless/ath/ath10k/mac.c >> index 9977829..87a9b55 100644 >> --- a/drivers/net/wireless/ath/ath10k/mac.c >> +++ b/drivers/net/wireless/ath/ath10k/mac.c >> @@ -6621,7 +6621,7 @@ static void ath10k_reconfig_complete(struct >> ieee80211_hw *hw, >>struct ieee80211_channel *channel) { >> int ret; >> -enum wmi_bss_survey_req_type type = WMI_BSS_SURVEY_REQ_TYPE_READ_CLEAR; >> +enum wmi_bss_survey_req_type type = WMI_BSS_SURVEY_REQ_TYPE_READ; > > Does the firmware read the registers directly, or does it accumulate > the results in a way that can't overflow? If you don't clear the > counters on reset, the overflow will be problematic for the > current-channel stats. I think a better approach would be to use > READ_CLEAR for in-use channels and store the sum inside the driver. Venkateswara, any comments? -- Kalle Valo Sorry for the delayed response I held up with some other work. Currently I am working with firmware team to address your comments. -- Venkatesh. ___ ath10k mailing list ath10k@lists.infradead.org http://lists.infradead.org/mailman/listinfo/ath10k
Re: [PATCH] ath10k : Fix channel survey dump
On Fri, 2017-05-19 at 08:32 -0700, Adrian Chadd wrote: > > I just bumped into this at work. I'm thinking of teaching mac80211 > about optionally summing things so each driver doesn't need another > per-channel array. > We could possibly even do that in cfg80211, I guess. johannes ___ ath10k mailing list ath10k@lists.infradead.org http://lists.infradead.org/mailman/listinfo/ath10k
Re: [PATCH] ath10k : Fix channel survey dump
On 19 May 2017 at 02:17, Kalle Valo wrote: > Felix Fietkau writes: > >> On 2017-04-26 16:41, Venkateswara Rao Naralasetty wrote: >>> Channel active/busy time are showing incorrect >>> (less than previous or sometimes zero) for >>> successive survey dump command. [snip] >> Does the firmware read the registers directly, or does it accumulate >> the results in a way that can't overflow? If you don't clear the >> counters on reset, the overflow will be problematic for the >> current-channel stats. I think a better approach would be to use >> READ_CLEAR for in-use channels and store the sum inside the driver. > > Venkateswara, any comments? I just bumped into this at work. I'm thinking of teaching mac80211 about optionally summing things so each driver doesn't need another per-channel array. -adrian ___ ath10k mailing list ath10k@lists.infradead.org http://lists.infradead.org/mailman/listinfo/ath10k
Re: [PATCH] ath10k : Fix channel survey dump
Felix Fietkau writes: > On 2017-04-26 16:41, Venkateswara Rao Naralasetty wrote: >> Channel active/busy time are showing incorrect >> (less than previous or sometimes zero) for >> successive survey dump command. >> >> example: >> Survey data from wlan0 >> frequency: 5180 MHz [in use] >> channel active time:54995 ms >> channel busy time: 432 ms >> channel receive time: 0 ms >> channel transmit time: 59 ms >> Survey data from wlan0 >> frequency: 5180 MHz [in use] >> channel active time:32592 ms >> channel busy time: 254 ms >> channel receive time: 0 ms >> channel transmit time: 0 ms >> >> This patch fix this issue by assigning 'wmi_bss_survey_req_type' >> as 'WMI_BSS_SURVEY_REQ_TYPE_READ'. >> >> Firmware ver 10.4-3.4-00082 >> Hardware QCA4019 >> >> Signed-off-by: Venkateswara Rao Naralasetty >> --- >> drivers/net/wireless/ath/ath10k/mac.c |2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/net/wireless/ath/ath10k/mac.c >> b/drivers/net/wireless/ath/ath10k/mac.c >> index 9977829..87a9b55 100644 >> --- a/drivers/net/wireless/ath/ath10k/mac.c >> +++ b/drivers/net/wireless/ath/ath10k/mac.c >> @@ -6621,7 +6621,7 @@ static void ath10k_reconfig_complete(struct >> ieee80211_hw *hw, >>struct ieee80211_channel *channel) >> { >> int ret; >> -enum wmi_bss_survey_req_type type = WMI_BSS_SURVEY_REQ_TYPE_READ_CLEAR; >> +enum wmi_bss_survey_req_type type = WMI_BSS_SURVEY_REQ_TYPE_READ; > > Does the firmware read the registers directly, or does it accumulate > the results in a way that can't overflow? If you don't clear the > counters on reset, the overflow will be problematic for the > current-channel stats. I think a better approach would be to use > READ_CLEAR for in-use channels and store the sum inside the driver. Venkateswara, any comments? -- Kalle Valo ___ ath10k mailing list ath10k@lists.infradead.org http://lists.infradead.org/mailman/listinfo/ath10k
Re: [PATCH] ath10k : Fix channel survey dump
On 2017-04-26 16:41, Venkateswara Rao Naralasetty wrote: > Channel active/busy time are showing incorrect > (less than previous or sometimes zero) for > successive survey dump command. > > example: > Survey data from wlan0 > frequency: 5180 MHz [in use] > channel active time:54995 ms > channel busy time: 432 ms > channel receive time: 0 ms > channel transmit time: 59 ms > Survey data from wlan0 > frequency: 5180 MHz [in use] > channel active time:32592 ms > channel busy time: 254 ms > channel receive time: 0 ms > channel transmit time: 0 ms > > This patch fix this issue by assigning 'wmi_bss_survey_req_type' > as 'WMI_BSS_SURVEY_REQ_TYPE_READ'. > > Firmware ver 10.4-3.4-00082 > Hardware QCA4019 > > Signed-off-by: Venkateswara Rao Naralasetty > --- > drivers/net/wireless/ath/ath10k/mac.c |2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/wireless/ath/ath10k/mac.c > b/drivers/net/wireless/ath/ath10k/mac.c > index 9977829..87a9b55 100644 > --- a/drivers/net/wireless/ath/ath10k/mac.c > +++ b/drivers/net/wireless/ath/ath10k/mac.c > @@ -6621,7 +6621,7 @@ static void ath10k_reconfig_complete(struct > ieee80211_hw *hw, > struct ieee80211_channel *channel) > { > int ret; > - enum wmi_bss_survey_req_type type = WMI_BSS_SURVEY_REQ_TYPE_READ_CLEAR; > + enum wmi_bss_survey_req_type type = WMI_BSS_SURVEY_REQ_TYPE_READ; Does the firmware read the registers directly, or does it accumulate the results in a way that can't overflow? If you don't clear the counters on reset, the overflow will be problematic for the current-channel stats. I think a better approach would be to use READ_CLEAR for in-use channels and store the sum inside the driver. - Felix ___ ath10k mailing list ath10k@lists.infradead.org http://lists.infradead.org/mailman/listinfo/ath10k
[PATCH] ath10k : Fix channel survey dump
Channel active/busy time are showing incorrect (less than previous or sometimes zero) for successive survey dump command. example: Survey data from wlan0 frequency: 5180 MHz [in use] channel active time:54995 ms channel busy time: 432 ms channel receive time: 0 ms channel transmit time: 59 ms Survey data from wlan0 frequency: 5180 MHz [in use] channel active time:32592 ms channel busy time: 254 ms channel receive time: 0 ms channel transmit time: 0 ms This patch fix this issue by assigning 'wmi_bss_survey_req_type' as 'WMI_BSS_SURVEY_REQ_TYPE_READ'. Firmware ver 10.4-3.4-00082 Hardware QCA4019 Signed-off-by: Venkateswara Rao Naralasetty --- drivers/net/wireless/ath/ath10k/mac.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c index 9977829..87a9b55 100644 --- a/drivers/net/wireless/ath/ath10k/mac.c +++ b/drivers/net/wireless/ath/ath10k/mac.c @@ -6621,7 +6621,7 @@ static void ath10k_reconfig_complete(struct ieee80211_hw *hw, struct ieee80211_channel *channel) { int ret; - enum wmi_bss_survey_req_type type = WMI_BSS_SURVEY_REQ_TYPE_READ_CLEAR; + enum wmi_bss_survey_req_type type = WMI_BSS_SURVEY_REQ_TYPE_READ; lockdep_assert_held(&ar->conf_mutex); -- 1.7.9.5 ___ ath10k mailing list ath10k@lists.infradead.org http://lists.infradead.org/mailman/listinfo/ath10k