feature(dcd_dwc2) : Added cache bypassing on esp32p4 while DMA is used #38
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Requirements
ESP32P4 has Cache to access the RAM.
Cache is bypassing when:
When DMA is used for DCD DWC2 layer, it is necessary to synchronize data between memory and cache.
It could be achieved by two possible ways:
Description
All access to cache-related data were replaced with macroses, which return the regular (cache-able) address or noncache-able address based on the manually changed value (1) in the code.
Measurements
Measurements were done only to one example (tusb_msc), one buffer size and one chip.
ESP32P4
Limitations
Currently, cache bypassing is only done for:
But it should be done in every class, which allocates buffer/s statically to transfer data via DCD DWC2.
Breaking change
No breaking changes
Checklist
Related issues
No related issues