diff mbox

ath10k: increase relay buffer size of spectral scan

Message ID 1430763684-1630-1-git-send-email-poh@qca.qualcomm.com (mailing list archive)
State Not Applicable
Delegated to: Kalle Valo
Headers show

Commit Message

Peter Oh May 4, 2015, 6:21 p.m. UTC
Spectral scan supported by ath10k has capability to monitor and report
through whole bands and channels, but current buffer size is too small
to save reported spectral scan data.
This results in dropping 5G channel reports at all when dual band card
is used, so that users are not able to analyze spectral environments.
Hence increase the buffer size to fix the problem.

A spectral data size is vary based on the number of bins, so the unit
buffer size, 1140, is chose to minimize relay buffer fragmentation.

The total buffer size is also chose in tradeoff with spectral scan
support vs. kernel memory consumption.
Since theoretical maximum buffer size, 9.5MB, can be consumed with
512 bins in dual bands, we target to cover up to 128 bins for all
channels in dual bands and due to the buffer size limitation,
spectral scan with bin number bigger than 128 needs to be run on
single band each.

Signed-off-by: Peter Oh <poh@qca.qualcomm.com>
---
 drivers/net/wireless/ath/ath10k/spectral.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Comments

Kalle Valo May 11, 2015, 3:02 p.m. UTC | #1
Peter Oh <poh@qca.qualcomm.com> writes:

> Spectral scan supported by ath10k has capability to monitor and report
> through whole bands and channels, but current buffer size is too small
> to save reported spectral scan data.
> This results in dropping 5G channel reports at all when dual band card
> is used, so that users are not able to analyze spectral environments.
> Hence increase the buffer size to fix the problem.
>
> A spectral data size is vary based on the number of bins, so the unit
> buffer size, 1140, is chose to minimize relay buffer fragmentation.
>
> The total buffer size is also chose in tradeoff with spectral scan
> support vs. kernel memory consumption.
> Since theoretical maximum buffer size, 9.5MB, can be consumed with
> 512 bins in dual bands, we target to cover up to 128 bins for all
> channels in dual bands and due to the buffer size limitation,
> spectral scan with bin number bigger than 128 needs to be run on
> single band each.
>
> Signed-off-by: Peter Oh <poh@qca.qualcomm.com>

Thanks, applied.
diff mbox

Patch

diff --git a/drivers/net/wireless/ath/ath10k/spectral.c b/drivers/net/wireless/ath/ath10k/spectral.c
index d22addf..8dcd424 100644
--- a/drivers/net/wireless/ath/ath10k/spectral.c
+++ b/drivers/net/wireless/ath/ath10k/spectral.c
@@ -519,9 +519,12 @@  int ath10k_spectral_vif_stop(struct ath10k_vif *arvif)
 
 int ath10k_spectral_create(struct ath10k *ar)
 {
+	/* The buffer size covers whole channels in dual bands up to 128 bins.
+	 * Scan with bigger than 128 bins needs to be run on single band each.
+	 */
 	ar->spectral.rfs_chan_spec_scan = relay_open("spectral_scan",
 						     ar->debug.debugfs_phy,
-						     1024, 256,
+						     1140, 2500,
 						     &rfs_spec_scan_cb, NULL);
 	debugfs_create_file("spectral_scan_ctl",
 			    S_IRUSR | S_IWUSR,