SysLink API Reference  2.21.03.11
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Data Structures | Macros | Typedefs | Enumerations | Functions
FrameQBufMgr.h File Reference

Detailed Description

Defines for interfaces for FrameQBufMgr module. (Deprecated)

Deprecated:
The FrameQ APIs are deprecated as of SysLink 2.20. While supported in this release, they will be removed in a future release.
#include <ti/syslink/FrameQDefs.h>
#include <ti/syslink/SysLink.h>
#include <ti/ipc/Notify.h>
Include dependency graph for FrameQBufMgr.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  FrameQBufMgr_Config_Tag
 Structure defining module config parameters for the FrameQBufMgr module. More...
struct  FrameQBufMgr_CreateParams_Tag
 Common parameters required to create FrameQBufMgr instance of any implementation. More...
struct  FrameQBufMgr_CommonOpenParams_Tag
 Common parameters required to open a FrameQBufMgr instance of any implementation. More...
struct  FrameQBufMgr_Params
 Common parameters required to create FrameQBufMgr instance of any implementation. More...
struct  FrameQBufMgr_FrameBufParams_Tag
 Frame buffer param structure. More...
struct  FrameQBufMgr_NotifyParams_Tag
 Structure defining notification parameter structure. More...

Macros

#define FrameQBufMgr_S_ALREADYDESTROYED   2
 Indicates module has been already destroyed.
#define FrameQBufMgr_S_ALREADYSETUP   1
 Indicates module is already setup.
#define FrameQBufMgr_S_SUCCESS   0
 Operation successful.
#define FrameQBufMgr_E_FAIL   -1
 General Failure.
#define FrameQBufMgr_E_INVALIDARG   -2
 Invalid arguments are passed to FrameQBufMgr API.
#define FrameQBufMgr_E_NOTFOUND   -3
 Instance not found.
#define FrameQBufMgr_E_INST_EXISTS   -4
 FrameQBufMgr instance already exists.
#define FrameQBufMgr_E_ALLOC_BUF   -5
 Failed to allocate buffer.
#define FrameQBufMgr_E_ALLOC_MEMORY   -6
 Failed to allocate memory.
#define FrameQBufMgr_E_CREATE_NAMESERVER   -7
 Name server create failed for the module.
#define FrameQBufMgr_E_FAIL_CLIENTN0TIFYMGR_CREATE   -8
 ClientNotifyMgr create failed.
#define FrameQBufMgr_E_CLIENTN0TIFYMGR_OPEN   -9
 ClientNotifyMgr open failed.
#define FrameQBufMgr_E_CREATE_GATEMP   -10
 Creation of GateMP failed.
#define FrameQBufMgr_E_OPEN_GATEMP   -11
 GateMP open failed.
#define FrameQBufMgr_E_MAX_CLIENTS   -12
 Maximum instances limit reached.
#define FrameQBufMgr_E_ACCESSDENIED   -13
 Operation can not be permitted or not implemented.
#define FrameQBufMgr_E_NOTIMPLEMENTED   -14
 API is not implemented.
#define FrameQBufMgr_E_INVALIDSTATE   -15
 Module is not initialized.
#define FrameQBufMgr_E_OSFAILURE   -16
 Failure in OS call.
#define FrameQBufMgr_E_MAXINSTANCES   -17
 Max instances limit reached. Can not create instance.
#define FrameQBufMgr_E_INVALID_INTERFACE   -18
 Unsupported interface type.
#define FrameQBufMgr_E_OPEN_NAMESERVER   -19
 Failed to open NameServer.
#define FrameQBufMgr_E_INSUFFICIENT_HDRBUFS   -20
 Insufficient header buffers.
#define FrameQBufMgr_E_ALLOC_FRAME   -21
 Failed to allocate frame.
#define FrameQBufMgr_E_ALLOC_ALLFRAMES   -22
 Not able to allocate the requested frames.Able to allocate only few frames.
#define FrameQBufMgr_E_INVALID_MEMMGRTYPE   -23
 Invalid MemMgr type specified.
#define FrameQBufMgr_E_INVALID_HDRINTERFACETYPE   -24
 Invalid Header buffer interface type specified.see enum FrameQBufMgr_FrameHeaderInterface for the supported types.
#define FrameQBufMgr_E_INVALID_BUFINTERFACETYPE   -25
 Invalid frame buffer interface type specified.see enum FrameQBufMgr_FrameBufferInterface for the supported types.
#define FrameQBufMgr_E_NAMESERVERADD   -33
 NameServer_add failed.
#define FrameQBufMgr_FrameBufInfo   Frame_FrameBufInfo
#define FrameQBufMgr_FrameHeader   Frame_FrameHeader
 Defines the frame header structure.
#define FrameQBufMgr_MAXNAMELEN   (32u)
 Maximum length of the name string in bytes.
#define FrameQBufMgr_MAXINSTANCES   (64u)
 Maximum number of instances managed by FrameQBufMgr module.
#define FrameQBufMgr_MAX_POOLS   (64u)
 Maximum number of free frame pools to be maintained in a instance.
#define FrameQBufMgr_MAX_FRAMEBUFS   (8)
 Maximum number of frame buffers in a frame managed by in FrameQBufMgr instance.
#define FrameQBufMgr_POOL_MAXFRAMES   (32)
 Maximum number of static free Frames managed by FrameQBufMgr instance Free Frame pool.
#define FrameQBufMgr_POOL_MAXHDRS   (64)
 Maximum number of additional static free headers managed by FrameQBufMgr instance for each Free Frame pool.
#define FrameQBufMgr_POOL_DYNAMIC_MAXFRAMES   (1)
 Maximum number of dynbuffers managed by each buffer pool in FrameQBufMgr instance.
#define FrameQBufMgr_POOL_DYNAMIC_MAXHDRS   (1)
 Maximum number of additional dynamic free headers managed by FrameQBufMgr instance for each Free Frame pool.
#define FrameQBufMgr_NOTIFY_RESERVED_EVENTNO   (0u)
 Notify Event Number to be used by FrameQBufMgr module.
#define FrameQBufMgr_MAX_FRAMESINVAPI   (FrameQ_MAX_FRAMESINVAPI)
 Macro used in FrameQ for sorting of passed parameters in V API. In FrameQBufMgr_allocv case this denotes the number of frames that can be allocated in one call.

