Search Linux Wireless

Re: [PATCH 2/2] ath10k: allow dynamic SAR power limits to be configured

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2019-12-18 at 17:48 +0200, Kalle Valo wrote:
> From: Wen Gong <wgong@xxxxxxxxxxxxxx>
> 
> Add support for a vendor command for STATION, the command
> QCA_NL80211_VENDOR_SUBCMD_SET_SAR_LIMITS which is already defined in
> git://w1.fi/hostap.git (src/command/qca-vendor.h). This allows user
> space to configure power limits for 2.4 GHz and 5 GHz bands.
> 
> ath10k set pdev parameter WMI_PDEV_PARAM_TXPOWER_LIMIT2G and
> WMI_PDEV_PARAM_TXPOWER_LIMIT5G to firmware, the 2 value will
> be used as one input source to affect the tx power.
> 
> When QCA_NL80211_VENDOR_SUBCMD_SET_SAR_LIMITS set to ath10k, it will
> be saved the 2.4G and 5G limit value, If STATION is connected meanwhile,
> then the 2.4G and 5G WMI command will be set to firmware, otherwise
> it will not set to firmware at this moment. When STATION connect
> next time, it will set to firmware.
> 
> Tested with QCA6174 SDIO with firmware WLAN.RMH.4.4.1-00029.
> 
> Signed-off-by: Wen Gong <wgong@xxxxxxxxxxxxxx>
> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
> ---
>  drivers/net/wireless/ath/ath10k/Makefile |   1 +
>  drivers/net/wireless/ath/ath10k/core.c   |   2 +
>  drivers/net/wireless/ath/ath10k/core.h   |   2 +
>  drivers/net/wireless/ath/ath10k/hw.h     |   3 +
>  drivers/net/wireless/ath/ath10k/mac.c    |  64 +++++++++++++++++
>  drivers/net/wireless/ath/ath10k/mac.h    |   2 +-
>  drivers/net/wireless/ath/ath10k/vendor.c | 114
> +++++++++++++++++++++++++++++++
>  drivers/net/wireless/ath/ath10k/vendor.h |  13 ++++
>  drivers/net/wireless/ath/ath10k/wmi.h    |   6 ++
>  9 files changed, 206 insertions(+), 1 deletion(-)
>  create mode 100644 drivers/net/wireless/ath/ath10k/vendor.c
>  create mode 100644 drivers/net/wireless/ath/ath10k/vendor.h
> 

[...]

> diff --git a/drivers/net/wireless/ath/ath10k/wmi.h
> b/drivers/net/wireless/ath/ath10k/wmi.h
> index 972d53d77654..f0cadaa12399 100644
> --- a/drivers/net/wireless/ath/ath10k/wmi.h
> +++ b/drivers/net/wireless/ath/ath10k/wmi.h
> @@ -3695,6 +3695,12 @@ struct wmi_csa_event {
>  #define VDEV_DEFAULT_STATS_UPDATE_PERIOD    500
>  #define PEER_DEFAULT_STATS_UPDATE_PERIOD    500
>  
> +/* the mask of 4 sub band of 5G for SAR parameters */
> +#define ATH10K_WMI_SAR_5G_0_MASK GENMASK(7, 0)
> +#define ATH10K_WMI_SAR_5G_1_MASK GENMASK(15, 8)
> +#define ATH10K_WMI_SAR_5G_2_MASK GENMASK(23, 16)
> +#define ATH10K_WMI_SAR_5G_3_MASK GENMASK(31, 24)
> +

These masks aren't used.
Do you use 'u32' as four 'u8' SAR power limit for four bands?

>  struct wmi_pdev_param_map {
>  	u32 tx_chain_mask;
>  	u32 rx_chain_mask;




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux