summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorSathishkumar Muruganandam <quic_murugana@quicinc.com>2025-01-07 09:31:39 +0530
committerJeff Johnson <jeff.johnson@oss.qualcomm.com>2025-01-26 10:41:27 -0800
commit07c34cad10ab0ac8b06ede8a7fbc55ecf2efa3e6 (patch)
tree0966586a0fe77966d35e9ea6ecb08850071aa286 /drivers
parentefb24b1f0d29537714dd3cc46fb335ac27855251 (diff)
downloadlwn-07c34cad10ab0ac8b06ede8a7fbc55ecf2efa3e6.tar.gz
lwn-07c34cad10ab0ac8b06ede8a7fbc55ecf2efa3e6.zip
wifi: ath12k: encode max Tx power in scan channel list command
Currently, when sending the scan channel list command to the firmware, the maximum Tx power is not encoded in the reg2 member. This omission causes the firmware to be unaware of the host's maximum Tx power, leading to incorrect Tx power derivation at firmware level. To resolve this issue, encode the maximum Tx power in the scan channel list command before sending it to firmware. Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00173-QCAHKSWPL_SILICONZ-1 Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3 Fixes: d889913205cf ("wifi: ath12k: driver for Qualcomm Wi-Fi 7 devices") Signed-off-by: Sathishkumar Muruganandam <quic_murugana@quicinc.com> Signed-off-by: Aditya Kumar Singh <quic_adisi@quicinc.com> Tested-by: Nicolas Escande <nico.escande@gmail.com> Link: https://patch.msgid.link/20250107-add_max_reg_pwr_in_scan_ch_list_cmd-v1-1-70d9963a21e4@quicinc.com Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/wireless/ath/ath12k/wmi.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath12k/wmi.c b/drivers/net/wireless/ath/ath12k/wmi.c
index 57132c269aad..c7d128d41a92 100644
--- a/drivers/net/wireless/ath/ath12k/wmi.c
+++ b/drivers/net/wireless/ath/ath12k/wmi.c
@@ -2832,6 +2832,8 @@ int ath12k_wmi_send_scan_chan_list_cmd(struct ath12k *ar,
WMI_CHAN_REG_INFO1_REG_CLS);
*reg2 |= le32_encode_bits(channel_arg->antennamax,
WMI_CHAN_REG_INFO2_ANT_MAX);
+ *reg2 |= le32_encode_bits(channel_arg->maxregpower,
+ WMI_CHAN_REG_INFO2_MAX_TX_PWR);
ath12k_dbg(ar->ab, ATH12K_DBG_WMI,
"WMI chan scan list chan[%d] = %u, chan_info->info %8x\n",