Re: [for-4.0] brcmfmac: disable MBSS feature for BCM43362

2015-03-21 Thread Kalle Valo
The BCM43362 firmware falsely reports it is capable of providing MBSS. As a result AP mode no longer works for this device. Therefor disable MBSS in the driver for this chipset. Cc: sta...@vger.kernel.org # 3.19.y Reported-by: Jorg Krause jkra...@posteo.de Reviewed-by: Hante Meuleman

[PATCH v2 10/18] ath9k: write buffer related optimisation in ar5008_hw_set_channel_regs

2015-03-21 Thread Oleksij Rempel
Signed-off-by: Oleksij Rempel li...@rempel-privat.de --- drivers/net/wireless/ath/ath9k/ar5008_phy.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/net/wireless/ath/ath9k/ar5008_phy.c b/drivers/net/wireless/ath/ath9k/ar5008_phy.c index f273427..6c23d27 100644

[PATCH v2 12/18] ath9k: use rmw buffer in ath9k_hw_set_operating_mode and ath9k_hw_reset

2015-03-21 Thread Oleksij Rempel
Signed-off-by: Oleksij Rempel li...@rempel-privat.de --- drivers/net/wireless/ath/ath9k/hw.c | 4 1 file changed, 4 insertions(+) diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c index 15433c7..523a6a8 100644 --- a/drivers/net/wireless/ath/ath9k/hw.c

[PATCH v2 02/18] ath9k: ar9271_hw_pa_cal - use defs instead of magin numbers

2015-03-21 Thread Oleksij Rempel
This function uses mixed styles for register names/numbers which is make harder reading and optimisation. Signed-off-by: Oleksij Rempel li...@rempel-privat.de --- drivers/net/wireless/ath/ath9k/ar9002_calib.c | 35 ++- 1 file changed, 18 insertions(+), 17 deletions(-)

[PATCH v2 09/18] ath9k: ath9k_hw_loadnf: use REG_RMW

2015-03-21 Thread Oleksij Rempel
Signed-off-by: Oleksij Rempel li...@rempel-privat.de --- drivers/net/wireless/ath/ath9k/calib.c | 19 --- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/drivers/net/wireless/ath/ath9k/calib.c b/drivers/net/wireless/ath/ath9k/calib.c index e200a6e..3e2e24e 100644

[PATCH v2 07/18] ath9k: ar9271_hw_pa_cal: use REG_READ_ARRAY

2015-03-21 Thread Oleksij Rempel
insted of reading each register separatly and waste 4ms on each operation, we can use one shot read. Signed-off-by: Oleksij Rempel li...@rempel-privat.de --- drivers/net/wireless/ath/ath9k/ar9002_calib.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git

[PATCH v2 04/18] ath9k: ar9271_hw_pa_cal: use RMW buffer

2015-03-21 Thread Oleksij Rempel
Signed-off-by: Oleksij Rempel li...@rempel-privat.de --- drivers/net/wireless/ath/ath9k/ar9002_calib.c | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/net/wireless/ath/ath9k/ar9002_calib.c b/drivers/net/wireless/ath/ath9k/ar9002_calib.c index 8d24a73..62a2314

[PATCH v2 03/18] ath9k: ar9271_hw_pa_cal: use proper makroses.

2015-03-21 Thread Oleksij Rempel
Signed-off-by: Oleksij Rempel li...@rempel-privat.de --- drivers/net/wireless/ath/ath9k/ar9002_calib.c | 43 --- 1 file changed, 19 insertions(+), 24 deletions(-) diff --git a/drivers/net/wireless/ath/ath9k/ar9002_calib.c b/drivers/net/wireless/ath/ath9k/ar9002_calib.c

[PATCH v2 15/18] ath9k: ath9k_hw_4k_set_board_values: use rmw buffer

2015-03-21 Thread Oleksij Rempel
it will reduce exution time from 14ms to 2ms on ar9271 Signed-off-by: Oleksij Rempel li...@rempel-privat.de --- drivers/net/wireless/ath/ath9k/eeprom_4k.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/wireless/ath/ath9k/eeprom_4k.c

[PATCH v2 06/18] ath9k: add new function ath9k_hw_read_array

