wil6210: support Talyn specific FW file
authorMaya Erez <merez@codeaurora.org>
Tue, 24 Jul 2018 07:44:27 +0000 (10:44 +0300)
committerKalle Valo <kvalo@codeaurora.org>
Tue, 31 Jul 2018 08:00:15 +0000 (11:00 +0300)
FW file name for Talyn device is different from the default name.
This patch searches for Talyn specific FW file name and fallback
to the default FW file in case it is not present.

Signed-off-by: Maya Erez <merez@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ath/wil6210/pcie_bus.c
drivers/net/wireless/ath/wil6210/wil6210.h

index 8b148cb..7192d9a 100644 (file)
@@ -93,6 +93,10 @@ int wil_set_capabilities(struct wil6210_priv *wil)
                if (wil_r(wil, RGF_USER_OTP_HW_RD_MACHINE_1) &
                    BIT_NO_FLASH_INDICATION)
                        set_bit(hw_capa_no_flash, wil->hw_capa);
+               wil_fw_name = ftm_mode ? WIL_FW_NAME_FTM_TALYN :
+                             WIL_FW_NAME_TALYN;
+               if (wil_fw_verify_file_exists(wil, wil_fw_name))
+                       wil->wil_fw_name = wil_fw_name;
                break;
        case JTAG_DEV_ID_TALYN_MB:
                wil->hw_name = "Talyn-MB";
@@ -104,6 +108,10 @@ int wil_set_capabilities(struct wil6210_priv *wil)
                set_bit(hw_capa_no_flash, wil->hw_capa);
                wil->use_enhanced_dma_hw = true;
                wil->use_rx_hw_reordering = true;
+               wil_fw_name = ftm_mode ? WIL_FW_NAME_FTM_TALYN :
+                             WIL_FW_NAME_TALYN;
+               if (wil_fw_verify_file_exists(wil, wil_fw_name))
+                       wil->wil_fw_name = wil_fw_name;
                break;
        default:
                wil_err(wil, "Unknown board hardware, chip_id 0x%08x, chip_revision 0x%08x\n",
index b06cba5..00719a0 100644 (file)
@@ -50,6 +50,9 @@ union wil_tx_desc;
 #define WIL_FW_NAME_SPARROW_PLUS "wil6210_sparrow_plus.fw"
 #define WIL_FW_NAME_FTM_SPARROW_PLUS "wil6210_sparrow_plus_ftm.fw"
 
+#define WIL_FW_NAME_TALYN "wil6436.fw"
+#define WIL_FW_NAME_FTM_TALYN "wil6436_ftm.fw"
+
 #define WIL_BOARD_FILE_NAME "wil6210.brd" /* board & radio parameters */
 
 #define WIL_DEFAULT_BUS_REQUEST_KBPS 128000 /* ~1Gbps */