Typedefs

typedef struct
FrameQBufMgr_Object * 
FrameQBufMgr_Handle
 Handle for the FrameQBufMgr instance.
typedef Frame_FrameHeaderFrameQBufMgr_Frame
 Defines the type for a frame pointer.
typedef enum
FrameQBufMgr_CpuAccessFlags_Tag 
FrameQBufMgr_CpuAccessFlags
 Enumeration of CPU access flags for frame buffers. For frame headers CPUACCESS is assumed to be TRUE..
typedef enum
FrameQBufMgr_BufType_Tag 
FrameQBufMgr_BufType
 Denotes the type of buffer.
typedef enum
FrameQBufMgr_AddrType_Tag 
FrameQBufMgr_AddrType
 Enumerations to indicate address types used for translation.
typedef enum
FrameQBufMgr_Interface_Tag 
FrameQBufMgr_Interface
 Enumeration of FrameQBufMgr interface types.Denotes different implementation types.
typedef enum
FrameQBufMgr_FrameHeaderInterface_Tag 
FrameQBufMgr_FrameHeaderInterface
 Enumeration of FrameQBufMgr interface types.Denotes different implementation types.
typedef enum
FrameQBufMgr_FrameBufferInterface_Tag 
FrameQBufMgr_FrameBufferInterface
 Enumeration of FrameQBufMgr interface types.Denotes different implementation types.
typedef struct
FrameQBufMgr_Config_Tag 
FrameQBufMgr_Config
 Structure defining module config parameters for the FrameQBufMgr module.
typedef struct
FrameQBufMgr_CreateParams_Tag 
FrameQBufMgr_CreateParams
 Common parameters required to create FrameQBufMgr instance of any implementation.
typedef struct
FrameQBufMgr_CommonOpenParams_Tag 
FrameQBufMgr_CommonOpenParams
 Common parameters required to open a FrameQBufMgr instance of any implementation.
typedef struct FrameQBufMgr_Params FrameQBufMgr_Params
 Common parameters required to create FrameQBufMgr instance of any implementation.
typedef struct
FrameQBufMgr_FrameBufParams_Tag 
FrameQBufMgr_FrameBufParams
 Frame buffer param structure.
typedef void(* FrameQBufMgr_NotifyFunc )(FrameQBufMgr_Handle, Ptr arg, UInt32)
 Prototype of the FrameQBufMgr call back function.
typedef struct
FrameQBufMgr_NotifyParams_Tag 
FrameQBufMgr_NotifyParams
 Structure defining notification parameter structure.

Enumerations

enum  FrameQBufMgr_CpuAccessFlags_Tag {
  FrameQBufMgr_FRAMEBUF0_CPUACCESS = 0x10000,
  FrameQBufMgr_FRAMEBUF1_CPUACCESS = 0x20000,
  FrameQBufMgr_FRAMEBUF2_CPUACCESS = 0x40000,
  FrameQBufMgr_FRAMEBUF3_CPUACCESS = 0x80000,
  FrameQBufMgr_FRAMEBUF4_CPUACCESS = 0x100000,
  FrameQBufMgr_FRAMEBUF5_CPUACCESS = 0x200000,
  FrameQBufMgr_FRAMEBUF6_CPUACCESS = 0x400000,
  FrameQBufMgr_FRAMEBUF7_CPUACCESS = 0x800000
}
 Enumeration of CPU access flags for frame buffers. For frame headers CPUACCESS is assumed to be TRUE.. More...
enum  FrameQBufMgr_BufType_Tag {
  FrameQBufMgr_BUF_FRAMEHEADER = 0u,
  FrameQBufMgr_BUF_FRAMEBUF = 1u,
  FrameQBufMgr_BUF_ENDVALUE = 2u
}
 Denotes the type of buffer. More...
enum  FrameQBufMgr_AddrType_Tag {
  FrameQBufMgr_AddrType_Virtual = 0u,
  FrameQBufMgr_AddrType_Portable = 1u,
  FrameQBufMgr_AddrType_EndValue = 2u
}
 Enumerations to indicate address types used for translation. More...
enum  FrameQBufMgr_Interface_Tag {
  FrameQBufMgr_INTERFACE_SHAREDMEM = 0x0,
  FrameQBufMgr_INTERFACE_NONE = 0x1
}
 Enumeration of FrameQBufMgr interface types.Denotes different implementation types. More...
enum  FrameQBufMgr_FrameHeaderInterface_Tag {
  FrameQBufMgr_HDRINTERFACE_SHAREDMEM = 0x0,
  FrameQBufMgr_HDRINTERFACE_NONE = 0x1
}
 Enumeration of FrameQBufMgr interface types.Denotes different implementation types. More...
enum  FrameQBufMgr_FrameBufferInterface_Tag {
  FrameQBufMgr_BUFINTERFACE_SHAREDMEM = 0x0,
  FrameQBufMgr_BUFINTERFACE_TILERMEM = 0x1,
  FrameQBufMgr_BUFINTERFACE_NONE = 0x2
}
 Enumeration of FrameQBufMgr interface types.Denotes different implementation types. More...

Functions

Int32 FrameQBufMgr_setup (FrameQBufMgr_Config *cfg)
 Function to setup the FrameQBufMgr module.
Int32 FrameQBufMgr_destroy (Void)
 Function to destroy(finalize) the FrameQBufMgr module.
FrameQBufMgr_Handle FrameQBufMgr_create (Ptr params)
 Function to create FrameQBufMgr instance.
Int32 FrameQBufMgr_delete (FrameQBufMgr_Handle *pHandle)
 Function to delete FrameQBufMgr instance.
Int32 FrameQBufMgr_open (FrameQBufMgr_Handle *handlePtr, Ptr openParams)
 Function to open the created FrameQBufMgr instance.
Int32 FrameQBufMgr_openByAddr (FrameQBufMgr_Handle *handlePtr, Ptr openParams)
 Function to open the created FrameQBufMgr instance using the address provided in open params.
Int32 FrameQBufMgr_close (FrameQBufMgr_Handle *pHandle)
 Function to close the opened FrameQBufMgr instance.
Int32 FrameQBufMgr_alloc (FrameQBufMgr_Handle handle, FrameQBufMgr_Frame *frame)
 Function to allocate frame from free frame pool zero.
