rte_read163
Part of rte_io.h(3).
Usage
Functions
static uint8_t
rte_read8_relaxed
(const
volatile
void
*addr)
static uint16_t
rte_read16_relaxed
(const
volatile
void
*addr)
static uint32_t
rte_read32_relaxed
(const
volatile
void
*addr)
static uint64_t
rte_read64_relaxed
(const
volatile
void
*addr)
static uint8_t
rte_read8
(const
volatile
void
*addr)
static uint16_t
rte_read16
(const
volatile
void
*addr)
static uint32_t
rte_read32
(const
volatile
void
*addr)
static uint64_t
rte_read64
(const
volatile
void
*addr)
Detailed Description
I/O device memory operations
This file defines the generic API for I/O device memory read/write operations
Definition in file rte_io.h.
Function Documentation
static __rte_always_inline uint8_t rte_read8_relaxed (const volatile void * addr) [inline], [static]
Read a 8-bit value from I/O device memory address addr.
The relaxed version does not have additional I/O memory barrier, useful in accessing the device registers of integrated controllers which implicitly strongly ordered with respect to memory access.
Parameters
addr I/O memory address to read the value from
Returns
read value
Definition at line 276 of file rte_io.h.
static __rte_always_inline uint16_t rte_read16_relaxed (const volatile void * addr) [inline], [static]
Read a 16-bit value from I/O device memory address addr.
The relaxed version does not have additional I/O memory barrier, useful in accessing the device registers of integrated controllers which implicitly strongly ordered with respect to memory access.
Parameters
addr I/O memory address to read the value from
Returns
read value
Definition at line 282 of file rte_io.h.
static __rte_always_inline uint32_t rte_read32_relaxed (const volatile void * addr) [inline], [static]
Read a 32-bit value from I/O device memory address addr.
The relaxed version does not have additional I/O memory barrier, useful in accessing the device registers of integrated controllers which implicitly strongly ordered with respect to memory access.
Parameters
addr I/O memory address to read the value from
Returns
read value
Definition at line 288 of file rte_io.h.
static __rte_always_inline uint64_t rte_read64_relaxed (const volatile void * addr) [inline], [static]
Read a 64-bit value from I/O device memory address addr.
The relaxed version does not have additional I/O memory barrier, useful in accessing the device registers of integrated controllers which implicitly strongly ordered with respect to memory access.
Parameters
addr I/O memory address to read the value from
Returns
read value
Definition at line 294 of file rte_io.h.
static __rte_always_inline void rte_write8_relaxed (uint8_t value, volatile void * addr) [inline], [static]
Write a 8-bit value to I/O device memory address addr.
The relaxed version does not have additional I/O memory barrier, useful in accessing the device registers of integrated controllers which implicitly strongly ordered with respect to memory access.
Parameters
value Value to write
addr I/O memory address to write the value to
Definition at line 300 of file rte_io.h.
static __rte_always_inline void rte_write16_relaxed (uint16_t value, volatile void * addr) [inline], [static]
Write a 16-bit value to I/O device memory address addr.
The relaxed version does not have additional I/O memory barrier, useful in accessing the device registers of integrated controllers which implicitly strongly ordered with respect to memory access.
Parameters
value Value to write
addr I/O memory address to write the value to
Definition at line 306 of file rte_io.h.
static __rte_always_inline void rte_write32_relaxed (uint32_t value, volatile void * addr) [inline], [static]
Write a 32-bit value to I/O device memory address addr.
The relaxed version does not have additional I/O memory barrier, useful in accessing the device registers of integrated controllers which implicitly strongly ordered with respect to memory access.
Parameters
value Value to write
addr I/O memory address to write the value to
Definition at line 312 of file rte_io.h.
static __rte_always_inline void rte_write64_relaxed (uint64_t value, volatile void * addr) [inline], [static]
Write a 64-bit value to I/O device memory address addr.
The relaxed version does not have additional I/O memory barrier, useful in accessing the device registers of integrated controllers which implicitly strongly ordered with respect to memory access.
Parameters
value Value to write
addr I/O memory address to write the value to
Definition at line 318 of file rte_io.h.
static __rte_always_inline uint8_t rte_read8 (const volatile void * addr) [inline], [static]
Read a 8-bit value from I/O device memory address addr.
Parameters
addr I/O memory address to read the value from
Returns
read value
Definition at line 324 of file rte_io.h.
static __rte_always_inline uint16_t rte_read16 (const volatile void * addr) [inline], [static]
Read a 16-bit value from I/O device memory address addr.
Parameters
addr I/O memory address to read the value from
Returns
read value
Definition at line 333 of file rte_io.h.
static __rte_always_inline uint32_t rte_read32 (const volatile void * addr) [inline], [static]
Read a 32-bit value from I/O device memory address addr.
Parameters
addr I/O memory address to read the value from
Returns
read value
Definition at line 342 of file rte_io.h.
static __rte_always_inline uint64_t rte_read64 (const volatile void * addr) [inline], [static]
Read a 64-bit value from I/O device memory address addr.
Parameters
addr I/O memory address to read the value from
Returns
read value
Definition at line 351 of file rte_io.h.
static __rte_always_inline void rte_write8 (uint8_t value, volatile void * addr) [inline], [static]
Write a 8-bit value to I/O device memory address addr.
Parameters
value Value to write
addr I/O memory address to write the value to
Definition at line 360 of file rte_io.h.
static __rte_always_inline void rte_write16 (uint16_t value, volatile void * addr) [inline], [static]
Write a 16-bit value to I/O device memory address addr.
Parameters
value Value to write
addr I/O memory address to write the value to
Definition at line 367 of file rte_io.h.
static __rte_always_inline void rte_write32 (uint32_t value, volatile void * addr) [inline], [static]
Write a 32-bit value to I/O device memory address addr.
Parameters
value Value to write
addr I/O memory address to write the value to
Definition at line 374 of file rte_io.h.
static __rte_always_inline void rte_write64 (uint64_t value, volatile void * addr) [inline], [static]
Write a 64-bit value to I/O device memory address addr.
Parameters
value Value to write
addr I/O memory address to write the value to
Definition at line 381 of file rte_io.h.
static __rte_always_inline void rte_write32_wc (uint32_t value, volatile void * addr) [inline], [static]
Write a 32-bit value to I/O device memory address addr using write combining memory write protocol. Depending on the platform write combining may not be available and/or may be treated as a hint and the behavior may fallback to a regular store.
Parameters
value Value to write
addr I/O memory address to write the value to
Definition at line 389 of file rte_io.h.
static __rte_always_inline void rte_write32_wc_relaxed (uint32_t value, volatile void * addr) [inline], [static]
Write a 32-bit value to I/O device memory address addr using write combining memory write protocol. Depending on the platform write combining may not be available and/or may be treated as a hint and the behavior may fallback to a regular store.
The relaxed version does not have additional I/O memory barrier, useful in accessing the device registers of integrated controllers which implicitly strongly ordered with respect to memory access.
Parameters
value Value to write
addr I/O memory address to write the value to
Definition at line 395 of file rte_io.h.