From 8393fed9be7991ca0db4e40227c02e70b5beb5ae Mon Sep 17 00:00:00 2001 From: Frank Liu Date: Thu, 20 Oct 2016 10:02:18 +0800 Subject: 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 --- core/bmi/src/ol_fw.c | 8 +++++++- core/pld/inc/pld_common.h | 1 + core/pld/src/pld_sdio.h | 10 +++++----- 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 -- cgit v1.2.3