esp-idf/components/esp_hw_support
Darian Leung baa28b54a2 esp_hw_support: Fix esp_light_sleep_start() deadlock
esp_light_sleep_start() will stall the other CPU via esp_ipc_isr_stall_other_cpu(). After stalling the other CPU,
will call esp_clk_... API which themselves take locks. If the other stalled CPU is holding those locks, this will
result in a deadlock.

This commit adds a workaround calling esp_clk_private_lock() to take the lock before stalling the other CPU.
2022-09-16 17:02:38 +08:00
..
include esp_hw_support: Fix esp_light_sleep_start() deadlock 2022-09-16 17:02:38 +08:00
port Merge branch 'bugfix/reserve_dma_ram_in_segments_v4.4' into 'release/v4.4' 2022-09-11 02:49:39 +08:00
test ds: update gen_digital_signature_tests.py to handle different max key sizes 2022-02-17 11:24:54 +08:00
clk_ctrl_os.c esp32h2: add rtc clock support 2021-08-26 11:25:39 +08:00
CMakeLists.txt light sleep: separate sleep retention function 2021-08-24 11:54:47 +08:00
compare_set.c esp_hw_support: update copyright notice 2021-08-05 17:38:43 +02:00
component.mk esp_hw_support: esp_clk should use spinlock instead of mutex 2022-09-16 17:02:38 +08:00
cpu_util.c esp_hw_support: update copyright notice 2021-08-05 17:38:43 +02:00
esp_async_memcpy.c build: fix unused tag string 2022-01-28 11:59:45 +08:00
esp_clk.c esp_hw_support: Fix esp_light_sleep_start() deadlock 2022-09-16 17:02:38 +08:00
hw_random.c feat (bootloader): added rng sampling 2022-01-03 16:24:41 +05:30
intr_alloc.c esp_hw_support: update copyright notice 2021-08-05 17:38:43 +02:00
Kconfig esp32h2/kconfig: remove repeated kconfig 2022-08-11 15:05:12 +08:00
Kconfig.spiram.common Adjust the variable name & 2021-08-25 16:06:28 +08:00
linker.lf psram: put opiram_psram and spiram_psram in internal ram 2021-10-08 17:39:41 +08:00
mac_addr.c efuse: fix esp32h2 get ext_mac 2021-10-29 19:17:51 +08:00
Makefile.projbuild esp32: move spiram, himem 2021-07-16 20:14:26 +08:00
project_include.cmake esp_hw_support: Clean up CMakeLists file 2021-07-16 20:14:28 +08:00
README.md esp_hw_support: create component 2020-10-28 07:21:29 +08:00
regi2c_ctrl.c esp_phy: use spinlock to avoid regi2c access conflicts 2022-04-06 12:18:23 +08:00
sdkconfig.rename light sleep: add software workaround for esp32s3 gpio reset issue 2021-10-20 11:36:22 +08:00
sleep_gpio.c further fix spi flash/ram current leakage 2022-07-28 13:11:55 +08:00
sleep_mac_bb.c light sleep: separate sleep wifi/bt mac bb function 2021-08-23 10:25:04 +08:00
sleep_modes.c esp_hw_support: Fix esp_light_sleep_start() deadlock 2022-09-16 17:02:38 +08:00
sleep_retention.c bugfix: malloc retention buffer with MALLOC_CAP_RETENTION caps 2022-08-09 20:56:59 +08:00

esp_hw_support

This component contains hardware-related operations for supporting the system. These operations are one level above that of hal in that these(1) use system services such as memory allocation, logging, scheduling or (2) may be multi-step operations involving/affecting multiple parts of the SoC.

Implementations that don't fit other components cleanly, but are not worth creating a new component for (yet) may also be placed here as long as they don't pull dependencies other than the core system components.