Int32 FrameQBufMgr_allocv (FrameQBufMgr_Handle handle, FrameQBufMgr_Frame framePtr[], UInt32 freeQId[], UInt8 *numFrames)
 Function to allocate multiple frames from the FrameQbufMgr instance..
Int32 FrameQBufMgr_free (FrameQBufMgr_Handle handle, FrameQBufMgr_Frame frame)
 Function to free frame.
Int32 FrameQBufMgr_freev (FrameQBufMgr_Handle handle, FrameQBufMgr_Frame framePtr[], UInt32 numFrames)
 Function to free multiple frames to the FrameQBufMgr.
Ptr FrameQBufMgr_add (FrameQBufMgr_Handle handle, UInt8 freeQId)
 Function to add frame.
Int32 FrameQBufMgr_remove (FrameQBufMgr_Handle handle, UInt8 freeQId, FrameQBufMgr_Frame framePtr)
 Function to remove frame.
Int32 FrameQBufMgr_dup (FrameQBufMgr_Handle handle, FrameQBufMgr_Frame framePtr, FrameQBufMgr_Frame dupedFramePtr[], UInt32 numDupedFrames)
 Function to duplicate the frame.
Int32 FrameQBufMgr_dupv (FrameQBufMgr_Handle handle, FrameQBufMgr_Frame framePtr[], FrameQBufMgr_Frame **dupedFramePtr, UInt32 numDupedFrames, UInt32 numFrames)
 Function to duplicate the multiple frames.
Int32 FrameQBufMgr_registerNotifier (FrameQBufMgr_Handle handle, FrameQBufMgr_NotifyParams *notifyParams)
 Function to register call back function for notification.
Int32 FrameQBufMgr_unregisterNotifier (FrameQBufMgr_Handle handle)
 Function to unregister call back function.
Int32 FrameQBufMgr_writeBack (FrameQBufMgr_Handle handle, FrameQBufMgr_Frame framePtr)
 Function to write back the frame.
Int32 FrameQBufMgr_writeBackBuf (FrameQBufMgr_Handle handle, Ptr buf, UInt32 flags)
 Write back the contents of buffer.
Int32 FrameQBufMgr_invalidate (FrameQBufMgr_Handle handle, FrameQBufMgr_Frame framePtr)
 Function to invalidate frame.
Int32 FrameQBufMgr_invalidateFrameBuf (FrameQBufMgr_Handle handle, Ptr frameBuf, UInt32 size, UInt8 bufIndexInFrame)
 Function to invalidate frame buffer.
Int32 FrameQBufMgr_writeBackFrameBuf (FrameQBufMgr_Handle handle, Ptr frameBuf, UInt32 size, UInt8 bufIndexInFrame)
 Function to writeback frame buffer.
Int32 FrameQBufMgr_invalidateHeaderBuf (FrameQBufMgr_Handle handle, Ptr headerBuf)
 Invalidate the contents of frame header.
Int32 FrameQBufMgr_writeBackHeaderBuf (FrameQBufMgr_Handle handle, Ptr headerBuf)
 Write back the contents of frame header.
Int32 FrameQBufMgr_translateAddr (FrameQBufMgr_Handle handle, Ptr *dstAddr, FrameQBufMgr_AddrType dstAddrType, Ptr srcAddr, FrameQBufMgr_AddrType srcAddrType, FrameQBufMgr_BufType bufType)
 API to translate the given pointer to other address type.
Int32 FrameQBufMgr_getConfig (FrameQBufMgr_Config *cfg)
 Function to initialize the config parameter structure with default values.
UInt32 FrameQBufMgr_getId (FrameQBufMgr_Handle handle)
 API to get the ID of the instance.
Ptr FrameQBufMgr_getHandle (UInt32 Id)
 API to get the handle of the instance.
Bool FrameQBufMgr_isCacheEnabledForHeaderBuf (FrameQBufMgr_Handle handle)
 Function to determine whether cache calls(writeback/invalidate) are enabled for frame headers.
Bool FrameQBufMgr_isCacheEnabledForFrameBuf (FrameQBufMgr_Handle handle, UInt8 framebufIndex)
 Function to determine whether cache calls(writeback/invalidate) are enabled for frame headers.
Int32 FrameQBufMgr_getNumFreeFrames (FrameQBufMgr_Handle handle, UInt32 *numFreeFrames)
 Function to get the number of free frames availabel in pool 0.
Int32 FrameQBufMgr_control (FrameQBufMgr_Handle handle, Int32 cmd, Ptr arg)
 Provides a hook to perform implementation dependent operation.
UInt32 FrameQBufMgr_getBaseHeaderSize (UInt8 numFrameBufs)
 Function to calcaulate the base frame header size when number of frames in a frame is given.
Ptr FrameQBufMgr_getKnlHandle (FrameQBufMgr_Handle handle)
 Function to get the kernel space handle of the instance.

Macro Definition Documentation

#define FrameQBufMgr_S_ALREADYDESTROYED   2

Indicates module has been already destroyed.

#define FrameQBufMgr_S_ALREADYSETUP   1

Indicates module is already setup.

#define FrameQBufMgr_S_SUCCESS   0

Operation successful.

#define FrameQBufMgr_E_FAIL   -1

General Failure.

#define FrameQBufMgr_E_INVALIDARG   -2

Invalid arguments are passed to FrameQBufMgr API.

#define FrameQBufMgr_E_NOTFOUND   -3

Instance not found.

#define FrameQBufMgr_E_INST_EXISTS   -4

FrameQBufMgr instance already exists.

#define FrameQBufMgr_E_ALLOC_BUF   -5

Failed to allocate buffer.

#define FrameQBufMgr_E_ALLOC_MEMORY   -6

Failed to allocate memory.

#define FrameQBufMgr_E_CREATE_NAMESERVER   -7

Name server create failed for the module.

#define FrameQBufMgr_E_FAIL_CLIENTN0TIFYMGR_CREATE   -8

ClientNotifyMgr create failed.

#define FrameQBufMgr_E_CLIENTN0TIFYMGR_OPEN   -9

ClientNotifyMgr open failed.

#define FrameQBufMgr_E_CREATE_GATEMP   -10

Creation of GateMP failed.

#define FrameQBufMgr_E_OPEN_GATEMP   -11

GateMP open failed.

