interface ti.syslink.ipc.rtos.interfaces.IFrameQBufMgr
XDCspec summary sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
interface IFrameQBufMgr {  ...
    // inherits xdc.runtime.IModule
instance:  ...
XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
 
interface IFrameQBufMgr inherits IFrame {
local proxy modules
    proxy GateProxy inherits IGateProvider;
module-wide constants & types
    const UInt32 DYNAMIC_CREATE// Type of creation = 0x4;
    const UInt32 DYNAMIC_CREATE_USEDREGION// Type of creation = 0x8;
    const UInt32 DYNAMIC_OPEN// Type of open = 0x20;
    const UInt32 FRAMEBUF_CPUACCESSFLAGS_BITOFFSET//  = 16;
    const UInt32 INVALID// Type of open = 0xFF;
    const UInt32 STATIC_CREATE// Type of creation = 0x1;
    const UInt32 STATIC_CREATE_USEDREGION// Type of creation = 0x2;
    const UInt32 STATIC_OPEN// Type of open = 0x10;
    const UInt32 VERSION//  = 1;
 
        AddrType_Virtual,
        AddrType_Portable,
        AddrType_EndValue
    };
 
        BUF_FRAMEHEADER,
        BUF_FRAMEBUF,
        BUF_ENDVALUE
    };
 
        FRAMEBUF0_CPUACCESS,
        FRAMEBUF1_CPUACCESS,
        FRAMEBUF2_CPUACCESS,
        FRAMEBUF3_CPUACCESS,
        FRAMEBUF4_CPUACCESS,
        FRAMEBUF5_CPUACCESS,
        FRAMEBUF6_CPUACCESS,
        FRAMEBUF7_CPUACCESS
    };
 
        INTERFACE_SHAREDMEM,
        INTERFACE_TILERMEM,
        INTERFACE_NONE
    };
 
    typedef IFrame.FrameHeader *Frame// ;
    typedef UInt32 Status// type used for API return code;
 
        UInt32 status;
        UInt32 version;
        UInt32 localProtect;
        UInt32 remoteProtect;
        Ptr gateMPAddr;
        Char name[IFrameQBufMgr.MAX_NAMELEN];
        Ptr sharedDataBufAddr;
        UInt32 sharedAddrSize;
        UInt32 numFreeFramePools;
        UInt32 numNotifyEntries;
        UInt16 entryId;
    };
 
        String name;
        UInt32 cpuAccessFlags;
        Ptr sharedAddr;
        IGateProvider.Handle gate;
    };
 
        UInt32 eventNo;
        Bool useNameServer;
        Bool maxInstances;
    };
 
        IFrameQBufMgr.Attrs attrs;
    };
 
        UInt32 size;
        String name;
        Bool openFlag;
    };
 
        UInt32 bufPtr;
        UInt32 bufSize;
        UInt32 startOffset;
        UInt32 validSize;
        UInt32 pixelFormat;
        UInt32 height;
        UInt32 width;
        UInt32 stride;
    };
 
        UInt32 size;
        UInt32 pixelFormat;
        UInt32 height;
        UInt32 width;
        UInt32 align;
    };
 
        UInt32 reserved0;
        UInt32 reserved1;
        UInt16 baseHeaderSize;
        UInt16 headerSize;
        UInt32 frmAllocaterId;
        UInt32 frameBufType;
        UInt8 freeFrmQueueNo;
        UInt8 numFrameBuffers;
        IFrame.FrameBufInfo frameBufInfo[1];
    };
 
        UInt32 numFrms;
        UInt32 freeFrms;
        UInt32 numFrmHdrBufs;
        UInt32 freeFrmHdrBufs;
        UInt32 frmHdrBufSize;
        UInt32 numBufsInFrame;
        UInt32 numDynamicHdrBufs;
        UInt32 freeDynamicHdrBufs;
        UInt32 numDynamicFrames;
        UInt32 freeDynamicFrames;
        UInt32 frmStartAddrp;
        UInt32 frmEndAddrp;
        UInt32 hdrBufStartAddrp;
        UInt32 hdrBufEndAddrp;
        UInt32 frmBufsStartAddrp;
        UInt32 frmBufsEndAddrp;
        UInt32 frmBufSize[IFrameQBufMgr.MAX_FRAMEBUFS];
        UInt32 frmRefCnt[IFrameQBufMgr.POOL_MAXFRAMES];
        Bool hdrBufIsUsed[IFrameQBufMgr.POOL_MAXHDRS];
    };
 
        SysLink.NotifyType notifyType;
        UInt32 watermark;
        Ptr cbContext;
        Ptr cbClientHandle;
    };
