Enum DataDirection

Source
#[repr(u32)]
pub enum DataDirection { Bidirectional = 0, ToDevice = 1, FromDevice = 2, None = 3, }
Expand description

DMA data direction.

Corresponds to the C enum dma_data_direction.

Variants§

§

Bidirectional = 0

The DMA mapping is for bidirectional data transfer.

This is used when the buffer can be both read from and written to by the device. The cache for the corresponding memory region is both flushed and invalidated.

§

ToDevice = 1

The DMA mapping is for data transfer from memory to the device (write).

The CPU has prepared data in the buffer, and the device will read it. The cache for the corresponding memory region is flushed before device access.

§

FromDevice = 2

The DMA mapping is for data transfer from the device to memory (read).

The device will write data into the buffer for the CPU to read. The cache for the corresponding memory region is invalidated before CPU access.

§

None = 3

The DMA mapping is not for data transfer.

This is primarily for debugging purposes. With this direction, the DMA mapping API will not perform any cache coherency operations.

Trait Implementations§

Source§

impl Clone for DataDirection

Source§

fn clone(&self) -> DataDirection

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for DataDirection

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<DataDirection> for dma_data_direction

Source§

fn from(direction: DataDirection) -> Self

Returns the raw representation of [enum dma_data_direction].

Source§

impl PartialEq for DataDirection

Source§

fn eq(&self, other: &DataDirection) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for DataDirection

Source§

impl Eq for DataDirection

Source§

impl StructuralPartialEq for DataDirection

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Init<T> for T

Source§

unsafe fn __init(self, slot: *mut T) -> Result<(), Infallible>

Initializes slot. Read more
Source§

fn chain<F>(self, f: F) -> ChainInit<Self, F, T, E>
where F: FnOnce(&mut T) -> Result<(), E>,

First initializes the value using self then calls the function f with the initialized value. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PinInit<T> for T

Source§

unsafe fn __pinned_init(self, slot: *mut T) -> Result<(), Infallible>

Initializes slot. Read more
Source§

fn pin_chain<F>(self, f: F) -> ChainPinInit<Self, F, T, E>
where F: FnOnce(Pin<&mut T>) -> Result<(), E>,

First initializes the value using self then calls the function f with the initialized value. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.