linguini1 opened a new pull request, #19815:
URL: https://github.com/apache/nuttx/pull/19815
# NOTE
This PR is a WIP. I am opening it as a draft because:
* It documents some progress for the last GSoC milestone now that the
deadline
is approaching
* I can get feedback on my use of the DMA upper-half driver, which is
[entirely
undocumented](https://nuttx.apache.org/docs/latest/components/drivers/special/dma.html)
and used very few times in the kernel (UART16550, DMA audio).
It looks like I had discovered this a while ago on #8773 but never heard back
from the author. If anyone has used this DMA driver, or anyone at Xiaomi
might
be willing to document it/provide a test application to verify correctness
of my
driver that would be awesome!
## Summary
This commit introduces support for the BCM2711's 16 DMA channels, including
the 4 DMA Lite and 4 DMA4 channels. It uses the NuttX DMA standard upper-half
for compatibility with other drivers. The intention is for the majority of
these channels to be used internally by other BCM2711 peripheral drivers. As
such, each peripheral should be allocated an appropriate channel for its
exclusive use (i.e. DMA4 channels for intensive peripherals like EMMC, frame
buffer and networking, DMA Lite for low-data peripherals like a UART console).
## Impact
Pre-cursor to a network driver (#16953) for the RPi4B Ethernet, which is the
last milestone for my GSoC contract #18507.
Full support for DMA interfaces which should provide a large speedup for all
peripherals who later integrate this approach.
## Testing
N/A, this is still a draft.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]