On Mon, May 20, 2019 at 11:39:09AM +0200, Tomislav Požega wrote:
> From: Benjamin Berg <[email protected]>
>
> 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 <[email protected]> for initially
> working on a userspace support for this. This patch wouldn't have been
> possible without this documentation.
>
> Signed-off-by: Benjamin Berg <[email protected]>
> Signed-off-by: Simon Wunderlich <[email protected]>
> Signed-off-by: Mathias Kretschmer <[email protected]>
> Signed-off-by: Kalle Valo <[email protected]>
> Signed-off-by: Tomislav Požega <[email protected]>
> ---
<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>