This patch-set mainly does four things: 1. Add handler to send WMI_SET_CURRENT_COUNTRY_CMDID to firmware. 2. Implement 11d scan offload, and report country code to firmware by WMI command WMI_SET_CURRENT_COUNTRY_CMDID. 3. Use WMI_SET_CURRENT_COUNTRY_CMDID to set country code for WCN7850. 4. Store country code, and update it to firmware after device recovery. With this patch-set, WCN7850 can do 11d offload scan and update country code to firmware successfully. Note: This patch-set is an old patch-set in public review written by Wen Gong. Just resend it for him. Link: https://patchwork.kernel.org/project/linux-wireless/cover/20230914090746.23560-1-quic_wgong@xxxxxxxxxxx/ v5: rebase on tag: ath/main(ath-202410111606). v4: rebase on tag: ath-202410072115. v3: 1. use wiphy::mtx lock instead of adding a new lock(patch#2). 2. rename struct according to wmi naming convention(patch#1, #2). 3. update copyright in reg.h 4. modifiy patch#3, #4 due to struct name change. v2: change per Jeff. 1. change alpha2 length from 3 to 2. 2. change wmi_11d_new_cc_ev to wmi_11d_new_cc_event. Wen Gong (4): wifi: ath12k: add configure country code for WCN7850 wifi: ath12k: add 11d scan offload support wifi: ath12k: use correct WMI command to set country code for WCN7850 wifi: ath12k: store and send country code to firmware after recovery drivers/net/wireless/ath/ath12k/core.c | 34 ++++- drivers/net/wireless/ath/ath12k/core.h | 17 +++ drivers/net/wireless/ath/ath12k/hw.c | 6 + drivers/net/wireless/ath/ath12k/hw.h | 1 + drivers/net/wireless/ath/ath12k/mac.c | 167 ++++++++++++++++++++++++- drivers/net/wireless/ath/ath12k/mac.h | 7 ++ drivers/net/wireless/ath/ath12k/reg.c | 70 ++++++++--- drivers/net/wireless/ath/ath12k/reg.h | 4 +- drivers/net/wireless/ath/ath12k/wmi.c | 158 ++++++++++++++++++++++- drivers/net/wireless/ath/ath12k/wmi.h | 38 ++++++ 10 files changed, 480 insertions(+), 22 deletions(-) base-commit: 69eabe24843f238e79a6dbbd2b3fcc8eef39d6b8 -- 2.34.1