module-wide config parameters
    config UInt32 CACHE_LINESIZE// Cache line size = 128;
 
    metaonly config String tableSection// Section name is used to place the names table = null;
module-wide functions
 
 
instance:
per-instance functions
    Int32 freev// Function to free frames(IFrameQBufMgr.Frame framePtr[], UInt32 numFrames);
    Int32 getvNumFreeFrames// Function to get the number of free frames available in the in the given Free FramePool(UInt32 numFreeFrames[], UInt8 freeFramePoolNo[], UInt8 numFreeFramePools);
    Int32 invalidate// (IFrameQBufMgr.Frame frame);
    Int32 invalidateFrameBuf// (Ptr frameBuf, UInt32 size, UInt8 bufNumInFrame);
    Int32 translateAddr// (Ptr *dstAddr, IFrameQBufMgr.AddrType dstAddrType, Ptr srcAddr, IFrameQBufMgr.AddrType srcAddrType, IFrameQBufMgr.BufType bufType);
}
 
proxy IFrameQBufMgr.GateProxy

IGateProvider Proxy

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
proxy GateProxy inherits IGateProvider;
 
DETAILS
Module used to provide default critical region management when accessing the shared memory. The default is ti.sdo.ipc.gates.GatePeterson.
Requires Arm to be procId 0 or 1 and the DSP be 1 or 0.
 
const IFrameQBufMgr.DYNAMIC_CREATE

Type of creation

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
const UInt32 DYNAMIC_CREATE = 0x4;
 
 
const IFrameQBufMgr.DYNAMIC_CREATE_USEDREGION

Type of creation

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
const UInt32 DYNAMIC_CREATE_USEDREGION = 0x8;
 
 
const IFrameQBufMgr.DYNAMIC_FRAME

Denotes Frame belongs to dynamic frame grougp that are added dynamically at runtime

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
const UInt8 DYNAMIC_FRAME = 2;
 
 
const IFrameQBufMgr.DYNAMIC_OPEN

Type of open

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
const UInt32 DYNAMIC_OPEN = 0x20;
 
 
const IFrameQBufMgr.FRAMEBUF_CPUACCESSFLAGS_BITOFFSET
XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
const UInt32 FRAMEBUF_CPUACCESSFLAGS_BITOFFSET = 16;
 
 
const IFrameQBufMgr.INVALID

Type of open

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
const UInt32 INVALID = 0xFF;
 
 
const IFrameQBufMgr.MAX_FRAMEBUFS

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

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
const UInt32 MAX_FRAMEBUFS = 8;
 
 
const IFrameQBufMgr.MAX_POOLS

Maximum number of Free Frame pools pools managed by FrameQBufMgr instance

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
const UInt32 MAX_POOLS = 64;
 
 
const IFrameQBufMgr.POOL_DYNAMIC_MAXFRAMES

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

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
const UInt32 POOL_DYNAMIC_MAXFRAMES = 1;
 
 
const IFrameQBufMgr.POOL_DYNAMIC_MAXHDRS

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

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
const UInt32 POOL_DYNAMIC_MAXHDRS = 1;
 
 
const IFrameQBufMgr.POOL_MAXFRAMES

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

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
const UInt32 POOL_MAXFRAMES = 32;
 
 
const IFrameQBufMgr.POOL_MAXHDRS

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

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
const UInt32 POOL_MAXHDRS = 64;
 
 
const IFrameQBufMgr.STATIC_CREATE

Type of creation

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
const UInt32 STATIC_CREATE = 0x1;
 
 
const IFrameQBufMgr.STATIC_CREATE_USEDREGION

Type of creation

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
const UInt32 STATIC_CREATE_USEDREGION = 0x2;
 
 
const IFrameQBufMgr.STATIC_FRAME

Denotes Frame belongs to static frames that are populated at create time of the instance

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
const UInt8 STATIC_FRAME = 1;
 
 
const IFrameQBufMgr.STATIC_OPEN

Type of open

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
const UInt32 STATIC_OPEN = 0x10;
 
 
const IFrameQBufMgr.VERSION
XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
const UInt32 VERSION = 1;
 
 
enum IFrameQBufMgr.AddrType

