dma-api 0.7.2

Trait for DMA alloc and some collections
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use core::ptr::NonNull;

use aarch64_cpu_ext::cache::{CacheOp, dcache_range};

pub fn flush(addr: NonNull<u8>, size: usize) {
    dcache_range(CacheOp::Clean, addr.as_ptr() as _, size);
}

pub fn invalidate(addr: NonNull<u8>, size: usize) {
    dcache_range(CacheOp::Invalidate, addr.as_ptr() as _, size);
}

pub fn flush_invalidate(addr: NonNull<u8>, size: usize) {
    dcache_range(CacheOp::CleanAndInvalidate, addr.as_ptr() as _, size);
}