Commit Graph

20 Commits

Author SHA1 Message Date
morris
f3ea7a2cc6 change(gdma): improve the test cases to be target agnostic 2024-04-22 18:03:06 +08:00
Armando
e36a396801 change(test): test changes for esp cache malloc 2024-04-15 15:34:51 +08:00
gaoxu
40f38bea6f feat(dma): refactor dma calloc function 2024-04-02 14:30:14 +08:00
Armando
f0518b3c16 feat(dma): advanced dma malloc helper 2024-04-02 14:30:14 +08:00
morris
467dce2ffc change(dw_gdma): add a case to test memset from psram to sram 2024-01-09 10:20:24 +08:00
morris
28db901d77 fix(mcp): align the descriptor to cache line size for DMA memory copy 2024-01-09 10:12:36 +08:00
morris
0bc94b3210 Merge branch 'refactor/async_mcp_non_cacheable_descriptor' into 'master'
feat(async_mcp): access DMA descriptor bypass cache

See merge request espressif/esp-idf!27809
2023-12-15 18:30:54 +08:00
morris
bf00021b37 feat(dw_gdma): channel allocator driver 2023-12-12 03:35:05 +00:00
morris
987174c203 feat(async_mcp): access DMA descriptor bypass cache 2023-12-10 15:19:27 +08:00
Armando
ea38a2e9a4 feat(cache): support cache driver on esp32p4 2023-09-22 14:19:41 +08:00
Darian Leung
287bdc5e61 fix(test_apps): Trim builds of component test apps
Some component test apps do not use the "set(COMPONENTS main)" command in their
project level "CMakeLists.txt", thus leading to their builds pulling in all
ESP-IDF components.

This commit trims the build of multiple component test apps:

- Add "set(COMPONENTS main ...)" to project level "CMakeLists.txt"
- Add missing "PRIV_REQUIRES" in some "main" component "CMakeLists.txt"

Also removed repeated configuraiton options in legacy_i2c_driver/sdkconfig.ci.defaults
as they are already specified in legacy_i2c_driver/sdkconfig.defaults
2023-09-18 17:16:37 +08:00
morris
200eb866dc feat(gdma): support hardware crc calculation
On ESP32-P4, the GDMA peripherals support CRC calculating.
2023-08-31 02:11:47 +00:00
morris
595c3fe6a2 fix(async_memcpy): destination alignment check against cache line size
On ESP32P4, becasue we need to invalidate the destination buffer,
if the buffer is not aligned to cache line, then it might break
other date structure, randomly.
2023-08-15 17:40:17 +08:00
morris
fd3d1aa101 feat(async_memcpy): refactor driver code to support different DMA backen
To support AHB and AXI DMA memory copy for the same target (esp32p4).
2023-08-03 12:02:09 +08:00
morris
6d46cf739c feat(gdma): test non-cacheable DMA descriptor
To avoid different DMA descriptors reside in the same cache line,
we want the CPU to access the DMA descriptor in a non-cachable way
2023-07-25 10:59:07 +08:00
morris
57879e772d feat(gdma): support channel allocator on esp32p4
There's two GDMA groups on ESP32P4, one is connected to AHB bus,
and another one is connected AXI bus.
We now have two seperate APIs for allocating DMA channels,
depends on the bus type.
2023-07-19 18:18:07 +08:00
morris
56a376c696 feat(esp_gdma): add hal interface for common operations
GDMA driver will be adapted to more DMA peripherals in the future.
This commit is to extract a minimal interface in the hal layer
2023-07-10 13:45:57 +08:00
morris
da3b3cf4a4 dma: use ccomp_timer component for testing performance metric
ccomp_timer now becomes a standalone component, located in the component registry.
we can use that in the test app by component manager.
2023-05-04 14:09:36 +08:00
morris
dbca74f1ef gdma: prevent mutli-channels connect to the same peripheral
1. add check in the gdma driver, to prevent multiple channels connecting
   to the same peripheral
2. memory copy DMA ID will occupy the peripheral's DMA ID on some ESP
   targets (e.g. esp32c3/s3). We should search for a free one when
install async memcpy driver.

Closes https://github.com/espressif/esp-idf/issues/10575
2023-01-31 15:18:19 +08:00
morris
ff6855c4b1 gdma: migrate ut to pytest 2022-09-22 10:44:57 +08:00