Enumerations to indicate address types used for translation

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
enum AddrType {
    AddrType_Virtual,
    AddrType_Portable,
    AddrType_EndValue
};
 
VALUES
AddrType_Virtual — Virtual address on calling process on DSP where MMU is not configured it could be the physical address.
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
AddrType_EndValue — End delimiter indicating start of invalid values for this enum
 
enum IFrameQBufMgr.BufType

Enumerations to indicate address types used for translation

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
enum BufType {
    BUF_FRAMEHEADER,
    BUF_FRAMEBUF,
    BUF_ENDVALUE
};
 
VALUES
BUF_FRAMEHEADER — Denotes buffer is of type used for frame headers.
BUF_FRAMEBUF — Denotes buffer is of type used for frame buffers
AddrType_EndValue — End delimiter indicating start of invalid values for this enum
 
enum IFrameQBufMgr.CpuAccessFlags

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

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
enum CpuAccessFlags {
    FRAMEBUF0_CPUACCESS,
    FRAMEBUF1_CPUACCESS,
    FRAMEBUF2_CPUACCESS,
    FRAMEBUF3_CPUACCESS,
    FRAMEBUF4_CPUACCESS,
    FRAMEBUF5_CPUACCESS,
    FRAMEBUF6_CPUACCESS,
    FRAMEBUF7_CPUACCESS
};
 
VALUES
FRAMEBUF0_CPUACCESS — If specified first frame buffer is accessed through CPU(direct memory access).
FRAMEBUF1_CPUACCESS — If specified second frame buffer is accessed through CPU(direct memory access).
FRAMEBUF2_CPUACCESS — If specified third frame buffer is accessed through CPU(direct memory access).
FRAMEBUF3_CPUACCESS — If specified fourth frame buffer is accessed through CPU(direct memory access).
FRAMEBUF4_CPUACCESS — If specified fifth frame buffer is accessed through CPU(direct memory access).
FRAMEBUF5_CPUACCESS — If specified sixth frame buffer is accessed through CPU(direct memory access).
FRAMEBUF6_CPUACCESS — If specified seventh frame buffer is accessed through CPU(direct memory access).
FRAMEBUF7_CPUACCESS — If specified eigth frame buffer is accessed through CPU(direct memory access).
 
enum IFrameQBufMgr.Interface

Enumeration of FrameQBufMgr interface types.Denotes different implementation types

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
enum Interface {
    INTERFACE_SHAREDMEM,
    INTERFACE_TILERMEM,
    INTERFACE_NONE
};
 
VALUES
INTERFACE_SHAREDMEM — FrameQNufMgr implementation (FrameQBufMgr_ShMem Implementation) on shared memory.
 
typedef IFrameQBufMgr.Frame
XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
typedef IFrame.FrameHeader *Frame;
 
 
typedef IFrameQBufMgr.NotifyFunc

Prototype of the FrameQbufMgr call back function

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
typedef Void (*NotifyFunc)(IFrameQBufMgr.Handle,Ptr,UInt16);
 
 
typedef IFrameQBufMgr.Status

type used for API return code

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
typedef UInt32 Status;
 
 
struct IFrameQBufMgr.Attrs

Shared control strucrue for the instance attributes

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
struct Attrs {
    UInt32 status;
    UInt32 version;
    UInt32 localProtect;
    UInt32 remoteProtect;
    Ptr gateMPAddr;
    Char name[IFrameQBufMgr.MAX_NAMELEN];
    Ptr sharedDataBufAddr;
    UInt32 sharedAddrSize;
    UInt32 numFreeFramePools;
    UInt32 numNotifyEntries;
    UInt16 entryId;
};
 
FIELDS
status — Flag denoting whether instance is created or not.
version — Version of the instance.
localProtect — Local protection type.See GateMP.LocalProtect
remoteProtect — Remote protection types.See GateMP.RemoteProtect
gateMPAddr — GateMP address (shm safe)
name — Name of the instance.
sharedDataBufAddr — Holds Data buffer start address provided at instance crate time.
sharedAddrSize — The size of the data buffer.
FILED
Number of free frame pools maintained by this instance.
Unique id of the instance in the system. Combination of creator procId and instance no on that processor.
 
struct IFrameQBufMgr.CommonOpenParams

Common paramters requiredto open a FrameQBufMgr instance of any implementation

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
struct CommonOpenParams {
    String name;
    UInt32 cpuAccessFlags;
    Ptr sharedAddr;
    IGateProvider.Handle gate;
};
 