#define FrameQBufMgr_E_MAX_CLIENTS   -12

Maximum instances limit reached.

#define FrameQBufMgr_E_ACCESSDENIED   -13

Operation can not be permitted or not implemented.

#define FrameQBufMgr_E_NOTIMPLEMENTED   -14

API is not implemented.

#define FrameQBufMgr_E_INVALIDSTATE   -15

Module is not initialized.

#define FrameQBufMgr_E_OSFAILURE   -16

Failure in OS call.

#define FrameQBufMgr_E_MAXINSTANCES   -17

Max instances limit reached. Can not create instance.

#define FrameQBufMgr_E_INVALID_INTERFACE   -18

Unsupported interface type.

#define FrameQBufMgr_E_OPEN_NAMESERVER   -19

Failed to open NameServer.

#define FrameQBufMgr_E_INSUFFICIENT_HDRBUFS   -20

Insufficient header buffers.

#define FrameQBufMgr_E_ALLOC_FRAME   -21

Failed to allocate frame.

#define FrameQBufMgr_E_ALLOC_ALLFRAMES   -22

Not able to allocate the requested frames.Able to allocate only few frames.

#define FrameQBufMgr_E_INVALID_MEMMGRTYPE   -23

Invalid MemMgr type specified.

#define FrameQBufMgr_E_INVALID_HDRINTERFACETYPE   -24

Invalid Header buffer interface type specified.see enum FrameQBufMgr_FrameHeaderInterface for the supported types.

#define FrameQBufMgr_E_INVALID_BUFINTERFACETYPE   -25

Invalid frame buffer interface type specified.see enum FrameQBufMgr_FrameBufferInterface for the supported types.

#define FrameQBufMgr_E_NAMESERVERADD   -33

NameServer_add failed.

#define FrameQBufMgr_FrameBufInfo   Frame_FrameBufInfo
#define FrameQBufMgr_FrameHeader   Frame_FrameHeader

Defines the frame header structure.

#define FrameQBufMgr_MAXNAMELEN   (32u)

Maximum length of the name string in bytes.

#define FrameQBufMgr_MAXINSTANCES   (64u)

Maximum number of instances managed by FrameQBufMgr module.

#define FrameQBufMgr_MAX_POOLS   (64u)

Maximum number of free frame pools to be maintained in a instance.

#define FrameQBufMgr_MAX_FRAMEBUFS   (8)

Maximum number of frame buffers in a frame managed by in FrameQBufMgr instance.

#define FrameQBufMgr_POOL_MAXFRAMES   (32)

Maximum number of static free Frames managed by FrameQBufMgr instance Free Frame pool.

#define FrameQBufMgr_POOL_MAXHDRS   (64)

Maximum number of additional static free headers managed by FrameQBufMgr instance for each Free Frame pool.

#define FrameQBufMgr_POOL_DYNAMIC_MAXFRAMES   (1)

Maximum number of dynbuffers managed by each buffer pool in FrameQBufMgr instance.

#define FrameQBufMgr_POOL_DYNAMIC_MAXHDRS   (1)

Maximum number of additional dynamic free headers managed by FrameQBufMgr instance for each Free Frame pool.

#define FrameQBufMgr_NOTIFY_RESERVED_EVENTNO   (0u)

Notify Event Number to be used by FrameQBufMgr module.

#define FrameQBufMgr_MAX_FRAMESINVAPI   (FrameQ_MAX_FRAMESINVAPI)

Macro used in FrameQ for sorting of passed parameters in V API. In FrameQBufMgr_allocv case this denotes the number of frames that can be allocated in one call.


Typedef Documentation

typedef struct FrameQBufMgr_Object* FrameQBufMgr_Handle

Handle for the FrameQBufMgr instance.

Defines the type for a frame pointer.

Enumeration of CPU access flags for frame buffers. For frame headers CPUACCESS is assumed to be TRUE..

Denotes the type of buffer.

Enumerations to indicate address types used for translation.

Enumeration of FrameQBufMgr interface types.Denotes different implementation types.

Enumeration of FrameQBufMgr interface types.Denotes different implementation types.

Enumeration of FrameQBufMgr interface types.Denotes different implementation types.

Structure defining module config parameters for the FrameQBufMgr module.

Common parameters required to create FrameQBufMgr instance of any implementation.

This struct must be the first field of the implementation-specific params structure.

Common parameters required to open a FrameQBufMgr instance of any implementation.

Common parameters required to create FrameQBufMgr instance of any implementation.

This struct must be the first element of the implementation-specific create params structure.

Frame buffer param structure.

typedef void(* FrameQBufMgr_NotifyFunc)(FrameQBufMgr_Handle, Ptr arg, UInt32)

Prototype of the FrameQBufMgr call back function.

Structure defining notification parameter structure.


Enumeration Type Documentation

Enumeration of CPU access flags for frame buffers. For frame headers CPUACCESS is assumed to be TRUE..

Enumerator:
FrameQBufMgr_FRAMEBUF0_CPUACCESS 

If specified first frame buffer is accessed through CPU (direct memory access).

FrameQBufMgr_FRAMEBUF1_CPUACCESS 

If specified second frame buffer is accessed through CPU (direct memory access).

FrameQBufMgr_FRAMEBUF2_CPUACCESS 

If specified third frame buffer is accessed through CPU (direct memory access).

FrameQBufMgr_FRAMEBUF3_CPUACCESS 

If specified fourth frame buffer is accessed through CPU (direct memory access).

FrameQBufMgr_FRAMEBUF4_CPUACCESS 

If specified fifth frame buffer is accessed through CPU (direct memory access).

FrameQBufMgr_FRAMEBUF5_CPUACCESS 

If specified sixth frame buffer is accessed through CPU (direct memory access).

FrameQBufMgr_FRAMEBUF6_CPUACCESS 

If specified seventh frame buffer is accessed through CPU (direct memory access).

FrameQBufMgr_FRAMEBUF7_CPUACCESS 

If specified eighth frame buffer is accessed through CPU (direct memory access).

Denotes the type of buffer.

Enumerator:
FrameQBufMgr_BUF_FRAMEHEADER 

Denotes buffer is of type used for frame headers.

FrameQBufMgr_BUF_FRAMEBUF 

Denotes buffer is of type used for frame buffers

FrameQBufMgr_BUF_ENDVALUE 