2015-03-21 Thread Oleksij Rempel
REG_READ generate most overhead on usb bus. It send and read micro packages and reduce usb bandwidth. To reduce this overhead we should read in batches. Signed-off-by: Oleksij Rempel li...@rempel-privat.de --- drivers/net/wireless/ath/ath9k/hw.c | 20

[PATCH v2 16/18] ath9k: use REG_RMW and rmw buffer in ath9k_hw_4k_set_gain

2015-03-21 Thread Oleksij Rempel
it is possible to reduce time needed for this function by rplacing REG_WRITE with REG_RMW (plus dummy 0) and putt all commands in same buffer. Signed-off-by: Oleksij Rempel li...@rempel-privat.de --- drivers/net/wireless/ath/ath9k/eeprom_4k.c | 16 1 file changed, 8

[PATCH v2 01/18] ath9k_htc: add new WMI_REG_RMW_CMDID command

2015-03-21 Thread Oleksij Rempel
Since usb bus add extra delay on each request, a command with read + write requests is too expensive. We can dramtically reduce usb load by moving this command to firmware. In my tests, this patch will reduce channel scan time for about 5-10 seconds. Signed-off-by: Oleksij Rempel

[PATCH v2 11/18] ath9k: ath9k_hw_set_4k_power_cal_tabl: use rmw buffer

2015-03-21 Thread Oleksij Rempel
Signed-off-by: Oleksij Rempel li...@rempel-privat.de --- drivers/net/wireless/ath/ath9k/eeprom_4k.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/wireless/ath/ath9k/eeprom_4k.c b/drivers/net/wireless/ath/ath9k/eeprom_4k.c index e5a78d4..fc54fc7 100644 ---

[PATCH v2 18/18] ath9k: use REG_RMW and rmw buffer in ath9k_hw_def_set_gain

2015-03-21 Thread Oleksij Rempel
Signed-off-by: Oleksij Rempel li...@rempel-privat.de --- drivers/net/wireless/ath/ath9k/eeprom_def.c | 34 - 1 file changed, 14 insertions(+), 20 deletions(-) diff --git a/drivers/net/wireless/ath/ath9k/eeprom_def.c b/drivers/net/wireless/ath/ath9k/eeprom_def.c index

[PATCH v2 05/18] ath9k: add multi_read to be compatible with ath9k_htc

2015-03-21 Thread Oleksij Rempel
Signed-off-by: Oleksij Rempel li...@rempel-privat.de --- drivers/net/wireless/ath/ath9k/init.c | 11 +++ 1 file changed, 11 insertions(+) diff --git a/drivers/net/wireless/ath/ath9k/init.c b/drivers/net/wireless/ath/ath9k/init.c index 6c6e884..041decc 100644 ---

[PATCH v2 13/18] ath9k: ath9k_hw_4k_set_board_values: use rmw buffer

2015-03-21 Thread Oleksij Rempel
Signed-off-by: Oleksij Rempel li...@rempel-privat.de --- drivers/net/wireless/ath/ath9k/eeprom_4k.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/wireless/ath/ath9k/eeprom_4k.c b/drivers/net/wireless/ath/ath9k/eeprom_4k.c index fc54fc7..0600562 100644 ---

[PATCH v2 17/18] ath9k: use REG_RMW and rmw buffer in ath9k_hw_4k_set_board_values

2015-03-21 Thread Oleksij Rempel
replace REG_WRITE to REG_RMW and place every thing in one RMW buffer. Signed-off-by: Oleksij Rempel li...@rempel-privat.de --- drivers/net/wireless/ath/ath9k/eeprom_4k.c | 14 -- 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/drivers/net/wireless/ath/ath9k/eeprom_4k.c

[PATCH v2 14/18] ath9k: ath9k_hw_analog_shift_rmw: use REG_RMW

2015-03-21 Thread Oleksij Rempel
use REG_RMW in ath9k_hw_analog_shift_rmw. It will double execution speed on usb bus. Signed-off-by: Oleksij Rempel li...@rempel-privat.de --- drivers/net/wireless/ath/ath9k/eeprom.c | 7 +-- 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/drivers/net/wireless/ath/ath9k/eeprom.c

[PATCH v2 08/18] ath9k: use one shot read in ath9k_hw_update_mibstats

