circuitpython/ports
Damien George 0afe60b876 rp2/rp2_pio: Track use of PIO resources and free them on soft reset.
Prior to this commit, on Pico W (where the CYW43 driver is enabled) the PIO
instruction memory was not released on soft reset, so using PIO after a
soft reset would eventually (after a few soft resets) lead to ENOMEM when
allocating a PIO program.

This commit fixes that by tracking the use of PIO memory by this module and
freeing it on soft reset.

Similarly, use of the state machines themselves are tracked and released on
soft reset.

Fixes issue #9003.

Signed-off-by: Damien George <damien@micropython.org>
2023-02-07 14:52:36 +11:00
..
bare-arm bare-arm/mpconfigport.h: Disable remaining optional features. 2021-11-01 14:23:06 +11:00
cc3200 shared/runtime/gchelper: Drop cpu directive from ARM asm helpers. 2023-01-28 15:51:38 +11:00
embed embed: Add new "embed" port which builds a simple C package. 2023-01-20 22:28:50 +11:00
esp32 top: Update Python formatting to black "2023 stable style". 2023-02-02 12:51:03 +11:00
esp8266 top: Update Python formatting to black "2023 stable style". 2023-02-02 12:51:03 +11:00
mimxrt top: Update Python formatting to black "2023 stable style". 2023-02-02 12:51:03 +11:00
minimal minimal/Makefile: Set linker to $(CC). 2022-11-15 17:09:37 +11:00
nrf top: Update Python formatting to black "2023 stable style". 2023-02-02 12:51:03 +11:00
pic16bit all: Use += rather than = everywhere for CFLAGS/LDFLAGS/LIBS. 2022-10-11 23:17:41 +11:00
powerpc all: Use += rather than = everywhere for CFLAGS/LDFLAGS/LIBS. 2022-10-11 23:17:41 +11:00
qemu-arm shared/runtime/gchelper: Drop cpu directive from ARM asm helpers. 2023-01-28 15:51:38 +11:00
renesas-ra shared/runtime/gchelper: Drop cpu directive from ARM asm helpers. 2023-01-28 15:51:38 +11:00
rp2 rp2/rp2_pio: Track use of PIO resources and free them on soft reset. 2023-02-07 14:52:36 +11:00
samd shared/runtime/gchelper: Drop cpu directive from ARM asm helpers. 2023-01-28 15:51:38 +11:00
stm32 top: Update Python formatting to black "2023 stable style". 2023-02-02 12:51:03 +11:00
teensy shared/runtime/gchelper: Drop cpu directive from ARM asm helpers. 2023-01-28 15:51:38 +11:00
unix unix/main: Free pathbuf when there's an error opening a file. 2023-01-20 19:38:14 +11:00
webassembly webassembly/library: Extract and send data to print as UInt8Array. 2022-12-13 17:16:37 +11:00
windows windows/msvc: Fix module freezing. 2023-02-01 13:10:00 +11:00
zephyr zephyr: Rename machine I2C and SPI types consistently across ports. 2022-10-22 12:58:21 +11:00