瀏覽代碼

qcacld-3.0: Support IBSS firmware bin(32-clis)

qcacld-2.0 to qcacld-3.0 propagation

Firmware can't support all station feature and 32 ibss clients
in one bin because of the mem limitation. So host supports to
download IBSS firmware bin if con_mode=6.

CRs-Fixed: 962246
Change-Id: I6c3dca17c82fdfd2bdadcee319cc157e6aa2ead9
Frank Liu 8 年之前
父節點
當前提交
ab70c840e7
共有 3 個文件被更改,包括 13 次插入6 次删除
  1. 7 1
      core/bmi/src/ol_fw.c
  2. 1 0
      core/pld/inc/pld_common.h
  3. 5 5
      core/pld/src/pld_sdio.h

+ 7 - 1
core/bmi/src/ol_fw.c

@@ -194,7 +194,13 @@ __ol_transfer_bin_file(struct ol_context *ol_ctx, ATH_BIN_FILE file,
 			break;
 		}
 #endif
-		filename = bmi_ctx->fw_files.image_file;
+		if (cds_get_conparam() == QDF_GLOBAL_IBSS_MODE &&
+		    (bmi_ctx->fw_files.ibss_image_file[0] != '\0')) {
+			filename = bmi_ctx->fw_files.ibss_image_file;
+		} else {
+			filename = bmi_ctx->fw_files.image_file;
+		}
+
 		if (SIGNED_SPLIT_BINARY_VALUE)
 			bin_sign = true;
 		break;

+ 1 - 0
core/pld/inc/pld_common.h

@@ -94,6 +94,7 @@ struct pld_fw_files {
 	char epping_file[PLD_MAX_FILE_NAME];
 	char evicted_data[PLD_MAX_FILE_NAME];
 	char setup_file[PLD_MAX_FILE_NAME];
+	char ibss_image_file[PLD_MAX_FILE_NAME];
 };
 
 /**

+ 5 - 5
core/pld/src/pld_sdio.h

@@ -35,19 +35,19 @@
 
 struct pld_fw_files fw_files_qca6174_fw_1_1 = {
 	"qwlan11.bin", "bdwlan11.bin", "otp11.bin", "utf11.bin",
-	"utfbd11.bin", "qsetup11.bin", "epping11.bin"};
+	"utfbd11.bin", "qsetup11.bin", "epping11.bin", ""};
 struct pld_fw_files fw_files_qca6174_fw_2_0 = {
 	"qwlan20.bin", "bdwlan20.bin", "otp20.bin", "utf20.bin",
-	"utfbd20.bin", "qsetup20.bin", "epping20.bin"};
+	"utfbd20.bin", "qsetup20.bin", "epping20.bin", ""};
 struct pld_fw_files fw_files_qca6174_fw_1_3 = {
 	"qwlan13.bin", "bdwlan13.bin", "otp13.bin", "utf13.bin",
-	"utfbd13.bin", "qsetup13.bin", "epping13.bin"};
+	"utfbd13.bin", "qsetup13.bin", "epping13.bin", ""};
 struct pld_fw_files fw_files_qca6174_fw_3_0 = {
 	"qwlan30.bin", "bdwlan30.bin", "otp30.bin", "utf30.bin",
-	"utfbd30.bin", "qsetup30.bin", "epping30.bin"};
+	"utfbd30.bin", "qsetup30.bin", "epping30.bin", "qwlan30i.bin"};
 struct pld_fw_files fw_files_default = {
 	"qwlan.bin", "bdwlan.bin", "otp.bin", "utf.bin",
-	"utfbd.bin", "qsetup.bin", "epping.bin"};
+	"utfbd.bin", "qsetup.bin", "epping.bin", ""};
 #endif
 
 #ifndef CONFIG_SDIO