GrallocFuncs

Overview

Related Modules:

Display

Description:

Defines pointers to the memory driver functions.

Summary

Data Fields

Variable Name Description
AllocMem )(GrallocBuffer buffer) int32_t( Allocates memory based on the parameters passed by the GUI.
FreeMem )(GrallocBuffer buffer) void( Releases memory.
Mmap )(GrallocBuffer buffer) void ( Maps memory with a specified physical address and size to memory without cache in the process’s address space.
MmapCache )(GrallocBuffer buffer) void ( Maps memory with a specified physical address and size to memory with cache in the process’s address space.
Unmap )(GrallocBuffer buffer) int32_t( Unmaps memory, that is, removes any mappings in the process’s address space.
FlushCache )(GrallocBuffer buffer) int32_t( Flushes data from the cache to memory and invalidates the data in the cache.
FlushMCache )(GrallocBuffer buffer) int32_t( Flushes data from the cache mapping to Mmap to memory and invalidates the data in the cache.

Details

Field Documentation

AllocMem


1. int32_t(* GrallocFuncs::AllocMem) ([GrallocBuffer]($api-api-SmartVision-Devices-GrallocBuffer.md) *buffer)

Description:

Allocates memory based on the parameters passed by the GUI.

Parameters:

Name Description
hdl Indicates the pointer to the handle of memory.
type Indicates the type of memory to allocate. The value[/table/tgroup/tbody/row/entry/div {“”}) [/table/tgroup/tbody/row/entry/div/div {“”}) 0 (div] (div] indicates memory without cache, [/table/tgroup/tbody/row/entry/div {“”}) [/table/tgroup/tbody/row/entry/div/div {“”}) 1 (div] (div] indicates memory with cache, and[/table/tgroup/tbody/row/entry/div {“”}) [/table/tgroup/tbody/row/entry/div/div {“”}) 2 (div] (div] indicates shared memory.
size Indicates the size of memory to allocate, in bytes.

Returns:

Returns 0 if the operation is successful; returns an error code defined in DispErrCode otherwise.

FlushCache


1. int32_t(* GrallocFuncs::FlushCache) ([GrallocBuffer]($api-api-SmartVision-Devices-GrallocBuffer.md) *buffer)

Description:

Flushes data from the cache to memory and invalidates the data in the cache.

Parameters:

Name Description
hdl Indicates the pointer to the handle of the cache.
size Indicates the size of the cache from which data is to flush.

Returns:

Returns 0 if the operation is successful; returns an error code defined in DispErrCode otherwise.

FlushMCache


1. int32_t(* GrallocFuncs::FlushMCache) ([GrallocBuffer]($api-api-SmartVision-Devices-GrallocBuffer.md) *buffer)

Description:

Flushes data from the cache mapping to Mmap to memory and invalidates the data in the cache.

Parameters:

Name Description
hdl Indicates the pointer to the handle of the cache.
size Indicates the size of the cache from which data is to flush.

Returns:

Returns 0 if the operation is successful; returns an error code defined in DispErrCode otherwise.

FreeMem


1. void(* GrallocFuncs::FreeMem) ([GrallocBuffer]($api-api-SmartVision-Devices-GrallocBuffer.md) *buffer)

Description:

Releases memory.

Parameters:

Name Description
hdl Indicates the pointer to the handle of memory that has been applied for.

Mmap


1. void*(* GrallocFuncs::Mmap) ([GrallocBuffer]($api-api-SmartVision-Devices-GrallocBuffer.md) *buffer)

Description:

Maps memory with a specified physical address and size to memory without cache in the process’s address space.

Parameters:

Name Description
phyAddr Indicates the physical address of memory to map.
size Indicates the size of memory to map.

Returns:

Returns the pointer to a valid address if the operation is successful; returns NULL otherwise.

MmapCache


1. void*(* GrallocFuncs::MmapCache) ([GrallocBuffer]($api-api-SmartVision-Devices-GrallocBuffer.md) *buffer)

Description:

Maps memory with a specified physical address and size to memory with cache in the process’s address space.

Parameters:

Name Description
phyAddr Indicates the physical address of memory to map.
size Indicates the size of memory to map.

Returns:

Returns the pointer to a valid address if the operation is successful; returns NULL otherwise.

Unmap


1. int32_t(* GrallocFuncs::Unmap) ([GrallocBuffer]($api-api-SmartVision-Devices-GrallocBuffer.md) *buffer)

Description:

Unmaps memory, that is, removes any mappings in the process’s address space.

Parameters:

Name Description
virAddr Indicates the pointer to the virtual address of memory to unmap.
size Indicates the size of memory to unmap.

Returns:

Returns 0 if the operation is successful; returns an error code defined in DispErrCode otherwise.