02.00.00.68_beta1
============================================================================
Copyright (c) 2008-2009, Texas Instruments Incorporated
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
* Neither the name of Texas Instruments Incorporated nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Contact information for paper mail: Texas Instruments Post Office Box 655303 Dallas, Texas 75265 Contact information: http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm? DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact ============================================================================
Definition in file FrameQBufMgr.h.
#include <ti/syslink/FrameQDefs.h>
#include <ti/syslink/SysLink.h>
#include <ti/ipc/Notify.h>
Include dependency graph for FrameQBufMgr.h:

Go to the source code of this file.
Data Structures | |
| struct | FrameQBufMgr_CreateParams_Tag |
| Common parameters required to create FrameQBufMgr instance of any implementation. It should be the first element of the actual implementaton params structure . 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. It should be the first element of the actual implementaton params structure . More... | |
| struct | FrameQBufMgr_FrameBufParams_Tag |
| Frame buffer param structure. More... | |
| struct | FrameQBufMgr_NotifyParams_Tag |
| Structure defining notification parameter structure. More... | |
Defines | |
| #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 FrameQBufMgr_Object * | FrameQBufMgr_Handle |
| Handle for the FrameQBufMgr instance. | |
| typedef Frame_FrameHeader * | FrameQBufMgr_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 FrameQBufMgr_CreateParams_Tag | FrameQBufMgr_CreateParams |
| Common parameters required to create FrameQBufMgr instance of any implementation. It should be the first element of the actual implementaton params structure . | |
| typedef FrameQBufMgr_CommonOpenParams_Tag | FrameQBufMgr_CommonOpenParams |
| Common parameters required to open a FrameQBufMgr instance of any implementation. | |
| typedef FrameQBufMgr_Params | FrameQBufMgr_Params |
| Common parameters required to create FrameQBufMgr instance of any implementation. It should be the first element of the actual implementaton params structure . | |
| typedef 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 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 | |
| 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. | |
| 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. | |
|
|
Operation can not be permitted or not implemented.
Definition at line 143 of file FrameQBufMgr.h. |
|
|
Not able to allocate the requested frames.Able to allocate only few frames.
Definition at line 189 of file FrameQBufMgr.h. |
|
|
Failed to allocate buffer.
Definition at line 103 of file FrameQBufMgr.h. |
|
|
Failed to allocate frame.
Definition at line 183 of file FrameQBufMgr.h. |
|
|
Failed to allocate memory.
Definition at line 108 of file FrameQBufMgr.h. |
|
|
ClientNotifyMgr open failed.
Definition at line 123 of file FrameQBufMgr.h. |
|
|
Creation of GateMP failed.
Definition at line 128 of file FrameQBufMgr.h. |
|
|
Name server create failed for the module.
Definition at line 113 of file FrameQBufMgr.h. |
|
|
General Failure.
Definition at line 83 of file FrameQBufMgr.h. |
|
|
ClientNotifyMgr create failed.
Definition at line 118 of file FrameQBufMgr.h. |
|
|
FrameQBufMgr instance already exists.
Definition at line 98 of file FrameQBufMgr.h. |
|
|
Insufficient header buffers.
Definition at line 178 of file FrameQBufMgr.h. |
|
|
Invalid frame buffer interface type specified.see enum FrameQBufMgr_FrameBufferInterface for the supported types.
Definition at line 206 of file FrameQBufMgr.h. |
|
|
Invalid Header buffer interface type specified.see enum FrameQBufMgr_FrameHeaderInterface for the supported types.
Definition at line 200 of file FrameQBufMgr.h. |
|
|
Unsupported interface type.
Definition at line 168 of file FrameQBufMgr.h. |
|
|
Invalid MemMgr type specified.
Definition at line 194 of file FrameQBufMgr.h. |
|
|
Invalid arguments are passed to FrameQBufMgr API.
Definition at line 88 of file FrameQBufMgr.h. |
|
|
Module is not initialized.
Definition at line 153 of file FrameQBufMgr.h. |
|
|
Maximum instances limit reached.
Definition at line 138 of file FrameQBufMgr.h. |
|
|
Max instances limit reached. Can not create instance.
Definition at line 163 of file FrameQBufMgr.h. |
|
|
NameServer_add failed.
Definition at line 211 of file FrameQBufMgr.h. |
|
|
Instance not found.
Definition at line 93 of file FrameQBufMgr.h. |
|
|
API is not implemented.
Definition at line 148 of file FrameQBufMgr.h. |
|
|
GateMP open failed.
Definition at line 133 of file FrameQBufMgr.h. |
|
|
Failed to open NameServer.
Definition at line 173 of file FrameQBufMgr.h. |
|
|
Failure in OS call.
Definition at line 158 of file FrameQBufMgr.h. |
|
|
Definition at line 223 of file FrameQBufMgr.h. |
|
|
Defines the frame header structure.
Definition at line 228 of file FrameQBufMgr.h. |
|
|
Maximum number of frame buffers in a frame managed by in FrameQBufMgr instance.
Definition at line 254 of file FrameQBufMgr.h. |
|
|
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.
Definition at line 291 of file FrameQBufMgr.h. |
|
|
Maximum number of free frame pools to be maintained in a instance.
Definition at line 248 of file FrameQBufMgr.h. |
|
|
Maximum number of instances managed by FrameQBufMgr module.
Definition at line 243 of file FrameQBufMgr.h. |
|
|
Maximum length of the name string in bytes.
Definition at line 238 of file FrameQBufMgr.h. |
|
|
Notify Event Number to be used by FrameQBufMgr module.
Definition at line 283 of file FrameQBufMgr.h. |
|
|
Maximum number of dynbuffers managed by each buffer pool in FrameQBufMgr instance.
Definition at line 272 of file FrameQBufMgr.h. |
|
|
Maximum number of additional dynamic free headers managed by FrameQBufMgr instance for each Free Frame pool.
Definition at line 278 of file FrameQBufMgr.h. |
|
|
Maximum number of static free Frames managed by FrameQBufMgr instance Free Frame pool.
Definition at line 260 of file FrameQBufMgr.h. |
|
|
Maximum number of additional static free headers managed by FrameQBufMgr instance for each Free Frame pool.
Definition at line 266 of file FrameQBufMgr.h. |
|
|
Indicates module has been already destroyed.
Definition at line 68 of file FrameQBufMgr.h. |
|
|
Indicates module is already setup.
Definition at line 73 of file FrameQBufMgr.h. |
|
|
Operation successful.
Definition at line 78 of file FrameQBufMgr.h. |
|
|
Enumerations to indicate address types used for translation.
|
|
|
Denotes the type of buffer.
|
|
|
Common parameters required to open a FrameQBufMgr instance of any implementation.
|
|
|
Enumeration of CPU access flags for frame buffers. For frame headers CPUACCESS is assumed to be TRUE..
|
|
|
Common parameters required to create FrameQBufMgr instance of any implementation. It should be the first element of the actual implementaton params structure .
|
|
|
Defines the type for a frame pointer.
Definition at line 233 of file FrameQBufMgr.h. |
|
|
Enumeration of FrameQBufMgr interface types.Denotes different implementation types.
|
|
|
Frame buffer param structure.
|
|
|
Enumeration of FrameQBufMgr interface types.Denotes different implementation types.
|
|
|
Handle for the FrameQBufMgr instance.
Definition at line 216 of file FrameQBufMgr.h. |
|
|
Enumeration of FrameQBufMgr interface types.Denotes different implementation types.
|
|
|
Prototype of the FrameQBufMgr call back function.
Definition at line 476 of file FrameQBufMgr.h. |
|
|
Structure defining notification parameter structure.
|
|
|
Common parameters required to create FrameQBufMgr instance of any implementation. It should be the first element of the actual implementaton params structure .
|
|
|
Enumerations to indicate address types used for translation.
Definition at line 352 of file FrameQBufMgr.h. 00352 { 00353 FrameQBufMgr_AddrType_Virtual = 0u, 00354 /*!< Virtual address on calling process on DSP where MMU is not configured 00355 * it could be the physical address. 00356 */ 00357 FrameQBufMgr_AddrType_Portable = 1u, 00358 /*!< This is the shared region address incase sharedmemory manager plugged 00359 * in to frameQbufMgr. In case of tiler it could be the tiler specific 00360 * portable address 00361 */ 00362 FrameQBufMgr_AddrType_EndValue = 2u 00363 /*!< End delimiter indicating start of invalid values for this enum*/ 00364 }FrameQBufMgr_AddrType;
|
|
|
Denotes the type of buffer.
Definition at line 340 of file FrameQBufMgr.h. 00340 { 00341 FrameQBufMgr_BUF_FRAMEHEADER = 0u, 00342 /*!< Denotes buffer is of type used for frame headers. */ 00343 FrameQBufMgr_BUF_FRAMEBUF = 1u, 00344 /*!< Denotes buffer is of type used for frame buffers */ 00345 FrameQBufMgr_BUF_ENDVALUE = 2u 00346 /*!< End delimiter indicating start of invalid values for this enum */ 00347 }FrameQBufMgr_BufType;
|
|
|
Enumeration of CPU access flags for frame buffers. For frame headers CPUACCESS is assumed to be TRUE..
Definition at line 302 of file FrameQBufMgr.h. 00302 { 00303 FrameQBufMgr_FRAMEBUF0_CPUACCESS = 0x10000, 00304 /*!< If specified first frame buffer is accessed through CPU 00305 * (direct memory access). 00306 */ 00307 FrameQBufMgr_FRAMEBUF1_CPUACCESS = 0x20000, 00308 /*!< If specified second frame buffer is accessed through CPU 00309 * (direct memory access). 00310 */ 00311 FrameQBufMgr_FRAMEBUF2_CPUACCESS = 0x40000, 00312 /*!< If specified third frame buffer is accessed through CPU 00313 * (direct memory access). 00314 */ 00315 FrameQBufMgr_FRAMEBUF3_CPUACCESS = 0x80000, 00316 /*!< If specified fourth frame buffer is accessed through CPU 00317 * (direct memory access). 00318 */ 00319 FrameQBufMgr_FRAMEBUF4_CPUACCESS = 0x100000, 00320 /*!< If specified fifth frame buffer is accessed through CPU 00321 * (direct memory access). 00322 */ 00323 FrameQBufMgr_FRAMEBUF5_CPUACCESS = 0x200000, 00324 /*!< If specified sixth frame buffer is accessed through CPU 00325 * (direct memory access). 00326 */ 00327 FrameQBufMgr_FRAMEBUF6_CPUACCESS = 0x400000, 00328 /*!< If specified seventh frame buffer is accessed through CPU 00329 * (direct memory access). 00330 */ 00331 FrameQBufMgr_FRAMEBUF7_CPUACCESS = 0x800000 00332 /*!< If specified eighth frame buffer is accessed through CPU 00333 * (direct memory access). 00334 */ 00335 } FrameQBufMgr_CpuAccessFlags;
|
|
|
Enumeration of FrameQBufMgr interface types.Denotes different implementation types.
Definition at line 394 of file FrameQBufMgr.h. 00394 { 00395 FrameQBufMgr_BUFINTERFACE_SHAREDMEM = 0x0, 00396 /*!< Denotes FrameQNufMgr implementation (FrameQBufMgr_ShMem 00397 * Implementation) on shared memory. 00398 */ 00399 FrameQBufMgr_BUFINTERFACE_TILERMEM = 0x1, 00400 /*!< valid only on RTOS side for Netra platform. Not valid on HLOS side. 00401 */ 00402 FrameQBufMgr_BUFINTERFACE_NONE = 0x2 00403 } FrameQBufMgr_FrameBufferInterface;
|
|
|
Enumeration of FrameQBufMgr interface types.Denotes different implementation types.
Definition at line 382 of file FrameQBufMgr.h. 00382 { 00383 FrameQBufMgr_HDRINTERFACE_SHAREDMEM = 0x0, 00384 /*!< Denotes FrameQNufMgr headers are from shared memory.Address translations 00385 * will be done using shared region. 00386 */ 00387 FrameQBufMgr_HDRINTERFACE_NONE = 0x1 00388 } FrameQBufMgr_FrameHeaderInterface;
|
|
|
Enumeration of FrameQBufMgr interface types.Denotes different implementation types.
Definition at line 370 of file FrameQBufMgr.h. 00370 { 00371 FrameQBufMgr_INTERFACE_SHAREDMEM = 0x0, 00372 /*!< Denotes FrameQNufMgr implementation (FrameQBufMgr_ShMem 00373 * Implementation) on shared memory. 00374 */ 00375 FrameQBufMgr_INTERFACE_NONE = 0x1 00376 } FrameQBufMgr_Interface;
|
|
||||||||||||
|
Function to add frame. This function is to add free frames dynamically to the given pool id (freeQId). NOTE: API is not implemented. |
|
||||||||||||
|
Function to allocate frame from free frame pool zero. This function allocates a frame when called by FrameQBufMgr. from free Frame Pool zero.
|
|
||||||||||||||||||||
|
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.
|
|
|
Function to close the opened FrameQBufMgr instance. This function closes FrameQBufMgr instance that is opened.
|
|
||||||||||||||||
|
Provides a hook to perform implementation dependent operation.
|
|
|
Function to create FrameQBufMgr instance. This function create a new instance of FrameQBufMgr. It creates frameQBufMgr based on the params specific to implementation.
|
|
|
Function to delete FrameQBufMgr instance. This function delets FrameQBufMgr instance that is created.
|
|
||||||||||||||||||||
|
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.
|
|
||||||||||||||||||||||||
|
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.
|
|
||||||||||||
|
Function to free frame. This function frees a frame.
|
|
||||||||||||||||
|
Function to free multiple frames to the FrameQBufMgr. This function frees multiple frames to the FrameQBufMgr instance.
|
|
|
Function to calcaulate the base frame header size when number of frames in a frame is given.
|
|
|
API to get the handle of the instance.
|
|
|
API to get the ID of the instance.
|
|
|
Function to get the kernel space handle of the instance. This API is valid only on HLOS side.
|
|
||||||||||||
|
Function to get the number of free frames availabel in pool 0.
|
|
||||||||||||
|
Function to invalidate frame. Function to invalidate the contents of frame .
|
|
||||||||||||||||||||
|
Function to invalidate frame buffer. Function to invalidate the contents of frame buffer .
|
|
||||||||||||
|
Invalidate the contents of frame header. API treates the passed buffer as frame Header.
|
|
||||||||||||
|
Function to determine whether cache calls(writeback/invalidate) are enabled for frame headers.
|
|
|
Function to determine whether cache calls(writeback/invalidate) are enabled for frame headers.
|
|
||||||||||||
|
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.
|
|
||||||||||||
|
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.
|
|
||||||||||||
|
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.
|
|
||||||||||||||||
|
Function to remove frame. This function is to remove the frames that is added dynamically. NOTE: API is not implemented. |
|
||||||||||||||||||||||||||||
|
API to translate the given pointer to other address type.
|
|
|
Function to unregister call back function. Function to Register notification with the instance. It internally unregisters notification with the individual free frame pools.
|
|
||||||||||||
|
Function to write back the frame. Function to write back the contents of buffer .
|
|
||||||||||||||||
|
Write back the contents of buffer. Function to write back the contents of buffer . Flags denotes whether it is header buffer or frame buffer..
|
|
||||||||||||||||||||
|
Function to writeback frame buffer. Function to writeback the contents of frame buffer .
|
|
||||||||||||
|
Write back the contents of frame header. API treates the passed buffer as frame Header.
|
1.4.4