TIOVX User Guide
|
Interface to Memory allocation and deallocation APIs. More...
#include <VX/vx.h>
Go to the source code of this file.
Data Structures | |
struct | tivx_shared_mem_ptr_t |
Structure describing a shared memory pointer. More... | |
struct | tivx_mem_stats |
Structure describing a memory stats pointer. More... | |
Enumerations | |
enum | tivx_mem_heap_region_e { TIVX_MEM_EXTERNAL, TIVX_MEM_INTERNAL_L3, TIVX_MEM_INTERNAL_L2, TIVX_MEM_INTERNAL_L1, TIVX_MEM_EXTERNAL_SCRATCH, TIVX_MEM_EXTERNAL_PERSISTENT_NON_CACHEABLE, TIVX_MEM_EXTERNAL_SCRATCH_NON_CACHEABLE } |
Enum that list all possible memory regions from which allocations are possible. More... | |
enum | tivx_memory_type_e { TIVX_MEMORY_TYPE_DMA = VX_ENUM_BASE(VX_ID_TI, VX_ENUM_MEMORY_TYPE) + 0x0 } |
An enumeration of TI extension memory import types. More... | |
Functions | |
vx_status | tivxMemBufferAlloc (tivx_shared_mem_ptr_t *mem_ptr, uint32_t size, vx_enum mem_heap_region) |
Alloc buffer from shared memory. More... | |
vx_status | tivxMemBufferFree (tivx_shared_mem_ptr_t *mem_ptr, uint32_t size) |
Free buffer from shared memory. More... | |
vx_status | tivxMemBufferMap (void *host_ptr, uint32_t size, vx_enum mem_type, vx_enum maptype) |
Map an allocated buffer address. More... | |
vx_status | tivxMemBufferUnmap (void *host_ptr, uint32_t size, vx_enum mem_type, vx_enum maptype) |
UnMap a buffer address. More... | |
uint64_t | tivxMemHost2SharedPtr (uint64_t host_ptr, vx_enum mem_heap_region) |
Convert Host pointer to shared pointer. More... | |
void * | tivxMemShared2TargetPtr (const tivx_shared_mem_ptr_t *shared_ptr) |
Convert shared pointer to target pointer. More... | |
uint64_t | tivxMemShared2PhysPtr (uint64_t shared_ptr, vx_enum mem_heap_region) |
Convert shared pointer to system physical memory location This is mainly used for configuring physical address to HW. More... | |
void * | tivxMemAlloc (vx_uint32 size, vx_enum mem_heap_region) |
Allocates memory of given size. More... | |
void | tivxMemFree (void *ptr, vx_uint32 size, vx_enum mem_heap_region) |
Frees already allocated memory. More... | |
void | tivxMemStats (tivx_mem_stats *stats, vx_enum mem_type) |
Get memory segment information. More... | |
int32_t | tivxMemResetScratchHeap (vx_enum mem_heap_region) |
Reset scratch memory. More... | |
vx_status | tivxMemTranslateVirtAddr (const void *virtAddr, uint64_t *fd, void **phyAddr) |
Translates a given virtual address to a file descriptor and a physical address. The following conditions regarding 'virt_addr' must be TRUE: More... | |
vx_status | tivxMemTranslateFd (uint64_t dmaBufFd, uint32_t size, void **virtAddr, void **phyAddr) |
Translates a given file descriptor to a virtual and physical addresss. The following conditions regarding 'fd' must be TRUE: More... | |
void | tivxEnableL1DandL2CacheWb (void) |
For J784S4, the C7X cache coherency model is different than other Jacinto SoC's. While other SoC's C7X cache was coherent, the J784S4 C7X requires cache operations to be performed on the buffers when using them within the OpenVX shared region. This API allows the entire L1D and L2 cache to be written back for J784S4. | |
Interface to Memory allocation and deallocation APIs.
Definition in file tivx_mem.h.