aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath12k/wmi.h
diff options
context:
space:
mode:
authorWen Gong <[email protected]>2025-04-01 02:08:37 +0000
committerJeff Johnson <[email protected]>2025-04-02 15:04:31 +0000
commit1b68481fc1d8fa89a3d974b64a15beed2326c5c7 (patch)
tree45d3a5ed9a59cab8d0127eb2d0e058f8c41cae16 /drivers/net/wireless/ath/ath12k/wmi.h
parentwifi: ath12k: Fix memory leak due to multiple rx_stats allocation (diff)
downloadkernel-1b68481fc1d8fa89a3d974b64a15beed2326c5c7.tar.gz
kernel-1b68481fc1d8fa89a3d974b64a15beed2326c5c7.zip
wifi: ath12k: add configure country code for WCN7850
Currently, WMI_SET_INIT_COUNTRY_CMDID is used to set country code for WCN7850 and QCN9274. But WMI_SET_INIT_COUNTRY_CMDID is not the correct command for WCN7850. Add handler to send WMI_SET_CURRENT_COUNTRY_CMDID to firmware, which is used for WCN7850 to update country code. Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3 Signed-off-by: Wen Gong <[email protected]> Signed-off-by: Kang Yang <[email protected]> Reviewed-by: Vasanthakumar Thiagarajan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jeff Johnson <[email protected]>
Diffstat (limited to 'drivers/net/wireless/ath/ath12k/wmi.h')
-rw-r--r--drivers/net/wireless/ath/ath12k/wmi.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath12k/wmi.h b/drivers/net/wireless/ath/ath12k/wmi.h
index be4ac91dd34f..7fdc3dd497a1 100644
--- a/drivers/net/wireless/ath/ath12k/wmi.h
+++ b/drivers/net/wireless/ath/ath12k/wmi.h
@@ -4110,6 +4110,16 @@ struct ath12k_wmi_eht_rate_set_params {
#define REG_ALPHA2_LEN 2
#define MAX_6GHZ_REG_RULES 5
+struct wmi_set_current_country_arg {
+ u8 alpha2[REG_ALPHA2_LEN];
+};
+
+struct wmi_set_current_country_cmd {
+ __le32 tlv_header;
+ __le32 pdev_id;
+ __le32 new_alpha2;
+} __packed;
+
enum wmi_start_event_param {
WMI_VDEV_START_RESP_EVENT = 0,
WMI_VDEV_RESTART_RESP_EVENT,
@@ -5990,6 +6000,9 @@ int ath12k_wmi_send_bcn_offload_control_cmd(struct ath12k *ar,
u32 vdev_id, u32 bcn_ctrl_op);
int ath12k_wmi_send_init_country_cmd(struct ath12k *ar,
struct ath12k_wmi_init_country_arg *arg);
+int
+ath12k_wmi_send_set_current_country_cmd(struct ath12k *ar,
+ struct wmi_set_current_country_arg *arg);
int ath12k_wmi_peer_rx_reorder_queue_setup(struct ath12k *ar,
int vdev_id, const u8 *addr,
dma_addr_t paddr, u8 tid,