End delimiter indicating start of invalid values for this enum

Enumerations to indicate address types used for translation.

Enumerator:
FrameQBufMgr_AddrType_Virtual 

Virtual address on calling process on DSP where MMU is not configured it could be the physical address.

FrameQBufMgr_AddrType_Portable 

This is the shared region address incase sharedmemory manager plugged in to frameQbufMgr. In case of tiler it could be the tiler specific portable address

FrameQBufMgr_AddrType_EndValue 

End delimiter indicating start of invalid values for this enum

Enumeration of FrameQBufMgr interface types.Denotes different implementation types.

Enumerator:
FrameQBufMgr_INTERFACE_SHAREDMEM 

Denotes FrameQBufMgr implementation (FrameQBufMgr_ShMem Implementation) on shared memory.

FrameQBufMgr_INTERFACE_NONE 

Enumeration of FrameQBufMgr interface types.Denotes different implementation types.

Enumerator:
FrameQBufMgr_HDRINTERFACE_SHAREDMEM 

Denotes FrameQBufMgr headers are from shared memory.Address translations will be done using shared region.

FrameQBufMgr_HDRINTERFACE_NONE 

Enumeration of FrameQBufMgr interface types.Denotes different implementation types.

Enumerator:
FrameQBufMgr_BUFINTERFACE_SHAREDMEM 

Denotes FrameQBufMgr implementation (FrameQBufMgr_ShMem Implementation) on shared memory.

FrameQBufMgr_BUFINTERFACE_TILERMEM 

valid only on RTOS side for TI81XX platforms. Not valid on HLOS side.

FrameQBufMgr_BUFINTERFACE_NONE 

Function Documentation

Int32 FrameQBufMgr_setup ( FrameQBufMgr_Config cfg)

Function to setup the FrameQBufMgr module.

This function sets up the FrameQBufMgr module. This function must be called before any other instance-level APIs can be invoked. Module-level configuration needs to be provided to this function. If the user wishes to change some specific config parameters, then FrameQBufMgr_getConfig can be called to get the configuration filled with the default values. After this, only the required configuration values can be changed. If the user does not wish to make any change in the default parameters, the application can simply call setup with NULL parameters. The default parameters would get automatically used.

Parameters:
cfgOptional FrameQBufMgr module configuration. If provided as NULL, default configuration is used.
See also:
None.
Int32 FrameQBufMgr_destroy ( Void  )

Function to destroy(finalize) the FrameQBufMgr module.

FrameQBufMgr_Handle FrameQBufMgr_create ( Ptr  params)

Function to create FrameQBufMgr instance.

This function create a new instance of FrameQBufMgr. It creates frameQBufMgr based on the params specific to implementation.

Parameters:
paramspointer to implementation specific params.
Return values:
HandleInstance handle.
NULLCreate failed.
See also:
FrameQBufMgr_Shmem_params, FrameQBufMgr_delete(), FrameQBufMgr_open() and FrameQBufMgr_close.
Int32 FrameQBufMgr_delete ( FrameQBufMgr_Handle pHandle)

Function to delete FrameQBufMgr instance.

This function delets FrameQBufMgr instance that is created.

Parameters:
pHandlePointer to the created frameQ instance handle.
Return values:
FrameQBufMgr_S_SUCCESSDelete successful.
FrameQBufMgr_E_FAILDelete failed.
FrameQBufMgr_E_INVALIDARGPointer to Handle passed is null.
FrameQBufMgr_E_INVALIDARGHandle passed is null.
See also:
FrameQBufMgr_create(), FrameQBufMgr_open() and FrameQBufMgr_close.
Int32 FrameQBufMgr_open ( FrameQBufMgr_Handle handlePtr,
Ptr  openParams 
)

Function to open the created FrameQBufMgr instance.

This function opens the FrameQBufMgr instance depending upon the open params passed to it.The instance must be created before opening it. Application is expected to pass the implementations specific open params for the openParams field.FrameQ_open internally calls this API to use the FrameQBufMgr instance to allocate frames ftom it.

Parameters:
handlePtrReturn parameter.Instance opened in given mode.
openParamsPointer to implementation specific open params.
Return values:
FrameQBufMgr_S_SUCCESSopen successful.
FrameQBufMgr_E_INVALIDARGInvalid parameter specified.
FrameQBufMgr_E_INVALIDSTATEModule is not initialized.
FrameQBufMgr_E_MEMORYMemory_alloc failed.
FrameQBufMgr_E_ALLOC_MEMORYMemory_alloc failed.
FrameQBufMgr_E_FRAMEQBUFMGROPENFrameQBufMge instance open failed.
FrameQBufMgr_E_OPEN_GATEMPGateMP open failed.
FrameQBufMgr_E_CLIENTN0TIFYMGR_OPENClientNotifyMgr open failed.
FrameQBufMgr_E_NOTFOUNDInstance not found in FrameQBufMgr Nameserver or instance is not crated at the shared address obtained internally.
FrameQBufMgr_E_FAILFailed due to Both name is null and shared addr is null.
FrameQBufMgr_E_INVALID_HDRINTERFACETYPEFailed to create the Syslink memory manager for header buffers.
FrameQBufMgr_E_INVALID_BUFINTERFACETYPEFailed to create the Syslink memory manager for frame buffers.
See also:
FrameQBufMgr_ShMem_openParams, FrameQBufMgr_create(), FrameQBufMgr_delete() and FrameQBufMgr_close.
Int32 FrameQBufMgr_openByAddr ( FrameQBufMgr_Handle handlePtr,
Ptr  openParams 
)

Function to open the created FrameQBufMgr instance using the address provided in open params.

This function opens the FrameQBufMgr instance depending upon the open params passed to it.The instance must be created before opening it. Application is expected to pass the implementations specific open params for the openParams field.

