summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrank Liu <qiliu@codeaurora.org>2016-10-20 10:02:18 +0800
committerqcabuildsw <qcabuildsw@localhost>2016-11-29 16:07:55 -0800
commit8393fed9be7991ca0db4e40227c02e70b5beb5ae (patch)
tree83ebae524c9337042d112298e79b113595f48358
parent89f53aa5205ba34b268d68e7fc62aa60bae289da (diff)
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 single bin because of the mem limitation. So host supports to download IBSS firmware bin if con_mode=6. CRs-Fixed: 962246 Change-Id: I6c3dca17c82fdfd2bdadcee319cc157e6aa2ead9
-rw-r--r--core/bmi/src/ol_fw.c8
-rw-r--r--core/pld/inc/pld_common.h1
-rw-r--r--core/pld/src/pld_sdio.h10
3 files changed, 13 insertions, 6 deletions
diff --git a/core/bmi/src/ol_fw.c b/core/bmi/src/ol_fw.c
index 71b7217452fc..75081f5d0076 100644
--- a/core/bmi/src/ol_fw.c
+++ b/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;
diff --git a/core/pld/inc/pld_common.h b/core/pld/inc/pld_common.h
index 3a9bd1266c11..94854a79f390 100644
--- a/core/pld/inc/pld_common.h
+++ b/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];
};
/**
diff --git a/core/pld/src/pld_sdio.h b/core/pld/src/pld_sdio.h
index 84a555a01324..2ac4ceafa11f 100644
--- a/core/pld/src/pld_sdio.h
+++ b/core/pld/src/pld_sdio.h
@@ -42,23 +42,23 @@
struct pld_fw_files fw_files_qca6174_fw_1_1 = {
PREFIX "qwlan11.bin", PREFIX "bdwlan11.bin", PREFIX "otp11.bin",
PREFIX "utf11.bin", PREFIX "utfbd11.bin", PREFIX "qsetup11.bin",
- PREFIX "epping11.bin"};
+ PREFIX "epping11.bin", ""};
struct pld_fw_files fw_files_qca6174_fw_2_0 = {
PREFIX "qwlan20.bin", PREFIX "bdwlan20.bin", PREFIX "otp20.bin",
PREFIX "utf20.bin", PREFIX "utfbd20.bin", PREFIX "qsetup20.bin",
- PREFIX "epping20.bin"};
+ PREFIX "epping20.bin", ""};
struct pld_fw_files fw_files_qca6174_fw_1_3 = {
PREFIX "qwlan13.bin", PREFIX "bdwlan13.bin", PREFIX "otp13.bin",
PREFIX "utf13.bin", PREFIX "utfbd13.bin", PREFIX "qsetup13.bin",
- PREFIX "epping13.bin"};
+ PREFIX "epping13.bin", ""};
struct pld_fw_files fw_files_qca6174_fw_3_0 = {
PREFIX "qwlan30.bin", PREFIX "bdwlan30.bin", PREFIX "otp30.bin",
PREFIX "utf30.bin", PREFIX "utfbd30.bin", PREFIX "qsetup30.bin",
- PREFIX "epping30.bin"};
+ PREFIX "epping30.bin", PREFIX "qwlan30i.bin"};
struct pld_fw_files fw_files_default = {
PREFIX "qwlan.bin", PREFIX "bdwlan.bin", PREFIX "otp.bin",
PREFIX "utf.bin", PREFIX "utfbd.bin", PREFIX "qsetup.bin",
- PREFIX "epping.bin"};
+ PREFIX "epping.bin", ""};
#endif
#ifndef CONFIG_SDIO