mac80211: Backport ath10k firmware API v5 support
[openwrt.git] / package / kernel / mac80211 / patches / 932-ath10k_bump_up_fw_api_to_5.patch
1 diff --git a/drivers/net/wireless/ath/ath10k/core.c b/drivers/net/wireless/ath/ath10k/core.c
2 index f3788e2..1c74585d 100644
3 --- a/drivers/net/wireless/ath/ath10k/core.c
4 +++ b/drivers/net/wireless/ath/ath10k/core.c
5 @@ -741,6 +741,13 @@ static int ath10k_core_fetch_firmware_files(struct ath10k *ar)
6         /* calibration file is optional, don't check for any errors */
7         ath10k_fetch_cal_file(ar);
8  
9 +       ar->fw_api = 5;
10 +       ath10k_dbg(ar, ATH10K_DBG_BOOT, "trying fw api %d\n", ar->fw_api);
11 +
12 +       ret = ath10k_core_fetch_firmware_api_n(ar, ATH10K_FW_API5_FILE);
13 +       if (ret == 0)
14 +               goto success;
15 +
16         ar->fw_api = 4;
17         ath10k_dbg(ar, ATH10K_DBG_BOOT, "trying fw api %d\n", ar->fw_api);
18  
19 diff --git a/drivers/net/wireless/ath/ath10k/hw.h b/drivers/net/wireless/ath/ath10k/hw.h
20 index c236dd3..46e14d1 100644
21 --- a/drivers/net/wireless/ath/ath10k/hw.h
22 +++ b/drivers/net/wireless/ath/ath10k/hw.h
23 @@ -78,6 +78,9 @@ enum qca6174_chip_id_rev {
24  /* added support for ATH10K_FW_IE_WMI_OP_VERSION */
25  #define ATH10K_FW_API4_FILE            "firmware-4.bin"
26  
27 +/* HTT id conflict fix for management frames over HTT */
28 +#define ATH10K_FW_API5_FILE            "firmware-5.bin"
29 +
30  #define ATH10K_FW_UTF_FILE             "utf.bin"
31  
32  /* includes also the null byte */
33 diff --git a/drivers/net/wireless/ath/ath10k/pci.c b/drivers/net/wireless/ath/ath10k/pci.c
34 index b4aacfa..262a84f 100644
35 --- a/drivers/net/wireless/ath/ath10k/pci.c
36 +++ b/drivers/net/wireless/ath/ath10k/pci.c
37 @@ -2780,5 +2780,6 @@ MODULE_FIRMWARE(QCA988X_HW_2_0_FW_DIR "/" QCA988X_HW_2_0_FW_FILE);
38  MODULE_FIRMWARE(QCA988X_HW_2_0_FW_DIR "/" ATH10K_FW_API2_FILE);
39  MODULE_FIRMWARE(QCA988X_HW_2_0_FW_DIR "/" ATH10K_FW_API3_FILE);
40 +MODULE_FIRMWARE(QCA988X_HW_2_0_FW_DIR "/" ATH10K_FW_API5_FILE);
41  MODULE_FIRMWARE(QCA988X_HW_2_0_FW_DIR "/" QCA988X_HW_2_0_BOARD_DATA_FILE);
42  
43  /* QCA6174 2.1 firmware files */