Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

drivers: video: Add SMH option for video buffer #76982

Merged
merged 1 commit into from
Sep 23, 2024

Conversation

LucasTambor
Copy link
Collaborator

This commit enables the user to choose whether to
allocate the video buffer from the video heap pool
or use a memory region with specific extra capabilities,
such as being cacheable/non-cacheable or using external
memory.

@zephyrbot
Copy link
Collaborator

zephyrbot commented Aug 12, 2024

The following west manifest projects have been modified in this Pull Request:

Name Old Revision New Revision Diff

Note: This message is automatically posted and updated by the Manifest GitHub Action.

@zephyrbot zephyrbot added manifest manifest-hal_espressif DNM This PR should not be merged (Do Not Merge) labels Aug 12, 2024
@epc-ake
Copy link
Contributor

epc-ake commented Aug 15, 2024

I was able to run it on the xiao_esp32s3 together with #75331 the changes from #74974 and the patch you send me on discord. 👍
However, I was not able to go above a resolution of 352x288 RGB565 before I run into <err> esp32_cam: DMA error: -32.
Which seems to be related with dma descriptors somehow... 😓
Also the issue with the generated overhead I mentioned here caused trough the dma_api really comes into play with higher video resolutions...

However, these issues most likely have nothing to do with this PR. So I'd call the test successful and try to fix the issues in the DMA and Video driver.

@LucasTambor
Copy link
Collaborator Author

@epc-ake The DMA error: -32 is related to the RX Watermark. Can you try increase gdma_ll_rx_set_water_mark and see if it helps?

@epc-ake
Copy link
Contributor

epc-ake commented Aug 15, 2024

@epc-ake The DMA error: -32 is related to the RX Watermark. Can you try increase gdma_ll_rx_set_water_mark and see if it helps?

Yes, this seems to fix it!
Can you maybe explain to me what gdma_ll_rx_set_water_mark does? Its not about the size of the dmas fifo, is it?
I needed to set it to 65. A value of 64 and lower didn't work and evan crashes the system with <err> os: ** CPU 0 EXCCAUSE 9 (load/store alignment)...
Now I'm able to capture the full 1600x1200 RGBA resolution 🚀

@zephyrbot zephyrbot removed the DNM This PR should not be merged (Do Not Merge) label Aug 16, 2024
@LucasTambor LucasTambor marked this pull request as ready for review August 28, 2024 14:22
@LucasTambor LucasTambor requested a review from uLipe August 28, 2024 14:23
sylvioalves
sylvioalves previously approved these changes Aug 30, 2024
uLipe
uLipe previously approved these changes Aug 30, 2024
This commit enables the user to choose whether to
allocate the video buffer from the video heap pool
or use a memory region with specific extra capabilities,
such as being cacheable/non-cacheable or using external
memory.

Signed-off-by: Lucas Tamborrino <[email protected]>
@wmrsouza wmrsouza self-requested a review September 11, 2024 17:54
@LucasTambor
Copy link
Collaborator Author

@andyross @npitre

@nashif nashif merged commit 43cc36f into zephyrproject-rtos:main Sep 23, 2024
23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: Samples Samples area: Video Video subsystem platform: ESP32 Espressif ESP32
Projects
None yet
Development

Successfully merging this pull request may close these issues.