Parameters:
handlePtrReturn parameter.Instance opened in given mode.
openParamsPointer to implementation specific open params.
Return values:
FrameQBufMgr_S_SUCCESSopen successful.
FrameQBufMgr_E_INVALIDARGInvalid parameter specified.
FrameQBufMgr_E_INVALIDSTATEModule is not initialized.
FrameQBufMgr_E_MEMORYMemory_alloc failed.
FrameQBufMgr_E_ALLOC_MEMORYMemory_alloc failed.
FrameQBufMgr_E_FRAMEQBUFMGROPENFrameQBufMge instance open failed.
FrameQBufMgr_E_OPEN_GATEMPGateMP open failed.
FrameQBufMgr_E_CLIENTN0TIFYMGR_OPENClientNotifyMgr open failed.
FrameQBufMgr_E_NOTFOUNDInstance not found in FrameQBufMgr Nameserver or instance is not crated at the shared address obtained internally.
FrameQBufMgr_E_FAILFailed due to shared addr is null.
FrameQBufMgr_E_INVALID_HDRINTERFACETYPEFailed to create the Syslink memory manager for header buffers.
FrameQBufMgr_E_INVALID_BUFINTERFACETYPEFailed to create the Syslink memory manager for frame buffers.
See also:
FrameQBufMgr_ShMem_openParams, FrameQBufMgr_create(), FrameQBufMgr_delete() and FrameQBufMgr_close.
Int32 FrameQBufMgr_close ( FrameQBufMgr_Handle pHandle)

Function to close the opened FrameQBufMgr instance.

This function closes FrameQBufMgr instance that is opened.

Parameters:
pHandlePointer to the opened FrameQBufMgr instance handle.
Return values:
FrameQBufMgr_S_SUCCESSClose successful.
FrameQBufMgr_E_INVALIDARGPointer to Handle passed is null.
FrameQBufMgr_E_INVALIDARGHandle passed is null.
FrameQBufMgr_E_ACCESSDENIEDInvalid handle passed.
See also:
FrameQBufMgr_create, FrameQBufMgr_open and FrameQBufMgr_delete.
Int32 FrameQBufMgr_alloc ( FrameQBufMgr_Handle  handle,
FrameQBufMgr_Frame frame 
)

Function to allocate frame from free frame pool zero.

This function allocates a frame when called by FrameQBufMgr. from free Frame Pool zero.

Parameters:
handleFrameQBufMgr handle.
frameLocation to receive the allocated frame.
Return values:
FrameQBufMgr_S_SUCCESSSuccessfully allocated frame.
FrameQBufMgr_E_FAILInvalid buffer interface type.
FrameQBufMgr_E_ALLOC_FRAMEFree frames are not available to allocate.
FrameQBufMgr_E_INVALIDARGframePtr paased is null.
FrameQBufMgr_E_INVALIDARGhandle passed is null.
FrameQBufMgr_E_ACCESSDENIEDProvided handle can not allocate frames. Only writer can allocate frames.
FrameQBufMgr_E_INVALIDSTATEModule is not initialized.
See also:
FrameQ_alloc, FrameQ_free, FrameQBufMgr_free.
Int32 FrameQBufMgr_allocv ( FrameQBufMgr_Handle  handle,
FrameQBufMgr_Frame  framePtr[],
UInt32  freeQId[],
UInt8 numFrames 
)

Function to allocate multiple frames from the FrameQbufMgr instance..

This function allocates frames from multiple free pools.This API allocates all the frames requested if available other wise returns failure.

Parameters:
handleFrameQBufMgr handle.
framePtrArray to receive pointers to allocated frames..
freeQIdArray of free frame pool nos of the FrameQBufMgr from from which this API needs to allocate free frames .
numFramesNumber of frames that needs to be allocated.
Return values:
FrameQBufMgr_S_SUCCESSSuccessfully allocated frames.
FrameQBufMgr_E_ALLOC_FRAMEFailed due to non availabilty of free frames in free frame pool.
FrameQBufMgr_E_INVALIDARGframePtr passed is null.
FrameQBufMgr_E_INVALIDARGhandle passed is null.
FrameQBufMgr_E_INVALIDARGfreeQId passed is null.
FrameQBufMgr_E_INVALIDARGnumFrames passed is null.
FrameQBufMgr_E_INVALIDSTATEModule is not initialized.
See also:
FrameQ_allocv, FrameQ_freev, FrameQBufMgr_freev.
Int32 FrameQBufMgr_free ( FrameQBufMgr_Handle  handle,
FrameQBufMgr_Frame  frame 
)

Function to free frame.

This function frees a frame.

Parameters:
handleFrameQBufMgr instance handle.
frameFrame to be freed.
Return values:
FrameQBufMgr_S_SUCCESSSuccessfully freed frame.
FrameQBufMgr_E_FAILFree failed.
FrameQBufMgr_E_INVALIDARGframe passed is null.
FrameQBufMgr_E_INVALIDARGhandle passed is null.
FrameQBufMgr_E_INVALIDSTATEModule is not initialized.
See also:
FrameQ_free, FrameQBufMgr_alloc
Int32 FrameQBufMgr_freev ( FrameQBufMgr_Handle  handle,
FrameQBufMgr_Frame  framePtr[],
UInt32  numFrames 
)

Function to free multiple frames to the FrameQBufMgr.

This function frees multiple frames to the FrameQBufMgr instance.

Parameters:
handleFrameQBufMgr instance handle.
framePtrArray of frames to be freed.
numFramesNumber of frames to free. The size of the framePtr should be at least numFrames.
Return values:
FrameQBufMgr_S_SUCCESSSuccessfully freed frames.
FrameQBufMgr_E_FAILFreev failed.
FrameQBufMgr_E_INVALIDARGframePtr passed is null.
FrameQBufMgr_E_INVALIDARGhandle passed is null.
FrameQBufMgr_E_INVALIDSTATEModule is not initialized.
See also:
FrameQ_freev, FrameQBufMgr_allocv
Ptr FrameQBufMgr_add ( FrameQBufMgr_Handle  handle,
UInt8  freeQId 
)

Function to add frame.

This function is to add free frames dynamically to the given pool id (freeQId). NOTE: API is not implemented.

Int32 FrameQBufMgr_remove ( FrameQBufMgr_Handle  handle,
UInt8  freeQId,
FrameQBufMgr_Frame  framePtr 
)

Function to remove frame.

This function is to remove the frames that is added dynamically. NOTE: API is not implemented.

Int32 FrameQBufMgr_dup ( FrameQBufMgr_Handle  handle,
FrameQBufMgr_Frame  framePtr,
FrameQBufMgr_Frame  dupedFramePtr[],
UInt32  numDupedFrames 
)

Function to duplicate the frame.