2015-03-21 Thread Oleksij Rempel
this will reduce some overhead on usb bus. Signed-off-by: Oleksij Rempel li...@rempel-privat.de --- drivers/net/wireless/ath/ath9k/ani.c | 20 +++- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/drivers/net/wireless/ath/ath9k/ani.c

Re: [PATCH v2 06/18] ath9k: add new function ath9k_hw_read_array

2015-03-21 Thread Marc Kleine-Budde
On 03/21/2015 09:47 AM, Oleksij Rempel wrote: REG_READ generate most overhead on usb bus. It send and read micro packages and reduce usb bandwidth. To reduce this overhead we should read in batches. Signed-off-by: Oleksij Rempel li...@rempel-privat.de ---

[PATCH 16/18 v2] ath9k: use REG_RMW and rmw buffer in ath9k_hw_4k_set_gain

2015-03-21 Thread Oleksij Rempel
it is possible to reduce time needed for this function by rplacing REG_WRITE with REG_RMW (plus dummy 0) and putt all commands in same buffer. Signed-off-by: Oleksij Rempel li...@rempel-privat.de --- drivers/net/wireless/ath/ath9k/eeprom_4k.c | 16 1 file changed, 8

[PATCH 18/18 v2] ath9k: use REG_RMW and rmw buffer in ath9k_hw_def_set_gain

2015-03-21 Thread Oleksij Rempel
Signed-off-by: Oleksij Rempel li...@rempel-privat.de --- drivers/net/wireless/ath/ath9k/eeprom_def.c | 34 - 1 file changed, 14 insertions(+), 20 deletions(-) diff --git a/drivers/net/wireless/ath/ath9k/eeprom_def.c b/drivers/net/wireless/ath/ath9k/eeprom_def.c index

Re: ath9k: Fix AIC compilation error

2015-03-21 Thread Kalle Valo
From: Sujith Manoharan c_man...@qca.qualcomm.com AIC needs to be registered only when BTCOEX is enabled. This fixes the error reported by kbuild: ERROR: ar9003_hw_attach_aic_ops [drivers/net/wireless/ath/ath9k/ath9k_hw.ko] undefined! Signed-off-by: Sujith Manoharan

Re: [PATCH 16/18 v2] ath9k: use REG_RMW and rmw buffer in ath9k_hw_4k_set_gain

2015-03-21 Thread Kalle Valo
Oleksij Rempel li...@rempel-privat.de writes: it is possible to reduce time needed for this function by rplacing REG_WRITE with REG_RMW (plus dummy 0) and putt all commands in same buffer. Signed-off-by: Oleksij Rempel li...@rempel-privat.de Please resend the whole patchset, much more

[PATCH] rtlwifi: Fix IOMMU mapping leak in AP mode

2015-03-21 Thread Larry Finger
Transmission of an AP beacon does not call the TX interrupt service routine, which usually does the cleanup. Instead, cleanup is handled in a tasklet completion routine. Unfortunately, this routine has a serious bug in that it does not release the DMA mapping before it frees the skb, thus one

Re: Broadcom 43340

2015-03-21 Thread Jürgen Bausa
Arend van Spriel arend@... writes: CONFIG_BRCM_TRACING is another way to get debug output, but I guess that is not enabled either. Just found this via google to enable wlan: 1. the nvram file under /sys/firmware/efi/efivars/ has a wrong MAC address. I changed it to the correct one.

Re: [PATCH v3 08/10] mac80211: add max. lossless throughput per rate to rc_stats

2015-03-21 Thread Felix Fietkau
On 2015-03-17 18:29, Thomas Huehn wrote: This patch adds the new statistic maximum possible lossless throughput to Minstrels and Minstrel-HTs rc_stats (in debugfs). This enables comprehensive comparison between current per-rate throughput and max. achievable per-rate throughput.

Re: rtlwifi: Fix IOMMU mapping leak in AP mode

2015-03-21 Thread Kalle Valo
Transmission of an AP beacon does not call the TX interrupt service routine, which usually does the cleanup. Instead, cleanup is handled in a tasklet completion routine. Unfortunately, this routine has a serious bug in that it does not release the DMA mapping before it frees the skb, thus