RTEMS | bsp/aarch64/raspberrypi: Add support for DMA (!662)

Shaunak Datar (@skdatar) gitlab at rtems.org
Wed Aug 20 07:08:28 UTC 2025




Shaunak Datar commented on a discussion on bsps/aarch64/raspberrypi/include/bsp/raspberrypi-dma.h: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/662#note_129083

 > + * Allocates and prepares the channel-specific control block, performs required
 > + * cache maintenance (flush control block and source; invalidate destination),
 > + * issues CS reset/abort, and writes CONBLK_AD (with DMA4 address packing via
 > + * DMA4_AD_SHIFT). This function does **not** start the transfer; call
 > + * ::rpi_dma_start_transfer() and then ::rpi_dma_wait().
 > + *
 > + * @param channel              DMA channel to use (0–6 noarmal DMA, 7–10 lite, 11–14 DMA4).
 > + * @param source_address       Source buffer (must be CPU_CACHE_LINE_BYTES aligned).
 > + * @param destination_address  Destination buffer (must be CPU_CACHE_LINE_BYTES aligned).
 > + * @param transfer_length      Number of bytes to copy.
 > + * @retval RTEMS_SUCCESSFUL        on success.
 > + * @retval RTEMS_INVALID_NUMBER    if @a channel is invalid/unsupported or has no base address.
 > + * @retval RTEMS_INVALID_ADDRESS   if @a source_address or @a destination_address are misaligned.
 > + * @retval RTEMS_NO_MEMORY         if control block allocation failed.
 > + */
 > +rtems_status_code rpi_dma_mem_to_mem_init( rpi_dma_channel channel, void *source_address, void *destination_address, uint32_t transfer_length );

Changed the formatting to pass the pipeline, without warning

-- 
View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/662#note_129083
You're receiving this email because of your account on gitlab.rtems.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/bugs/attachments/20250820/d74e2980/attachment-0001.htm>


More information about the bugs mailing list