FIELDS
name — Name of the instance to open.
— (cacheFlags) Cache flags to perform cache operations .
sharedAddr — Shared addr in case open by address is required.
gate — gate for protection.
 
struct IFrameQBufMgr.Config

mouduleconfig structure

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
struct Config {
    UInt32 eventNo;
    Bool useNameServer;
    Bool maxInstances;
};
 
FIELDS
sharedAddr — Shared region address for module initialization.
sharedAddrSize — Size of the shared region .
— (cacheFlags) Cache flags to perform cache operations on module wide shared control structure.
eventNo — The event number used for notification.
name — Name for the module.
shCtrlOpenFlag — Boolean flag if set to FALSE, populate the shared control info required between processors for this module. If it set to TRUE, module initialize call opens the shared control info.Ideally master processor set this flag to FALSE to crate the shared control info.
 
struct IFrameQBufMgr.ControlStruct

Shared control structure for the FrameQBufMgr instance

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
struct ControlStruct {
    IFrameQBufMgr.Attrs attrs;
};
 
FIELDS
attrs — Shared control info of type Attrs.
bufPool — Array of buffer pools of type bufPoolList.
 
struct IFrameQBufMgr.CreateParams

Structure defining common instance parameters for the FrameQ module.Should be the first element in the create params strcture of the actual implementation

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
struct CreateParams {
    UInt32 size;
    IFrameQBufMgr.Interface ctrlInterfaceType;
    String name;
    Bool openFlag;
};
 
