|
Nexus Embedded Platform 1.0.0
Statically assembled reusable embedded mechanisms
|
Explicit DMA memory domains, physical streams and drain facts. More...
#include "nexus/core/status.h"Go to the source code of this file.
Data Structures | |
| struct | nx_dma_memory_region_t |
| Reviewed DMA-visible memory interval, never CPU accessibility. More... | |
| struct | nx_dma_resource_t |
| Opaque physical engine and request selector identities. More... | |
| struct | nx_dma_drain_facts_t |
| Independent facts required before memory borrow release. More... | |
Macros | |
| #define | NX_DMA_MEMORY_READ 1U |
| #define | NX_DMA_MEMORY_WRITE 2U |
Enumerations | |
| enum | nx_dma_direction_t { NX_DMA_TO_DEVICE , NX_DMA_FROM_DEVICE } |
| Transfer direction determines device access to caller memory. More... | |
Functions | |
| nx_result_t | nx_dma_buffer_validate (const nx_dma_memory_region_t *regions, size_t count, const void *data, size_t length, size_t alignment, nx_dma_direction_t direction) |
| Validate an entire buffer within one explicit memory domain. | |
| nx_result_t | nx_dma_resources_validate (const nx_dma_resource_t *resources, size_t count) |
| Reject duplicate physical streams in an assembled resource set. | |
| nx_result_t | nx_dma_drain_check (const nx_dma_drain_facts_t *facts) |
| Require engine, IRQ and peripheral drain independently. | |
Explicit DMA memory domains, physical streams and drain facts.
Definition in file dma.h.
| enum nx_dma_direction_t |
| nx_result_t nx_dma_buffer_validate | ( | const nx_dma_memory_region_t * | regions, |
| size_t | count, | ||
| const void * | data, | ||
| size_t | length, | ||
| size_t | alignment, | ||
| nx_dma_direction_t | direction ) |
Validate an entire buffer within one explicit memory domain.
| [in] | regions | Immutable SoC domains kept alive for this call. |
| [in] | count | Positive number of domains. |
| [in] | data | Nonempty caller buffer; never borrowed by this helper. |
| [in] | length | Positive byte length, including all DMA accesses. |
| [in] | alignment | Nonzero power-of-two transfer alignment. |
| [in] | direction | Device reads or writes the supplied memory. |
| nx_result_t nx_dma_drain_check | ( | const nx_dma_drain_facts_t * | facts | ) |
Require engine, IRQ and peripheral drain independently.
| [in] | facts | Provider observations; not retained. |
| nx_result_t nx_dma_resources_validate | ( | const nx_dma_resource_t * | resources, |
| size_t | count ) |
Reject duplicate physical streams in an assembled resource set.
| [in] | resources | Immutable resource list, not retained. |
| [in] | count | Resource count; zero allows a NULL list. |