mirror of
https://github.com/espressif/esp-idf.git
synced 2026-10-02 03:00:34 +03:00
change(esp_wifi): support wifi module retention runtime attach and detach
This commit is contained in:
@@ -198,6 +198,7 @@ bool modem_domain_pd_allowed(void)
|
||||
#if SOC_PM_MODEM_RETENTION_BY_REGDMA && SOC_PAU_SUPPORTED
|
||||
const sleep_retention_module_bitmap_t inited_modules = sleep_retention_get_inited_modules();
|
||||
const sleep_retention_module_bitmap_t created_modules = sleep_retention_get_created_modules();
|
||||
const sleep_retention_module_bitmap_t retained_modules = sleep_retention_get_retained_modules();
|
||||
|
||||
sleep_retention_module_bitmap_t mask = (sleep_retention_module_bitmap_t){ .bitmap = { 0 } };
|
||||
#if SOC_WIFI_SUPPORTED
|
||||
@@ -215,7 +216,10 @@ bool modem_domain_pd_allowed(void)
|
||||
|
||||
const sleep_retention_module_bitmap_t modem_domain_inited_modules = sleep_retention_module_bitmap_and(inited_modules, mask);
|
||||
const sleep_retention_module_bitmap_t modem_domain_created_modules = sleep_retention_module_bitmap_and(created_modules, mask);
|
||||
return sleep_retention_module_bitmap_eq(modem_domain_inited_modules, modem_domain_created_modules);
|
||||
const sleep_retention_module_bitmap_t modem_domain_retained_modules = sleep_retention_module_bitmap_and(retained_modules, mask);
|
||||
bool ic = sleep_retention_module_bitmap_eq(modem_domain_inited_modules, modem_domain_created_modules);
|
||||
bool cr = sleep_retention_module_bitmap_eq(modem_domain_created_modules, modem_domain_retained_modules);
|
||||
return ic && cr;
|
||||
#else
|
||||
return false; /* MODEM power domain is controlled by each module (WiFi, Bluetooth or 15.4) of modem */
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user