Merge branch 'feature/refactor_some_coexist_sections' into 'master'

feature(coex): refactor some coexist sections

Closes WIFI-5976、WIFI-5464 以及 TZ-81

See merge request espressif/esp-idf!26706
This commit is contained in:
Liu Ning 2023-11-22 17:48:24 +08:00
commit e50d9fca3a
5 changed files with 42 additions and 21 deletions

View File

@ -1197,23 +1197,12 @@ static int coex_register_wifi_channel_change_callback_wrapper(void *cb)
static int coex_version_get_wrapper(unsigned int *major, unsigned int *minor, unsigned int *patch)
{
#if CONFIG_SW_COEXIST_ENABLE
const char *ver_str = esp_coex_version_get();
if (ver_str != NULL) {
unsigned int _major = 0, _minor = 0, _patch = 0;
if (sscanf(ver_str, "%u.%u.%u", &_major, &_minor, &_patch) != 3) {
return -1;
}
if (major != NULL) {
*major = _major;
}
if (minor != NULL) {
*minor = _minor;
}
if (patch != NULL) {
*patch = _patch;
}
return 0;
}
coex_version_t version;
ESP_ERROR_CHECK(coex_version_get_value(&version));
*major = (unsigned int)version.major;
*minor = (unsigned int)version.minor;
*patch = (unsigned int)version.patch;
return 0;
#endif
return -1;
}

View File

@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2019-2022 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2019-2023 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@ -51,6 +51,12 @@ typedef struct {
extern coex_adapter_funcs_t g_coex_adapter_funcs;
typedef struct {
uint8_t major;
uint8_t minor;
uint8_t patch;
} coex_version_t;
#ifdef __cplusplus
}
#endif

View File

@ -75,6 +75,14 @@ void coex_disable(void);
*/
const char *coex_version_get(void);
/**
* @brief Get software coexist version value
* extern function for internal use.
* @param ptr_version : points to version structure
* @return : ESP_OK - success, other - failed
*/
esp_err_t coex_version_get_value(coex_version_t* ptr_version);
/**
* @brief Coexist performance preference set from libbt.a
* extern function for internal use.

@ -1 +1 @@
Subproject commit 68cbbdb45cdc8c88ffbfc2587a4e7af020695e56
Subproject commit cc027a43829f91e0ff5fe0b84713edf61e52cfc6

View File

@ -1,5 +1,23 @@
[sections:coex_iram]
entries:
.coexiram+
[sections:coex_sleep_iram]
entries:
.coexsleepiram+
[scheme:coex_iram_config]
entries:
if ESP_WIFI_IRAM_OPT = y:
coex_iram -> iram0_text
else:
coex_iram -> flash_text
if ESP_WIFI_SLP_IRAM_OPT = y:
coex_sleep_iram -> iram0_text
else:
coex_sleep_iram -> flash_text
[mapping:coexist]
archive: libcoexist.a
entries:
if ESP_WIFI_SLP_IRAM_OPT = y:
* (wifi_slp_iram)
* (coex_iram_config)