This function duplicates the given frame and returns the duplicated frame. It internally allocates one Frame header buffer and copy the header info to the allocated header buffer and returns it. it also increments the reference count of the original frame by 1 as both original frame and duped frmae are pointing to the same frame buffers.

Parameters:
handleFrameQBufMgr instance handle.
framePtrOriginal frame that needs to be duplicated.
dupedFramePtrLocation to receive the duped frames.
numDupedFramesNumber of duplicated frames required.
Return values:
FrameQBufMgr_S_SUCCESSSuccessfully duped frame.
FrameQBufMgr_E_FAILdup failed.
FrameQBufMgr_E_INVALIDARGframePtr passed is null.
FrameQBufMgr_E_INVALIDARGhandle passed is null.
FrameQBufMgr_E_INVALIDARGdupedFramePtr passed is null.
FrameQBufMgr_E_INVALIDSTATEModule is not initialized.
See also:
FrameQ_dup, FrameQBufMgr_alloc, FrameQBufMgr_allocv
Int32 FrameQBufMgr_dupv ( FrameQBufMgr_Handle  handle,
FrameQBufMgr_Frame  framePtr[],
FrameQBufMgr_Frame **  dupedFramePtr,
UInt32  numDupedFrames,
UInt32  numFrames 
)

Function to duplicate the multiple frames.

API to duplicate the given frames i.e it increments the corresponding frames's reference count.It internally allocates headers for the duped frames.API fails if it is not able to dup all the frames.

Parameters:
handleInstance handle.
framePtrArray of frames to duplicated.
dupedFramePtrLocation to receive duplicated frames.
numDupedFramesNumber of duplicated frames required for each given frame.
numFramesNumber of original frames that needs to be duplicated.
Return values:
FrameQBufMgr_S_SUCCESSSuccessfully duped frame.
FrameQBufMgr_E_FAILdup failed.
FrameQBufMgr_E_INVALIDARGframePtr passed is null.
FrameQBufMgr_E_INVALIDARGhandle passed is null.
FrameQBufMgr_E_INVALIDARGdupedFramePtr passed is null.
FrameQBufMgr_E_INVALIDSTATEModule is not initialized.
See also:
FrameQ_dup, FrameQBufMgr_alloc, FrameQBufMgr_allocv, FrameQBufMgr_dup
Int32 FrameQBufMgr_registerNotifier ( FrameQBufMgr_Handle  handle,
FrameQBufMgr_NotifyParams notifyParams 
)

Function to register call back function for notification.

Function to Register notification with the instance. It internally registers notification with the individual free frame pools.If alloc on free frame pool 0 failed,Notification will be generated if free buffers in that pool becomes more than watermark.

Parameters:
handleInstance handle.
notifyParamsnotify params.
Return values:
FrameQBufMgr_S_SUCCESSOperation successful.
FrameQBufMgr_E_INVALIDARGhandle passed is null.
FrameQBufMgr_E_INVALIDARGnotifyParams passed is null.
FrameQBufMgr_E_INVALIDSTATEModule is not initialized.
FrameQBufMgr_E_FAILFailed to register notification.
See also:
FrameQBufMgr_unregisterNotifier
Int32 FrameQBufMgr_unregisterNotifier ( FrameQBufMgr_Handle  handle)

Function to unregister call back function.

Function to Register notification with the instance. It internally unregisters notification with the individual free frame pools.

Parameters:
handleInstance handle.
Return values:
FrameQBufMgr_S_SUCCESSSuccessfully duped frame.
FrameQBufMgr_E_INVALIDARGhandle passed is null.
FrameQBufMgr_E_INVALIDARGnotifyParams passed is null.
FrameQBufMgr_E_INVALIDSTATEModule is not initialized.
FrameQBufMgr_E_FAILFailed to register notification.
See also:
FrameQBufMgr_registerNotifier
Int32 FrameQBufMgr_writeBack ( FrameQBufMgr_Handle  handle,
FrameQBufMgr_Frame  framePtr 
)

Function to write back the frame.

Function to write back the contents of buffer .

Parameters:
handleInstance handle.
framePtrframe to be written back to external memory.
Return values:
FrameQBufMgr_S_SUCCESSOperation successful.
FrameQBufMgr_E_INVALIDARGhandle passed is null.
FrameQBufMgr_E_INVALIDARGframePtr passed is null.
FrameQBufMgr_E_INVALIDSTATEModule is not initialized.
See also:
FrameQBufMgr_invlidate
Int32 FrameQBufMgr_writeBackBuf ( FrameQBufMgr_Handle  handle,
Ptr  buf,
UInt32  flags 
)

Write back the contents of buffer.

Function to write back the contents of buffer . Flags denotes whether it is header buffer or frame buffer..

Parameters:
handleInstance handle.
bufBuffer to be written back.
flagsFlags denotes whether buf is a header buffer or frame buffer.
Return values:
FrameQBufMgr_S_SUCCESSOperation successful.
FrameQBufMgr_E_INVALIDARGhandle passed is null.
FrameQBufMgr_E_INVALIDARGnotifyParams passed is null.
FrameQBufMgr_E_INVALIDSTATEModule is not initialized.
See also:
FrameQBufMgr_invlidate
Int32 FrameQBufMgr_invalidate ( FrameQBufMgr_Handle  handle,
FrameQBufMgr_Frame  framePtr 
)

Function to invalidate frame.

Function to invalidate the contents of frame .

Parameters:
handleInstance handle.
framePtrframe to be invalidated from external memory.
Return values:
FrameQBufMgr_S_SUCCESSOperation successful.
FrameQBufMgr_E_INVALIDARGhandle passed is null.
FrameQBufMgr_E_INVALIDARGframePtr passed is null.
FrameQBufMgr_E_INVALIDSTATEModule is not initialized.
See also:
FrameQBufMgr_writeback
Int32 FrameQBufMgr_invalidateFrameBuf ( FrameQBufMgr_Handle  handle,
Ptr  frameBuf,
UInt32  size,
UInt8  bufIndexInFrame 
)

Function to invalidate frame buffer.

Function to invalidate the contents of frame buffer .

