soc: qcom: icnss2: Import Xiaomi changes from garnet-t-oss

Change-Id: Ic7ad09b893142234aaecf2766982cc7c9068becc
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
This commit is contained in:
Jens Reidel 2024-05-04 02:22:45 +02:00
parent edf6341795
commit c259056378
No known key found for this signature in database
GPG Key ID: 23C1E5F512C12303
2 changed files with 22 additions and 4 deletions

View File

@ -3,6 +3,7 @@
obj-$(CONFIG_ICNSS2) += icnss2.o
ccflags-y += -I$(srctree)/drivers/net/wireless/cnss_utils/
ccflags-y += -I$(srctree)/drivers/misc/hwid/
icnss2-y := main.o
icnss2-y += debug.o
icnss2-y += power.o

View File

@ -31,6 +31,7 @@
#include "qmi.h"
#include "debug.h"
#include "genl.h"
#include "hwid.h"
#define WLFW_SERVICE_WCN_INS_ID_V01 3
#define WLFW_SERVICE_INS_ID_V01 0
@ -42,7 +43,10 @@
#define ELF_BDF_FILE_NAME_PREFIX "bdwlan.e"
#define BIN_BDF_FILE_NAME "bdwlan.bin"
#define BIN_BDF_FILE_NAME_PREFIX "bdwlan."
#define ELF_BDF_FILE_NAME_L9S "bd_l9s.elf"
#define ELF_BDF_FILE_NAME_L9S_GLOBAL "bd_l9sgl.elf"
#define REGDB_FILE_NAME "regdb.bin"
#define REGDB_FILE_NAME_XIAOMI "regdb_xiaomi.bin"
#define QDSS_TRACE_CONFIG_FILE "qdss_trace_config.cfg"
@ -1014,11 +1018,24 @@ static int icnss_get_bdf_file_name(struct icnss_priv *priv,
char foundry_specific_filename[ICNSS_MAX_FILE_NAME];
int ret = 0;
uint32_t hw_platform_ver = 0;
uint32_t hw_country_ver = 0;
hw_country_ver = get_hw_country_version();
hw_platform_ver = get_hw_version_platform();
switch (bdf_type) {
case ICNSS_BDF_ELF:
if (priv->board_id == 0xFF)
if (priv->board_id == 0xFF) {
if (hw_platform_ver == HARDWARE_PROJECT_L9S) {
if ((uint32_t)CountryGlobal == hw_country_ver)
snprintf(filename_tmp, filename_len,
ELF_BDF_FILE_NAME_L9S_GLOBAL);
else
snprintf(filename_tmp, filename_len,
ELF_BDF_FILE_NAME_L9S);
} else
snprintf(filename_tmp, filename_len, ELF_BDF_FILE_NAME);
else if (priv->board_id < 0xFF)
} else if (priv->board_id < 0xFF)
snprintf(filename_tmp, filename_len,
ELF_BDF_FILE_NAME_PREFIX "%02x",
priv->board_id);
@ -1050,7 +1067,7 @@ static int icnss_get_bdf_file_name(struct icnss_priv *priv,
}
break;
case ICNSS_BDF_REGDB:
snprintf(filename_tmp, filename_len, REGDB_FILE_NAME);
snprintf(filename_tmp, filename_len, REGDB_FILE_NAME_XIAOMI);
break;
default:
icnss_pr_err("Invalid BDF type: %d\n",