FIELDS
size — Size of the Create params structure(Should be the size of the actual implementation's Create params structure in which this FrameQ_CreateParams is the first element.
interface — type of implementation. See Interface.
name — Name of the instance.
openFlag — Denotes whether create should actually create/open instance.
 
struct IFrameQBufMgr.FrameBufInfo

Structure of the framebuffer info in frame

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
struct FrameBufInfo {
    UInt32 bufPtr;
    UInt32 bufSize;
    UInt32 startOffset;
    UInt32 validSize;
    UInt32 pixelFormat;
    UInt32 height;
    UInt32 width;
    UInt32 stride;
};
 
FIELDS
bufPtr — Pointer to the frame buffer.
bufSize — Size of the buffer.
startOffSet — Start offset in the buffer from where valid data starts.
validSize — Valid size in the buffer from the zeroth offset in the frame buffer.
height — Pointer to the frame buffer.
width — Size of the buffer.
stride — Multiple of page size and needs to be added to Tile start address in order to get the address starting on next row in same tile.
 
struct IFrameQBufMgr.FrameBufParams

Structure defining common frame buf params for tiled as well as non tiled buffers

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
struct FrameBufParams {
    UInt32 size;
    UInt32 pixelFormat;
    UInt32 height;
    UInt32 width;
    UInt32 align;
};
 
FIELDS
size — size for non tiled buffer. Structure defining parameters for the Tiled data buffers
pixelFormat — pixel format for tiled buffer.
height — height .
width — width .
stride — stride of container, must be multiple of page size.
align — Alignment of the buffer .
 
struct IFrameQBufMgr.FrameHeader

Structure of the base frame header. FrameQ maintains list of frames to be retrieved by FrameQ reader client. Application is expected to use Helper API to extract fileds and exteneded header pointer

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
struct FrameHeader {
    UInt32 reserved0;
    UInt32 reserved1;
    UInt16 baseHeaderSize;
    UInt16 headerSize;
    UInt32 frmAllocaterId;
    UInt32 frameBufType;
    UInt8 freeFrmQueueNo;
    UInt8 numFrameBuffers;
    IFrame.FrameBufInfo frameBufInfo[1];
};
 
FIELDS
baseHeaderSize — Size of the base frame header.
headerSize — Size of the frame header(total size of base header and extended header).
frmAllocaterId — Denotes the FrameQBufMgr Id from which frame is allocated.
freeFrmQueueNo — Free quque No from which frame is allocated in FrameQBufMgr.
numFrameBuffers — Number of framebuffers in a frame.
frameBufInfo — Information of Frame buffer. FrameBufInfo
 
struct IFrameQBufMgr.FreeFramePoolObj

Free Frame pool structure to keep track of the free frames in a frame pool

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
struct FreeFramePoolObj {
    UInt32 numFrms;
    UInt32 freeFrms;
    UInt32 numFrmHdrBufs;
    UInt32 freeFrmHdrBufs;
    UInt32 frmHdrBufSize;
    UInt32 numBufsInFrame;
    UInt32 numDynamicHdrBufs;
    UInt32 freeDynamicHdrBufs;
    UInt32 numDynamicFrames;
    UInt32 freeDynamicFrames;
    UInt32 frmStartAddrp;
    UInt32 frmEndAddrp;
    UInt32 hdrBufStartAddrp;
    UInt32 hdrBufEndAddrp;
    UInt32 frmBufsStartAddrp;
    UInt32 frmBufsEndAddrp;
    UInt32 frmBufSize[IFrameQBufMgr.MAX_FRAMEBUFS];
    UInt32 frmRefCnt[IFrameQBufMgr.POOL_MAXFRAMES];
    UInt32 dynFrame[IFrameQBufMgr.POOL_DYNAMIC_MAXFRAMES];
    UInt32 dynFrmRefCnt[IFrameQBufMgr.POOL_DYNAMIC_MAXFRAMES];
    UInt32 hdrBuf_refCntIndex[IFrameQBufMgr.POOL_MAXHDRS];
    UInt32 dynHdrBuf_refCntIndex[IFrameQBufMgr.POOL_DYNAMIC_MAXHDRS];
    UInt32 dynHdrBufs[IFrameQBufMgr.POOL_DYNAMIC_MAXHDRS];
    Bool hdrBufIsUsed[IFrameQBufMgr.POOL_MAXHDRS];
    Bool dynHdrBufIsUsed[IFrameQBufMgr.POOL_DYNAMIC_MAXHDRS];
    UInt8 hdrBuf_refCntIndexType[IFrameQBufMgr.POOL_MAXHDRS];
    UInt8 dynHdrBuf_refCntIndexType[IFrameQBufMgr.POOL_DYNAMIC_MAXHDRS];
};
 
 
struct IFrameQBufMgr.NotifyParams

Structure defining notification parameter structure

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
struct NotifyParams {
    SysLink.NotifyType notifyType;
    UInt32 watermark;
    IFrameQBufMgr.NotifyFunc cbFxnPtr;
    Ptr cbContext;
    Ptr cbClientHandle;
};
 
FIELDS
notifyType — notification type.See SysLink.NotifyType.
watermark — Minumum number of free frames required to generate notification Same water mark for all the individual freeFramePools in the set.
cbFxnPtr — Cacll back function.
cbContext — Context pointer that needs to be passed to call back function.
cbClientHandle — Handle that needs to be passed as first arg to call back.Ideally this should be callers client handle.
 
config IFrameQBufMgr.Attrs_STRUCT_PADDING  // module-wide

Padding required for the Attrs structure

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
config UInt32 Attrs_STRUCT_PADDING = ((IFrameQBufMgr.CACHE_LINESIZE - ((4 * 8) + (IFrameQBufMgr.MAX_NAMELEN) + 2)) / 2);
 
 
config IFrameQBufMgr.CACHE_LINESIZE  // module-wide

Cache line size

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
config UInt32 CACHE_LINESIZE = 128;
 
 
config IFrameQBufMgr.MAXINSTANCES  // module-wide

Maximum number of instances that can be created for this module

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
config UInt32 MAXINSTANCES = 64;
 
 
config IFrameQBufMgr.MAX_NAMELEN  // module-wide

Maximum length of the name strings

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
config UInt32 MAX_NAMELEN = 32;
 
 
config IFrameQBufMgr.NOTIFY_RESERVED_EVENTNO  // module-wide

Event Number to be used by FrameQBufMgr module

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
config UInt32 NOTIFY_RESERVED_EVENTNO = 3;
 
 
config IFrameQBufMgr.nameServer  // module-wide

Handle to the name server

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
config NameServer.Handle nameServer = null;
 
 
config IFrameQBufMgr.usedefaultgate  // module-wide

If set to true FrameQBufMgr instances will use dafault gate set in FrameQBufMgr. If default gate is not set in FrameQBufMgr, it uses GateMP's default gate. Set it to zero if FrameQBufMgr needs to create gate for a instance (remoteProtect and localProtect flags should be valid in params in this case)

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
config Bool usedefaultgate = false;
 
 
metaonly config IFrameQBufMgr.common$  // module-wide

Common module configuration parameters

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
metaonly config Types.Common$ common$;
 
DETAILS
All modules have this configuration parameter. Its name contains the '$' character to ensure it does not conflict with configuration parameters declared by the module. This allows new configuration parameters to be added in the future without any chance of breaking existing modules.
 
metaonly config IFrameQBufMgr.nameSrvPrms  // module-wide

This Params object is used for temporary storage of the module wide parameters that are for setting the NameServer instance

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
metaonly config NameServer.Params nameSrvPrms;
 
 
metaonly config IFrameQBufMgr.tableSection  // module-wide

Section name is used to place the names table

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
metaonly config String tableSection = null;
 
 
metaonly config IFrameQBufMgr.useNameServer  // module-wide

Whether to have this module use the NameServer or not

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
metaonly config Bool useNameServer = true;
 
DETAILS
Currently defaulted to false because static creation of NameServer instances is not supported.
 
IFrameQBufMgr.getConfig()  // module-wide

Initialize the passed pointer with the current parameters

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
Int32 getConfig(IFrameQBufMgr.Config *cfgParams);
 
ARGUMENTS
cfgParams — Pointer to parameter structure to be initialized.
 
IFrameQBufMgr.getHandle()  // module-wide

Function to create a nameServer

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
Ptr getHandle(UInt32 id);
 
ARGUMENTS
id — Id of the FrameQBufMgr instance.
RETURNS
Returns instance handle if it is created or opened on the caller processor.
 
IFrameQBufMgr.add()  // instance

Function to add free frames dynamically which are allocated out side of FrmaeQbufMgr through the same memory manager

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
Ptr add(UInt8 freeQId);
 
ARGUMENTS
freeQId — freeFrame Pool No to whcih the frame needs to be added.
framePtr — frame to be added.
RETURNS
returns 0 if successfully added the frame.
 
IFrameQBufMgr.alloc()  // instance

Function to allocate a buffer from the FrameQBufMgr instance

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
Int32 alloc(IFrameQBufMgr.Frame *frame);
 
ARGUMENTS
frame — Location to receive the allocated frame pointer.
RETURNS
returns 0 if successfully allocated the buffer.
 
IFrameQBufMgr.allocv()  // instance

Function to allocate multiple frames from the FrameQBufMgr instance from the free Frame pool nos given

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
Int32 allocv(IFrameQBufMgr.Frame framePtr[], UInt32 freeQId[], UInt8 *numFrames);
 
ARGUMENTS
framePtr — array of pointers to receive allocate frame pointers.
freeQId — array of freeFrame poolNos to allocate frames from. if API retruns success, this represents ths actual size of the buffer allocated.
numFrames — Number of frames to allocate.
RETURNS
returns value greater than zero if successfully allocated frames.
 
IFrameQBufMgr.control()  // instance

Provides a hook to perform implementation dependent operation

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
Int32 control(Int32 cmd, Ptr arg);
 
ARGUMENTS
cmd — command to exectue.
arg — argument of type void*.
 
IFrameQBufMgr.dup()  // instance

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

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
Int32 dup(IFrameQBufMgr.Frame framePtr, IFrameQBufMgr.Frame dupedFramePtr[], UInt32 numDupedFrames);
 
ARGUMENTS
buf — Pointer to the frame which needs to be duplicated.
size — Size of the buffer.
dupCount — Duplication count.
 
IFrameQBufMgr.dupv()  // instance

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

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
Int32 dupv(IFrameQBufMgr.Frame framePtr[], IFrameQBufMgr.Frame **dupedFramePtr, UInt32 numDupedFrames, UInt32 numFrames);
 
ARGUMENTS
buf — Pointer to the frames which needs to be duplicated.
size — Size of the buffer.
dupCount — Duplication count.
 
IFrameQBufMgr.free()  // instance

Function to free frame

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
Int32 free(IFrameQBufMgr.Frame frame);
 
ARGUMENTS
frame — frame to be freed.
RETURNS
returns 0 if successfully freed the allocated buffer.
 
IFrameQBufMgr.freev()  // instance

Function to free frames

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
Int32 freev(IFrameQBufMgr.Frame framePtr[], UInt32 numFrames);
 
ARGUMENTS
framePtr — array of frames to be freed.
RETURNS
returns 0 if successfully freed the allocated frames.
 
IFrameQBufMgr.getId()  // instance

Function to get the id of the instance

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
UInt32 getId();
 
RETURNS
Returns FrameQBufMgr Id for the handle.
 
IFrameQBufMgr.getNumFreeFrames()  // instance

Function to get the number of free frames available in the in FrameQbufMgr's FreeFramePool 0. The returned number free frame may not exist in the frameQbufMgr after this call.This is because if any allocs are done by the other FrameQ writers on the same FrameQBufMgr.If frees are not other frameQ writers the free Frames would be even more than the value that we have got

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
Int32 getNumFreeFrames(UInt32 *numFreeFrames);
 
ARGUMENTS
numFrames — Outputparameter indicates number of free frames .
RETURNS
returns 0 if successfully returned the number of free frames.
 
IFrameQBufMgr.getvNumFreeFrames()  // instance

Function to get the number of free frames available in the in the given Free FramePool

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
Int32 getvNumFreeFrames(UInt32 numFreeFrames[], UInt8 freeFramePoolNo[], UInt8 numFreeFramePools);
 
ARGUMENTS
numFreeFrames — Outputparameter indicates number of free frames in each given free quque at that instance.
filledQId — Array of free Queue ids(freeFramePool nos).
numFreeQids — Number of free queueids same as freeFrame PoolNo of plugged in FrameQBufMgr .
RETURNS
returns 0 if successfully returned the frames.
 
IFrameQBufMgr.invalidate()  // instance
XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
Int32 invalidate(IFrameQBufMgr.Frame frame);
 
 
IFrameQBufMgr.invalidateFrameBuf()  // instance
XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
Int32 invalidateFrameBuf(Ptr frameBuf, UInt32 size, UInt8 bufNumInFrame);
 
 
IFrameQBufMgr.invalidateHeaderBuf()  // instance

invalidates contents of buffer . buffer is treated as frame header

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
Int32 invalidateHeaderBuf(Ptr headerBuf);
 
 
IFrameQBufMgr.isCacheEnabledForFrameBuf()  // instance

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

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
Bool isCacheEnabledForFrameBuf(UInt8 framebufIndex);
 
 
IFrameQBufMgr.isCacheEnabledForHeaderBuf()  // instance

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

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
Bool isCacheEnabledForHeaderBuf();
 
 
IFrameQBufMgr.registerNotifier()  // instance

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

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
Int32 registerNotifier(IFrameQBufMgr.NotifyParams *notifyParams);
 
ARGUMENTS
notifyParams — Pointer to NotifyParams structure.
RETURNS
returns >0 if successfully registered the call back function.
 
IFrameQBufMgr.remove()  // instance

Function to remove dynamically added frames which are allocated out side of FrmaeQbufMgr through the same memory managers that are plugged in to FrameQBufMgr instance

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
Int32 remove(UInt8 freeQId, IFrameQBufMgr.Frame framePtr);
 
ARGUMENTS
freeQId — freeFrame Pool No to whcih the frame needs to be added.
framePtr — frame to be added.
RETURNS
returns 0 if successfully added the frame.
 
IFrameQBufMgr.translateAddr()  // instance
XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
Int32 translateAddr(Ptr *dstAddr, IFrameQBufMgr.AddrType dstAddrType, Ptr srcAddr, IFrameQBufMgr.AddrType srcAddrType, IFrameQBufMgr.BufType bufType);
 
 
IFrameQBufMgr.unregisterNotifier()  // instance

Function to unregister the registered call back function with the instance.

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
Int32 unregisterNotifier();
 
RETURNS
Returns positive value if successfully unregistered the call back function.
 
IFrameQBufMgr.writeBack()  // instance

Write back the contents of a frame including frame buffers

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
Int32 writeBack(IFrameQBufMgr.Frame frame);
 
 
IFrameQBufMgr.writeBackFrameBuf()  // instance

Write back the contents of buffer . buffe is treated as frame buffer. bufNumInFrame denotes buffer number in the frame.This is to identify the cache flags and cpu access flags for the buffer

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
Int32 writeBackFrameBuf(Ptr frameBuf, UInt32 size, UInt8 bufNumInFrame);
 
 
IFrameQBufMgr.writeBackHeaderBuf()  // instance

Write back the contents of buffer.buffer is treated as frame header

XDCspec declarations sourced in ti/syslink/ipc/rtos/interfaces/IFrameQBufMgr.xdc
Int32 writeBackHeaderBuf(Ptr headerBuf);
 
generated on Fri, 16 Sep 2011 18:57:41 GMT