Parameters:
handleInstance handle.
frameBufframebuffer pointer.
sizeSize to be invalidated.
bufIndexInFrameindex of the frame buffer in the frame to which the buffer bellongs to.
Return values:
FrameQBufMgr_S_SUCCESSOperation successful.
FrameQBufMgr_E_INVALIDARGhandle passed is null.
FrameQBufMgr_E_INVALIDARGframeBuf passed is null.
FrameQBufMgr_E_INVALIDSTATEModule is not initialized.
See also:
FrameQBufMgr_writeback
Int32 FrameQBufMgr_writeBackFrameBuf ( FrameQBufMgr_Handle  handle,
Ptr  frameBuf,
UInt32  size,
UInt8  bufIndexInFrame 
)

Function to writeback frame buffer.

Function to writeback the contents of frame buffer .

Parameters:
handleInstance handle.
frameBufframebuffer pointer.
sizeSize to be writtenback.
bufIndexInFrameindex of the frame buffer in the frame to which the given buffer bellongs to.
Return values:
FrameQBufMgr_S_SUCCESSOperation successful.
FrameQBufMgr_E_INVALIDARGhandle passed is null.
FrameQBufMgr_E_INVALIDARGframeBuf passed is null.
FrameQBufMgr_E_INVALIDSTATEModule is not initialized.
See also:
FrameQBufMgr_writeback
Int32 FrameQBufMgr_invalidateHeaderBuf ( FrameQBufMgr_Handle  handle,
Ptr  headerBuf 
)

Invalidate the contents of frame header.

API treates the passed buffer as frame Header.

Parameters:
handleHandle to the instance.
headerBufframe header to be invalidated.
Return values:
FrameQBufMgr_S_SUCCESSOperation successful.
FrameQBufMgr_E_INVALIDARGhandle passed is null.
FrameQBufMgr_E_INVALIDARGheaderBuf passed is null.
FrameQBufMgr_E_INVALIDSTATEModule is not initialized.
Int32 FrameQBufMgr_writeBackHeaderBuf ( FrameQBufMgr_Handle  handle,
Ptr  headerBuf 
)

Write back the contents of frame header.

API treates the passed buffer as frame Header.

Parameters:
handleHandle to the instance.
headerBufframe header to be written back.
Return values:
FrameQBufMgr_S_SUCCESSOperation successful.
FrameQBufMgr_E_INVALIDARGhandle passed is null.
FrameQBufMgr_E_INVALIDARGheaderBuf passed is null.
FrameQBufMgr_E_INVALIDSTATEModule is not initialized.
Int32 FrameQBufMgr_translateAddr ( FrameQBufMgr_Handle  handle,
Ptr dstAddr,
FrameQBufMgr_AddrType  dstAddrType,
Ptr  srcAddr,
FrameQBufMgr_AddrType  srcAddrType,
FrameQBufMgr_BufType  bufType 
)

API to translate the given pointer to other address type.

Parameters:
handleHandle to the instance.
dstAddrLocation to receive the destination address (translated address).
dstAddrTypeaddress type to which the source address needs to be translated to.
srcAddrSource address.
srcAddrTypeAddress type of the source address.
bufTypebuffer type. Denotes source address specified is frame header or frame buffer.
Return values:
FrameQBufMgr_S_SUCCESSOperation successful.
FrameQBufMgr_E_FAILInvalid buffer type specified in bufType.
FrameQBufMgr_E_FAILTranslate failed in SysLinkMemMgr. bufType.
FrameQBufMgr_E_INVALIDARGhandle passed is null.
FrameQBufMgr_E_INVALIDARGdstAddr passed is null.
FrameQBufMgr_E_INVALIDARGsrcAddr passed is null.
FrameQBufMgr_E_INVALIDSTATEModule is not initialized.
Int32 FrameQBufMgr_getConfig ( FrameQBufMgr_Config cfg)

Function to initialize the config parameter structure with default values.

Parameters:
cfgParameter structure to return the config parameters.
See also:
None.
UInt32 FrameQBufMgr_getId ( FrameQBufMgr_Handle  handle)

API to get the ID of the instance.

Parameters:
handleHandle to the instance.
Return values:
idId of the instance.
Ptr FrameQBufMgr_getHandle ( UInt32  Id)

API to get the handle of the instance.

Parameters:
Idid of the instance.
Return values:
pointerhandle of the instance.
NULLgetHandle failed.
Bool FrameQBufMgr_isCacheEnabledForHeaderBuf ( FrameQBufMgr_Handle  handle)

Function to determine whether cache calls(writeback/invalidate) are enabled for frame headers.

Parameters:
handleInstance handle.
Return values:
TRUEif cache writeback and invalidate calls are enabled
FALSEif cache writeback and invalidate calls are disabled.
Bool FrameQBufMgr_isCacheEnabledForFrameBuf ( FrameQBufMgr_Handle  handle,
UInt8  framebufIndex 
)

Function to determine whether cache calls(writeback/invalidate) are enabled for frame headers.

Parameters:
handleInstance handle.
framebufIndexframe buffer index in frame.
Return values:
TRUEif cache writeback and invalidate calls are enabled
FALSEif cache writeback and invalidate calls are disabled.
Int32 FrameQBufMgr_getNumFreeFrames ( FrameQBufMgr_Handle  handle,
UInt32 numFreeFrames 
)

Function to get the number of free frames availabel in pool 0.

Parameters:
handleInstance handle.
numFreeFramesOut parameter.Denotes number of free frames available in queue 0.
Return values:
FrameQBufMgr_S_SUCCESSOperation successful.
Int32 FrameQBufMgr_control ( FrameQBufMgr_Handle  handle,
Int32  cmd,
Ptr  arg 
)

Provides a hook to perform implementation dependent operation.

Parameters:
handleInstance handle.
cmdCommand to perform.
argvoid * argument.
Return values:
FrameQBufMgr_S_SUCCESSOperation successful.
FrameQBufMgr_E_FAILAPI failed.
UInt32 FrameQBufMgr_getBaseHeaderSize ( UInt8  numFrameBufs)

Function to calcaulate the base frame header size when number of frames in a frame is given.

Parameters:
numFrameBufsNumber of Frame buffers.
Return values:
positivevalue size of the base header size.
Ptr FrameQBufMgr_getKnlHandle ( FrameQBufMgr_Handle  handle)

Function to get the kernel space handle of the instance.

This API is valid only on HLOS side.

Parameters:
handleHandle of the instance.
Return values:
pointerKernel space handle.
Copyright 2014, Texas Instruments Incorporated