Re: [PATCH 4.9] ath10k: allow setting coverage class
From: Greg KH
Date: Mon May 20 2019 - 05:47:50 EST
On Mon, May 20, 2019 at 11:39:09AM +0200, Tomislav PoÅega wrote:
> From: Benjamin Berg <benjamin@xxxxxxxxxxxxxxxx>
>
> Unfortunately ath10k does not generally allow modifying the coverage class
> with the stock firmware and Qualcomm has so far refused to implement this
> feature so that it can be properly supported in ath10k. If we however know
> the registers that need to be modified for proper operation with a higher
> coverage class, then we can do these modifications from the driver.
>
> This is a hack and might cause subtle problems but as it's not enabled by
> default (only when user space changes the coverage class explicitly) it should
> not cause new problems for existing setups. But still this should be considered
> as an experimental feature and used with caution.
>
> This patch implements the support for first generation cards (QCA9880, QCA9887
> and so on) which are based on a core that is similar to ath9k. The registers
> are modified in place and need to be re-written every time the firmware sets
> them. To achieve this the register status is verified after certain WMI events
> from the firmware.
>
> The coverage class may not be modified temporarily right after the card
> re-initializes the registers. This is for example the case during scanning.
>
> Thanks to Sebastian Gottschall <s.gottschall@xxxxxxxxxx> for initially
> working on a userspace support for this. This patch wouldn't have been
> possible without this documentation.
>
> Signed-off-by: Benjamin Berg <benjamin@xxxxxxxxxxxxxxxx>
> Signed-off-by: Simon Wunderlich <sw@xxxxxxxxxxxxxxxxxx>
> Signed-off-by: Mathias Kretschmer <mathias.kretschmer@xxxxxxxxxxxxxxxxx>
> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx>
> Signed-off-by: Tomislav PoÅega <pozega.tomislav@xxxxxxxxx>
> ---
<formletter>
This is not the correct way to submit patches for inclusion in the
stable kernel tree. Please read:
https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html
for how to do this properly.
</formletter>