#[repr(C)]pub struct DmaDeviceConfig {
pub deviceId: s8,
pub allowedAlignments: s8,
pub burstSize: s16,
pub transferSize: s16,
pub burstStride: s16,
pub transferStride: s16,
}Expand description
Device configuration structure, part of DmaConfig.
Note: - if (and only if) src/dst is a device, then src/dst won’t be auto-incremented.
- the kernel uses DMAMOV instead of DMAADNH, when having to decrement (possibly working around an erratum); this forces all loops to be unrolled – you need to keep that in mind when using negative increments, as the kernel uses a limit of 100 DMA instruction bytes per channel.
Fields§
§deviceId: s8< DMA device ID.
allowedAlignments: s8< Mask of allowed access alignments (8, 4, 2, 1).
burstSize: s16< Number of bytes transferred in a burst loop. Can be 0 (in which case the max allowed alignment is used as unit).
transferSize: s16< Number of bytes transferred in a “transfer” loop (made of burst loops).
burstStride: s16< Burst loop stride, can be <= 0.
transferStride: s16< “Transfer” loop stride, can be <= 0.
Trait Implementations§
Source§impl Clone for DmaDeviceConfig
impl Clone for DmaDeviceConfig
Source§fn clone(&self) -> DmaDeviceConfig
fn clone(&self) -> DmaDeviceConfig
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for DmaDeviceConfig
impl Debug for DmaDeviceConfig
Source§impl Default for DmaDeviceConfig
impl Default for DmaDeviceConfig
Source§fn default() -> DmaDeviceConfig
fn default() -> DmaDeviceConfig
Returns the “default value” for a type. Read more
impl Copy for DmaDeviceConfig
Auto Trait Implementations§
impl Freeze for DmaDeviceConfig
impl RefUnwindSafe for DmaDeviceConfig
impl Send for DmaDeviceConfig
impl Sync for DmaDeviceConfig
impl Unpin for DmaDeviceConfig
impl UnwindSafe for DmaDeviceConfig
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)