Framework Components Application Programming Interface (API): Framework Components API Reference

  • Main Page
  • Modules
  • Data Structures
  • Files
  • Directories
  • Related Pages

Framework Components API Reference

fc-r14

Modules

The Framework Components are made up of the following modules:

  • IALG Management
    • DSKT2 - XDAIS utility library for instantiating XDAIS algorithms, and managing their memory resources.
  • MEMUTILS Memory APIs
    • MEMUTILS - API for cache management functions called by algorithms. Also has APIs for managing address translation on devices with MMUs.
  • General Purpose Resource Management
    • RMAN - Generic Resource Manager Interface and common library.
    • IRESMAN Interfaces for developing IRES resources and resource managers.

In addition, several specific resource management interfaces are managed within the Framework Components product:

  • EDMA3 Resources
    • IRES_EDMA3CHAN - EDMA3 specific IRES Protocol implementation.
    • IRESMAN_EDMA3CHAN - EDMA3 specific IRESMAN implementation.
    • ECPY - High-Performance Functional DMA library for EDMA3-based devices that interfaces with algorithms implementing the IRES_EDMA3CHAN2 interface.
  • HDVICP Resources
    • IRES_HDVICP - HDVICP specific IRES Protocol implementation.
    • IRESMAN_HDVICP - HDVICP specific IRESMAN implementation.
    • IRES_HDVICP2 - HDVICP specific IRES Protocol implementation.
    • IRESMAN_HDVICP2 - HDVICP specific IRESMAN implementation for Netra/OMAP4 devices.
  • VICP Resources
    • IRES_VICP - VICP specific IRES Protocol implementation.
    • IRES_VICP2 - VICP specific IRES Protocol implementation for DM36x VICP.
    • IRESMAN_VICP - VICP specific IRESMAN implementation.
    • IRESMAN_VICP2 - VICP specific IRESMAN implementation for DM36x VICP.
  • SDMA Resources
    • IRES_SDMA - SDMA specific IRES protocol implementation.
    • IRESMAN_SDMA - SDMA specific IRESMAN implementation.
    • SCPY - Functional SDMA Interface and library for SDMA usage in OMAP3 devices.
  • Tiled Memory Resources
    • IRES_TILEDMEMORY - Tiled memory IRES protocol implementation.
    • IRESMAN_TILEDMEMORY - Tiled memory resource manager (IRESMAN) implementation.
Copyright 2012, Texas Instruments Incorporated


Framework Components Application Programming Interface (API):

  • Files
  • Directories
  • Related Pages
disclaimer.html
IMPORTANT NOTICE
Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections, modifications, enhancements, improvements, and other changes to its products and services at any time and to discontinue any product or service without notice. Customers should obtain the latest relevant information before placing orders and should verify that such information is current and complete. All products are sold subject to TI's terms and conditions of sale supplied at the time of order acknowledgment.
TI warrants performance of its hardware products to the specifications applicable at the time of sale in accordance with TI's standard warranty. Testing and other quality control techniques are used to the extent TI deems necessary to support this warranty. Except where mandated by government requirements, testing of all parameters of each product is not necessarily performed.
TI assumes no liability for applications assistance or customer product design. Customers are responsible for their products and applications using TI components. To minimize the risks associated with customer products and applications, customers should provide adequate design and operating safeguards.
TI does not warrant or represent that any license, either express or implied, is granted under any TI patent right, copyright, mask work right, or other TI intellectual property right relating to any combination, machine, or process in which TI products or services are used. Information published by TI regarding third party products or services does not constitute a license from TI to use such products or services or a warranty or endorsement thereof. Use of such information may require a license from a third party under the patents or other intellectual property of that third party, or a license from TI under the patents or other intellectual property of TI.
Reproduction of information in TI data books or data sheets is permissible only if reproduction is without alteration and is accompanied by all associated warranties, conditions, limitations, and notices. Reproduction of this information with alteration is an unfair and deceptive business practice. TI is not responsible or liable for such altered documentation.
Resale of TI products or services with statements different from or beyond the parameters stated by TI for that product or service voids all express and any implied warranties for the associated TI product or service and is an unfair and deceptive business practice. TI is not responsible or liable for any such statements.
Mailing Address:
Texas Instruments
Post Office Box 655303
Dallas, Texas 75265


Framework Components Application Programming Interface (API): Module Index

Modules

Here is a list of all modules:
  • IALG - XDAIS Algorithm Interface
  • IRES
  • DSKT2
  • ECPY (C64P)
  • Resource manager interface
  • MEMUTILS
  • Resource Manager for IRES-based resources
  • XDAIS Types and Constants
  • IRES EDMA3 Protocol
  • IRESMAN EDMA3 -
  • IRES HDVICP Protocol
  • IRES HDVICP2 Protocol
  • IRESMAN PROTOCOL - HDVICP
  • IRES TILEDMEMORY Protocol (Beta)
  • IRESMAN TILEDMEM
  • IRES VICP Protocol
  • IRES VICP2 Protocol
  • IRESMAN PROTOCOL - VICP
  • IRESMAN PROTOCOL - VICP


Framework Components Application Programming Interface (API): IALG - XDAIS Algorithm Interface

Defines | Data Structures | Typedefs | Enumerations

IALG - XDAIS Algorithm Interface

Defines

#define | IALG_DEFMEMRECS 4
#define | IALG_OBJMEMREC 0
#define | IALG_SYSCMD 256
#define | IALG_EOK 0
#define | IALG_EFAIL (-1)
#define | IALG_CUSTOMFAILBASE (-2048)
#define | IALG_CUSTOMFAILEND (-256)
#define | IALG_MPROG 0x0008
#define | IALG_MXTRN 0x0010
#define | IALG_isProg(s)
#define | IALG_isOffChip(s)

Data Structures

struct | IALG_MemRec
Memory records. More...
struct | IALG_Obj
Algorithm instance object definition. More...
struct | IALG_Params
Algorithm instance creation parameters. More...
struct | IALG_Status
Pointer to algorithm specific status structure. More...
struct | IALG_Fxns
Defines the fields and methods that must be supplied by all XDAIS algorithms. More...

Typedefs

typedef enum IALG_MemAttrs | IALG_MemAttrs
Memory attributes.
typedef enum IALG_MemSpace | IALG_MemSpace
Defined memory spaces.
typedef struct IALG_MemRec | IALG_MemRec
Memory records.
typedef struct IALG_Obj | IALG_Obj
Algorithm instance object definition.
typedef struct IALG_Obj * | IALG_Handle
Handle to an algorithm instance object.
typedef struct IALG_Params | IALG_Params
Algorithm instance creation parameters.
typedef struct IALG_Status | IALG_Status
Pointer to algorithm specific status structure.
typedef unsigned int | IALG_Cmd
Algorithm specific command.
typedef struct IALG_Fxns | IALG_Fxns
Defines the fields and methods that must be supplied by all XDAIS algorithms.

Enumerations

enum IALG_MemAttrs {
IALG_SCRATCH,
IALG_PERSIST,
IALG_WRITEONCE
}

Memory attributes.

More...
enum IALG_MemSpace {
IALG_EPROG,
IALG_IPROG,
IALG_ESDATA,
IALG_EXTERNAL,
IALG_DARAM0 = 0,
IALG_DARAM1 = 1,
IALG_SARAM = 2,
IALG_SARAM0 = 2,
IALG_SARAM1 = 3,
IALG_DARAM2 = 4,
IALG_SARAM2 = 5
}

Defined memory spaces.

More...

Detailed Description

This is the XDAIS IALG interface.

Define Documentation

#define IALG_DEFMEMRECS 4

Default number of memory records.

#define IALG_OBJMEMREC 0

Memory record index of instance object.

#define IALG_SYSCMD 256

Minimum "system" IALG_Cmd value.

#define IALG_EOK 0

Successful return status code.

#define IALG_EFAIL (-1)

Unspecified error return status code.

#define IALG_CUSTOMFAILBASE (-2048)

Algorithm-specific failure code end.

Remarks:
This is 0xfffff800.
#define IALG_CUSTOMFAILEND (-256)

Algorithm-specific failure code base.

Remarks:
This is 0xffffff00.
#define IALG_MPROG 0x0008

Program memory space bit.

#define IALG_MXTRN 0x0010

External memory space bit.

#define IALG_isProg ( s )
Value:
(        \
    (((int)(s)) & IALG_MPROG)   \
)
#define IALG_isOffChip ( s )
Value:
(     \
    (((int)(s)) & IALG_MXTRN)   \
)

Typedef Documentation

typedef enum IALG_MemAttrs IALG_MemAttrs

Memory attributes.

typedef enum IALG_MemSpace IALG_MemSpace

Defined memory spaces.

typedef struct IALG_MemRec IALG_MemRec

Memory records.

typedef struct IALG_Obj IALG_Obj

Algorithm instance object definition.

Remarks:
All XDAIS algorithm instance objects must have this structure as their first element. However, they do not need to initialize it; initialization of this sub-structure is done by the "framework".
typedef struct IALG_Obj* IALG_Handle

Handle to an algorithm instance object.

typedef struct IALG_Params IALG_Params

Algorithm instance creation parameters.

Remarks:
All XDAS algorithm parameter structures must have this as their first element.
typedef struct IALG_Status IALG_Status

Pointer to algorithm specific status structure.

Remarks:
All XDAIS algorithm parameter structures must have this as their first element.
typedef unsigned int IALG_Cmd

Algorithm specific command.

Remarks:
This command is used in conjunction with IALG_Status to get and set algorithm specific attributes via the algControl() method.
typedef struct IALG_Fxns IALG_Fxns

Defines the fields and methods that must be supplied by all XDAIS algorithms.

Enumeration Type Documentation

enum IALG_MemAttrs

Memory attributes.

Enumerator:
IALG_SCRATCH

Scratch memory.

IALG_PERSIST

Persistent memory.

IALG_WRITEONCE

Write-once persistent memory.

enum IALG_MemSpace

Defined memory spaces.

Enumerator:
IALG_EPROG

External program memory Program memory space bit. External memory space bit.

IALG_IPROG

Internal program memory Program memory space bit.

IALG_ESDATA

Off-chip data memory (accessed sequentially) External memory space bit.

IALG_EXTERNAL

Off-chip data memory (accessed randomly) External memory space bit.

IALG_DARAM0

Dual access on-chip data memory

IALG_DARAM1

Block 1, if independant blocks required

IALG_SARAM

Single access on-chip data memory

IALG_SARAM0

Block 0, equivalent to IALG_SARAM

IALG_SARAM1

Block 1, if independant blocks required

IALG_DARAM2

Block 2, if a 3rd independent block required

IALG_SARAM2

Block 2, if a 3rd independent block required


Framework Components Application Programming Interface (API): IRES

Data Structures | Typedefs | Enumerations

IRES

Data Structures

struct | IRES_YieldContext
Specifies the algorithm specific handles and context save & restore function pointers and arguments that the framework will call during a context switch. More...
struct | IRES_Fxns
These fxns are used to query/grant the resources requested by the algorithm at initialization time, and to change these resources at runtime. All these fxns are implemented by the algorithm, and called by the client of the algorithm. More...

Typedefs

typedef enum IRES_YieldResourceType | IRES_YieldResourceType
typedef Void(* | IRES_ContextSaveFxn )(IALG_Handle algHandle, Void *contextArgs)
typedef Void(* | IRES_ContextRestoreFxn )(IALG_Handle algHandle, Void *contextArgs)
typedef struct IRES_YieldContext | IRES_YieldContext
Specifies the algorithm specific handles and context save & restore function pointers and arguments that the framework will call during a context switch.
typedef IRES_YieldContext * | IRES_YieldContextHandle
typedef Void * | IRES_YieldArgs
typedef Void(* | IRES_YieldFxn )(IRES_YieldResourceType resourceType, IRES_YieldContextHandle algYieldContext, IRES_YieldArgs yieldArgs)
The 'yield function' pointer and 'yield arguments' are supplied to an algorithm during its IRES interface 'initialization'. The algorithm optionally calls the yield function during its 'process' stages for co-operative multi-tasking and pre-emption by a higher priority algorithm.
typedef struct IRES_Fxns | IRES_Fxns
These fxns are used to query/grant the resources requested by the algorithm at initialization time, and to change these resources at runtime. All these fxns are implemented by the algorithm, and called by the client of the algorithm.

Enumerations

enum IRES_YieldResourceType {
IRES_ALL = 0,
IRES_SCRATCHMEMORY,
IRES_SCRATCHDMA,
IRES_RESOURCEHANDLE
}

enum IRES_Status {
IRES_OK = 0,
IRES_EALG = 1,
IRES_EEXISTS = 2,
IRES_EFAIL = 3,
IRES_EINIT = 4,
IRES_ENOINIT = 5,
IRES_ENOMEM = 6,
IRES_ENORESOURCE = 7,
IRES_ENOTFOUND = 8
}

IRES_Status defines the standard error and success codes returned by IRES APIs.

More...
enum IRES_RequestMode {
IRES_SCRATCH,
IRES_PERSISTENT,
IRES_LATEACQUIRE
}

Mode in which resources can be requested.

More...
typedef enum IRES_Status | IRES_Status
IRES_Status defines the standard error and success codes returned by IRES APIs.
typedef struct
IRES_ProtocolRevision 		IRES_ProtocolRevision
Protocol revision type. Used to ensure the given 'protocol' revision can be validated.
typedef enum IRES_RequestMode | IRES_RequestMode
Mode in which resources can be requested.
typedef struct IRES_ProtocolArgs | IRES_ProtocolArgs
Abstract Protocol Arguments structure definition. Actual arguments passed by the algorithm to request a resource from a specific IRES Protocol will extend and supply the concrete definitions.
typedef struct
IRES_ResourceDescriptor 		IRES_ResourceDescriptor
Descriptor to Logical Resource.
typedef struct IRES_Properties | IRES_Properties
Abstract Resource Properties structure/pointer definition. Actual resource protocol will supply the concrete property definitions. The list of attributes for the actual resource will expose the relevant features that needs to be known to a client to use the resource, such as: resource register base addresses and offsets, critical register and memory region addresses, ...
typedef struct IRES_Obj | IRES_Obj
IRES_Obj holds the private state associated with each logical resource.
typedef struct IRES_Obj * | IRES_Handle
Handle to "logical" resource.

Detailed Description

The IRES interface enables algorithms to request and receive handles representing private logical resources.

Typedef Documentation

typedef enum IRES_YieldResourceType IRES_YieldResourceType
typedef Void(* IRES_ContextSaveFxn)(IALG_Handle algHandle, Void *contextArgs)
typedef Void(* IRES_ContextRestoreFxn)(IALG_Handle algHandle, Void *contextArgs)
typedef struct IRES_YieldContext IRES_YieldContext

Specifies the algorithm specific handles and context save & restore function pointers and arguments that the framework will call during a context switch.

typedef IRES_YieldContext* IRES_YieldContextHandle
typedef Void* IRES_YieldArgs
typedef Void(* IRES_YieldFxn)(IRES_YieldResourceType resourceType, IRES_YieldContextHandle algYieldContext, IRES_YieldArgs yieldArgs)

The 'yield function' pointer and 'yield arguments' are supplied to an algorithm during its IRES interface 'initialization'. The algorithm optionally calls the yield function during its 'process' stages for co-operative multi-tasking and pre-emption by a higher priority algorithm.

An operating system level context switch may occur during the yield call. Whenever a context switch occurs, all scratch resources owned by the yielding algorithm must be context saved prior to the context switch and restored and initialized prior to 'resumption' by the framework/application. The 'yielding' algorithm must supply the IRES_YieldContext and the 'yield arguments' it received during IRES initialization. The framework calls the context save & restore functions provided by the yielding algorithm's IRES_YieldContext.

typedef struct IRES_Fxns IRES_Fxns

These fxns are used to query/grant the resources requested by the algorithm at initialization time, and to change these resources at runtime. All these fxns are implemented by the algorithm, and called by the client of the algorithm.

typedef enum IRES_Status IRES_Status

IRES_Status defines the standard error and success codes returned by IRES APIs.

typedef struct IRES_ProtocolRevision IRES_ProtocolRevision

Protocol revision type. Used to ensure the given 'protocol' revision can be validated.

typedef enum IRES_RequestMode IRES_RequestMode

Mode in which resources can be requested.

typedef struct IRES_ProtocolArgs IRES_ProtocolArgs

Abstract Protocol Arguments structure definition. Actual arguments passed by the algorithm to request a resource from a specific IRES Protocol will extend and supply the concrete definitions.

typedef struct IRES_ResourceDescriptor IRES_ResourceDescriptor

Descriptor to Logical Resource.

typedef struct IRES_Properties IRES_Properties

Abstract Resource Properties structure/pointer definition. Actual resource protocol will supply the concrete property definitions. The list of attributes for the actual resource will expose the relevant features that needs to be known to a client to use the resource, such as: resource register base addresses and offsets, critical register and memory region addresses, ...

typedef struct IRES_Obj IRES_Obj

IRES_Obj holds the private state associated with each logical resource.

typedef struct IRES_Obj* IRES_Handle

Handle to "logical" resource.

Enumeration Type Documentation

enum IRES_YieldResourceType
Enumerator:
IRES_ALL

Yielding all resources held by the algorithm.

IRES_SCRATCHMEMORY

Yielding all scratch memory resources held by the algorithm.

IRES_SCRATCHDMA

Yielding all IDMA3 resources held by the algorithm.

IRES_RESOURCEHANDLE

Yielding IRES resource handle only.

enum IRES_Status

IRES_Status defines the standard error and success codes returned by IRES APIs.

Enumerator:
IRES_OK

Success

IRES_EALG

Error in algorithm IRES_Fxns functions

IRES_EEXISTS

Error, already exists

IRES_EFAIL

Generic Error Message

IRES_EINIT

Error, already initialized

IRES_ENOINIT

Error, not initialized

IRES_ENOMEM

Error, not enough memory

IRES_ENORESOURCE

Error, resource unavailable

IRES_ENOTFOUND

Error, not found

enum IRES_RequestMode

Mode in which resources can be requested.

Enumerator:
IRES_SCRATCH

Indicates that resource requested can be shared with other algorithms in the same group.

IRES_PERSISTENT

Indicates that resource requested for allocation exclusively for this algorithm.

IRES_LATEACQUIRE

Indicates that resource requested will not be granted immediately, but afterwards. Specific IRES APIs will need to be called, to ensure that a particular algorithm is the only user of these resources.


Framework Components Application Programming Interface (API): DSKT2

Functions | Defines | Typedefs | Variables

DSKT2

Functions

Void | DSKT2_activateAlg (Int scratchMutexId, IALG_Handle alg)
Prepares a XDAIS algorithm instance object to start using its scratch memory.
Int | DSKT2_controlAlg (IALG_Handle alg, IALG_Cmd cmd, IALG_Status *status)
This is a convenience API to call a XDAIS algorithm instance's algControl function.
IALG_Handle | DSKT2_createAlg (Int scratchMutexId, IALG_Fxns *fxns, IALG_Handle parent, IALG_Params *params)
Creates and initializes a XDAIS algorithm instance object.
IALG_Handle | DSKT2_createAlg2 (Int scratchMutexId, IALG_Fxns *fxns, IALG_Handle parent, IALG_Params *params, xdc_runtime_IHeap_Handle extHeapId)
Creates and initializes a XDAIS algorithm instance object.
IALG_Handle | DSKT2_createAlgExt (Int scratchId, IALG_Fxns *fxns, IALG_Handle parent, IALG_Params *params)
Creates and initializes a XDAIS algorithm instance object, allocating all algorithm memory in external memory.
Void | DSKT2_deactivateAlg (Int scratchMutexId, IALG_Handle alg)
Prepares a XDAIS algorithm instance object to give up using its scratch memory.
Int | DSKT2_deactivateAll ()
All algorithms that have been deactivated lazily are now really deactivate. Any algorithms that are still currently active will be left as is. The number of algorithms that are still active will be returned from this call.
Bool | DSKT2_freeAlg (Int scratchMutexId, IALG_Handle alg)
Deletes a XDAIS algorithm instance object and frees all persistent memory allocated for the instance object.
Bool | DSKT2_allocScratch (IALG_Handle alg, Int mutexId, IALG_MemRec *memTab, Int numRecs)
Alocates memory from a DSKT2 shared scratch group buffer.
Int | DSKT2_getScratchId (IALG_Handle alg)
Void | DSKT2_freeScratch (Int mutexId, Void *addr, UInt size)
Alocates memory from a DSKT2 shared scratch group buffer.
Bool | DSKT2_allocPersistent (IALG_MemRec *memTab, Int numRecs)
Alocates persistent memory to the requesting algorithm.
Void | DSKT2_freePersistent (IALG_MemRec *memTab, Int numRecs)
Frees persistent memory from the requesting algorithm.

Defines

#define | DSKT2_NUM_SCRATCH_GROUPS 20
#define | DSKT2_MAX_MEM_ALLOCATION_SIZE 0xFFFF
#define | DSKT2_NUM_SHAREDHEAPS 2
#define | DSKT2_MODNAME "ti.sdo.fc.dskt2"
Name to pass to Diags_setMask() to enable logging for DSKT2 functions. For example, Diags_setMask(DSKT2_MODNAME"+EX1234567"); turns on all Log statements in this module. Diags_setMask() must be called after initialization to take effect.

Typedefs

typedef Void(* | DSKT2_CacheWBInvFxn )(Ptr blockPtr, size_t byteCnt, Bool wait)
Function prototype of cache writeback function: Writes back the memory within the range of blockPtr and blockPtr + byteCnt.

Variables

__FAR__ DSKT2_CacheWBInvFxn | DSKT2_cacheWBInvFxn
Cache writeback function pointer used by DSKT2 if not NULL.
xdc_runtime_IHeap_Handle | DSKT2_daram0Heap
xdc_runtime_IHeap_Handle | DSKT2_daram1Heap
xdc_runtime_IHeap_Handle | DSKT2_daram2Heap
xdc_runtime_IHeap_Handle | DSKT2_saram0Heap
xdc_runtime_IHeap_Handle | DSKT2_saram1Heap
xdc_runtime_IHeap_Handle | DSKT2_saram2Heap
xdc_runtime_IHeap_Handle | DSKT2_iprogHeap
xdc_runtime_IHeap_Handle | DSKT2_eprogHeap
xdc_runtime_IHeap_Handle | DSKT2_esdataHeap
xdc_runtime_IHeap_Handle | _DSKT2_heap
__FAR__ UInt | _DSKT2_ALLOW_EXTERNAL_SCRATCH
UInt | _DSKT2_DARAM_SCRATCH_SIZES []
UInt | _DSKT2_SARAM_SCRATCH_SIZES []
__FAR__ Bool | ti_sdo_fc_dskt2_DSKT2_disableLazyDeactivate
Set this to TRUE to disable lazy deactivate feature in DSKT2.

Detailed Description

The XDAIS Socket Library provides services to support the creation, initialization, control, and deletion of XDAIS algorithm instance objects.

Function Documentation

Void DSKT2_activateAlg | ( | Int | scratchMutexId,
 |  | IALG_Handle | alg
 | ) |  |

Prepares a XDAIS algorithm instance object to start using its scratch memory.

DSKT2_activateAlg() performs all scratch memory initialization for an algorithm's instance object. After a successful return from DSKT2_activateAlg(), the algorithm's instance object is ready to be used to process data.

Unless the instance is already active, DSKT2_activateAlg() uses the algorithm's IALG interface function algActivate to initialize the algorithm instance's scratch buffers from persistent data memory.

DSKT2_activateAlg() must be called before any processing or control methods of the algorithm instance can be called.

DSKT2 maintains state information about current "active" algorithm instances at run-time, so that it does not perform unnecessary IALG "activation" calls when alg is already active. As part of this optimization it may call the algDeactivate method of the currently active algorithm instance in order to activate this algorithm instance (alg).

Parameters:
[in] | scratchMutexId | scratch-group Id used to associate the instance with a scratch group. The value must be the same id used when creating this algorithm instance.
[in] | alg | IALG_Handle of the algorithm instance to be activated.
Return values:
None
Precondition:
alg must be a valid handle for the algorithm's instance object returned by an earlier call to DSKT2_createAlg()
If alg uses DMA (IDMA3), dmaInit must be called before calling this method, ensuring that all of the instance's persistent memory is initialized and the object is ready to be used
No other algorithm method is currently being run on this instance. This method never preempts any other method on the same instance.
Postcondition:
All of the instance's persistent and scratch memory is initialized and the object is ready to be used.
Remarks:
Caller ensures algorithms with the same scratchMutexId will not be activated simultaneously. Usually the scratch group id is associated to the priority of the task in which the algorithm is running.
The implementation of the IALG algActivate() is optional by XDAIS standard. So, the instance activation makes sense only when the method is implemented by the algorithm. DSKT2_activateAlg() makes proper checks to ensure correct operation even if the algorithm does not implement the algActivate() method.
See also:
DSKT2_deactivateAlg()
DMAN3_grantDmaChannels()
DMAN_addAlg()
Int DSKT2_controlAlg | ( | IALG_Handle | alg,
 |  | IALG_Cmd | cmd,
 |  | IALG_Status * | status
 | ) |  |

This is a convenience API to call a XDAIS algorithm instance's algControl function.

Parameters:
[in] | alg | IALG_Handle of the algorithm instance.
[in] | cmd | IALG_Cmd structure for the control operation.
[in] | status | Pointer to IALG_Status structure for algorithm to return status.
Return values:
IALG_EOK | The control operation was successful
otherwise | A failure occurred during the control operation
Precondition:
alg must be a valid handle for the algorithm's instance object returned by an earlier call to DSKT2_createAlg().
Algorithm specific cmd values are always less than IALG_SYSCMD.
Postcondition:
If the control operation is successful, the return value from this operation is equal to IALG_EOK; otherwise it is equal to either IALG_EFAIL or an algorithm-specific return value.
If the cmd value is not recognized, the return value is not equal to IALG_EOK.
Note:
DSKT2_controlAlg() must be called only when the instance is in active state.
The implementation of the IALG algControl is optional by XDAIS standard. DSKT2_controlAlg() makes proper checks to ensure correct operation even if the algorithm does not implement algControl().
IALG_Handle DSKT2_createAlg | ( | Int | scratchMutexId,
 |  | IALG_Fxns * | fxns,
 |  | IALG_Handle | parent,
 |  | IALG_Params * | params
 | ) |  |

Creates and initializes a XDAIS algorithm instance object.

It uses the algorithm's IALG interface functions to query the algorithm for its memory needs then allocates the memory for the algorithm and calls the algorithm's algInit function to let the new algorithm instance object initialize itself using the allocated memory.

DSKT2_createAlg() performs initialization necessary to complete the run-time creation of an algorithm's instance object. After a successful return from DSKT2_createAlg(), the algorithm's instance object can be activated via a DSKT2_activateAlg() before it can be used to process data.

DSKT2_createAlg() tries to dynamically allocate instance memory based on the IALG_MemSpace attribute of the requested memory. Global DSKT2 configuration settings allow OEM to designate a memory heap for each IALG_MemSpace. DSKT2_createAlg() attempts to allocate memory in the requested space, but may search for alternative heaps when preferred heap is not large enough.

Parameters:
[in] | scratchMutexId | Scratch-group Id for determining the shared scratch memory buffer. Value -1 is used to disable scratch sharing for this algorithm instance. A value between 0 and (DSKT2_NUM_SCRATCH_GROUPS-1) indicates a valid scratch group
[in] | fxns | Pointer to the algorithm's IALG_Fxns table.
[in] | parent | Handle of parent algorithm (optional).
[in] | params | Pointer to an IALG_Params structure.
Return values:
non-NULL | IALG_Handle for the new instance object.
NULL | Failure.
Precondition:
fxns is a valid pointer to an IALG_Fxns structure (containing the vtable for a XDAIS compliant algorithm)
Postcondition:
If scratchMutexId is -1, all instance scratch memory is allocated as persistent (i.e. not shared) and instance operation does not require mutual exclusion
With the exception of any initialization performed by algActivate and (IDMA2) dmaInit all of the instance's persistent memory is initialized and the object is ready to be used
Note:
The parent argument is a handle to another algorithm instance object. This parameter is often NULL, indicating that no parent object exists. This parameter allows clients to create a shared algorithm instance object and pass it to other algorithm instances. For example, a parent instance object might contain global read-only tables that are used by several instances of a vocoder.
Remarks:
Caller need to ensure algorithms created with the same "scratchMutexId" will not execute simultaneously
On failure all memory allocated during the call (used for algorithm query, and portions of algorithm memory that were successfully allocated during the function) has been freed before DSKT2_createAlg() returns
Note:
The params argument is a pointer to algorithm-specific parameters that are necessary for the creation and initialization of the instance object. This pointer points to the same parameters passed to the algorithm's IALG algAlloc function. However, this pointer may be NULL. In this case, algorithm's IALG function algInit, must assume default creation parameters.
Mutual exclusion needs to be enforced by the application framework when executing this function. This function assumes that the create phase of xDAIS algorithms * in the same scratch group will not be scheduled concurrently.
See also:
DSKT2_activateAlg(), DSKT2_deactivateAlg(), DSKT2_freeAlg()
IALG_Handle DSKT2_createAlg2 | ( | Int | scratchMutexId,
 |  | IALG_Fxns * | fxns,
 |  | IALG_Handle | parent,
 |  | IALG_Params * | params,
 |  | xdc_runtime_IHeap_Handle | extHeapId
 | ) |  |

Creates and initializes a XDAIS algorithm instance object.

It uses the algorithm's IALG interface functions to query the algorithm for its memory needs then allocates the memory for the algorithm and calls the algorithm's algInit function to let the new algorithm instance object initialize itself using the allocated memory.

DSKT2_createAlg2() performs initialization necessary to complete the run-time creation of an algorithm's instance object. After a successful return from DSKT2_createAlg2(), the algorithm's instance object can be activated via a DSKT2_activateAlg() before it can be used to process data.

DSKT2_createAlg2() tries to dynamically allocate instance memory based on the IALG_MemSpace attribute of the requested memory. Global DSKT2 configuration settings allow OEM to designate a memory heap for each IALG_MemSpace. DSKT2_createAlg2() attempts to allocate memory in the requested space, but may search for alternative heaps when preferred heap is not large enough.

DSKT2_createAlg2() will attempt to use the heap specified by the input parameter, extHeapId, for all allocations in the IALG_MemSpace, IALG_ESDATA. Furthermore, this holds for any IALG_MemSpace that has been configured with the same memory segment as IALG_ESDATA. e.g., if IALG_ESDATA and IALG_SARAM3 have both been configured to use the heap in the memory segment EXTMEM, then DSKT2_createAlg2() will attempt to allocate memory requested in the spaces IALG_SARAM3 and IALG_ESDATA, from the heap, extHeapId.

Parameters:
[in] | scratchMutexId | Scratch-group Id for determining the shared scratch memory buffer. Value -1 is used to disable scratch sharing for this algorithm instance. A value between 0 and (DSKT2_NUM_SCRATCH_GROUPS-1) indicates a valid scratch group
[in] | fxns | Pointer to the algorithm's IALG_Fxns table.
[in] | parent | Handle of parent algorithm (optional).
[in] | params | Pointer to an IALG_Params structure.
[in] | extHeapId | Segment Id of memory heap to be used for all allocations in memory space IALG_ESDATA. This segment will be used instead of the default external memory segment.
Return values:
non-NULL | IALG_Handle for the new instance object.
NULL | Failure.
Precondition:
fxns is a valid pointer to an IALG_Fxns structure (containing the vtable for a XDAIS compliant algorithm)
extHeapId >= 0
Postcondition:
If scratchMutexId is -1, all instance scratch memory is allocated as persistent (i.e. not shared) and instance operation does not require mutual exclusion
With the exception of any initialization performed by algActivate and (IDMA2) dmaInit all of the instance's persistent memory is initialized and the object is ready to be used
Note:
The parent argument is a handle to another algorithm instance object. This parameter is often NULL, indicating that no parent object exists. This parameter allows clients to create a shared algorithm instance object and pass it to other algorithm instances. For example, a parent instance object might contain global read-only tables that are used by several instances of a vocoder.
Mutual exclusion needs to be enforced by the application framework when executing this function. This function assumes that the create phase of xDAIS algorithms * in the same scratch group will not be scheduled concurrently.
Remarks:
Caller need to ensure algorithms created with the same "scratchMutexId" will not execute simultaneously
On failure all memory allocated during the call (used for algorithm query, and portions of algorithm memory that were successfully allocated during the function) has been freed before DSKT2_createAlg() returns
Note:
The params argument is a pointer to algorithm-specific parameters that are necessary for the creation and initialization of the instance object. This pointer points to the same parameters passed to the algorithm's IALG algAlloc function. However, this pointer may be NULL. In this case, algorithm's IALG function algInit, must assume default creation parameters.
See also:
DSKT2_activateAlg(), DSKT2_deactivateAlg(), DSKT2_freeAlg()
IALG_Handle DSKT2_createAlgExt | ( | Int | scratchId,
 |  | IALG_Fxns * | fxns,
 |  | IALG_Handle | parent,
 |  | IALG_Params * | params
 | ) |  |

Creates and initializes a XDAIS algorithm instance object, allocating all algorithm memory in external memory.

This API is very similar to DSKT2_createAlg(), in that it uses the algorithm's IALG interface functions to query the algorithm for its memory needs, allocates the memory for the algorithm and calls the algorithm's algInit function to let the new algorithm instance object initialize itself using the allocated memory. Unlike DSKT2_createAlg(), however, DSKT2_createAlgExt() will ignore the space field of the IALG_MemRec table entries filled in by the algorithm's algAlloc() function, and allocate all of the memory in the memory segment that is mapped to DSKT2.ESDATA.

After a successful return from DSKT2_createAlgExt(), the algorithm's instance object can be activated via a DSKT2_activateAlg() before it can be used to process data.

Parameters:
[in] | scratchId | Scratch-group Id for determining the shared scratch memory buffer. Value -1 is used to disable scratch sharing for this algorithm instance. A value between 0 and (DSKT2_NUM_SCRATCH_GROUPS-1) indicates a valid scratch group
[in] | fxns | Pointer to the algorithm's IALG_Fxns table.
[in] | parent | Handle of parent algorithm (optional).
[in] | params | Pointer to an IALG_Params structure.
Return values:
non-NULL | IALG_Handle for the new instance object.
NULL | Failure.
Precondition:
fxns is a valid pointer to an IALG_Fxns structure (containing the vtable for a XDAIS compliant algorithm)
Postcondition:
If scratchMutexId is -1, all instance scratch memory is allocated as persistent (i.e. not shared) and instance operation does not require mutual exclusion
With the exception of any initialization performed by algActivate and (IDMA2 or IDMA3) dmaInit all of the instance's persistent memory is initialized and the object is ready to be used
Note:
The parent argument is a handle to another algorithm instance object. This parameter is often NULL, indicating that no parent object exists. This parameter allows clients to create a shared algorithm instance object and pass it to other algorithm instances. For example, a parent instance object might contain global read-only tables that are used by several instances of a vocoder.
Mutual exclusion needs to be enforced by the application framework when executing this function. This function assumes that the create phase of xDAIS algorithms * in the same scratch group will not be scheduled concurrently.
Remarks:
Caller need to ensure algorithms created with the same "scratchMutexId" will not execute simultaneously
On failure all memory allocated during the call (used for algorithm query, and portions of algorithm memory that were successfully allocated during the function) has been freed before DSKT2_createAlg() returns
Note:
The params argument is a pointer to algorithm-specific parameters that are necessary for the creation and initialization of the instance object. This pointer points to the same parameters passed to the algorithm's IALG algAlloc function. However, this pointer may be NULL. In this case, algorithm's IALG function algInit, must assume default creation parameters.
See also:
DSKT2_activateAlg(), DSKT2_deactivateAlg(), DSKT2_freeAlg()
Void DSKT2_deactivateAlg | ( | Int | scratchMutexId,
 |  | IALG_Handle | alg
 | ) |  |

Prepares a XDAIS algorithm instance object to give up using its scratch memory.

DSKT2_deactivateAlg() marks an algorithm's shared scratch memory as available to other instances activation. After a successful return from DSKT2_deactivateAlg(), the algorithm's processing or control functions cannot be called to process data.

Object's deactivation logic involves calling the algorithm's IALG interface function algDeactivate to save necessary data from the algorithm instance's scratch buffers to its persistent data memory.

DSKT2_deactivateAlg() must be called after the last processing or control methods of the algorithm instance, alg, during each execute stage of its socket operation.

DSKT2 maintains state information about current "active" algorithm instances at run-time, so that it does not perform unnecessary IALG "deactivation" calls. As part of this optimization it may defer the deactivation of this algorithm instance (alg) to a later stage, i.e. when DSKT2_activateAlg() is called to activate another algorithm instance.

Parameters:
[in] | scratchMutexId | scratch-group Id used for determining the shared scratch memory.
[in] | alg | IALG_Handle of the algorithm instance to be deactivated.
Return values:
None
Precondition:
alg must be a valid handle for the algorithm's instance object returned by an earlier call to DSKT2_createAlg()
No other algorithm method is currently being run on this instance. This method never preempts any other method on the same instance.
DSKT2_activateAlg() must be called before calling this method
Note:
The implementation of the IALG algDeactivate is optional by XDAIS standard. So, the instance deactivation makes sense only when the method is implemented by the algorithm. DSKT2_deactivateAlg() makes proper checks to ensure correct operation even if the algorithm does not implement the algDeactivate methods.
See also:
DSKT2_activateAlg()
Int DSKT2_deactivateAll ( )

All algorithms that have been deactivated lazily are now really deactivate. Any algorithms that are still currently active will be left as is. The number of algorithms that are still active will be returned from this call.

Return values:
>=0 The number of currently active algorithms
Precondition:
Must be called with the TSK and SWI schedulers disabled.
Bool DSKT2_freeAlg | ( | Int | scratchMutexId,
 |  | IALG_Handle | alg
 | ) |  |

Deletes a XDAIS algorithm instance object and frees all persistent memory allocated for the instance object.

A reference counting mechanism is implemented to free up instance scratch memory so that when the last instance within a scratch group is deleted all shared scratch memory allocated for the group is reclaimed.

DSKT2_freeAlg() must be called during delete stage of a socket's operation to prevent memory leaks.

Parameters:
[in] | scratchMutexId | scratch-group Id used for determining the shared scratch memory. Must be the same Id used when algorithm instance is created
[in] | alg | IALG_Handle of the algorithm instance to be deleted
Return values:
TRUE | Success
FALSE | Failure
Precondition:
alg must be a valid handle for the algorithm's instance object returned by an earlier call to DSKT2_createAlg()
Note:
DSKT2 maintains allocation information about all algorithm instances created by DSKT2_createAlg(), so it does not call the instance algFree method before free'ing instance memory.
Mutual exclusion needs to be enforced by the application framework when executing this function. This function assumes that the delete phase of xDAIS algorithms * in the same scratch group will not be scheduled concurrently.
See also:
DSKT2_createAlg()
Bool DSKT2_allocScratch | ( | IALG_Handle | alg,
 |  | Int | mutexId,
 |  | IALG_MemRec * | memTab,
 |  | Int | numRecs
 | ) |  |

Alocates memory from a DSKT2 shared scratch group buffer.

If a valid IALG_Handle is passed to this call, allocation is done from the shared buffer in a non-overlapping manner from memory already assigned to the algorithm

Parameters:
[in] | alg | IALG_Handle of the algorithm instance to be granted shared scratch memory. Could be NULL.
[in] | mutexId | scratch-group Id used for determining the shared scratch memory. Must be the same Id used when algorithm instance is created
[in] | memTab | Array of IALG_MemRec structures describing the memory required by the algorithm
[in] | numRecs | Number of IALG_MemRec structures
Return values:
TRUE | Success
FALSE | Failure
Precondition:
If alg is a non-NULL value, then it must be a valid handle for the algorithm's instance object returned by an earlier call to DSKT2_createAlg()
Note:
DSKT2 maintains allocation information about all algorithm instances created by DSKT2_createAlg(), so it does not call the instance algFree method before free'ing instance memory.
See also:
DSKT2_freeScratch()
Int DSKT2_getScratchId ( IALG_Handle alg )
Void DSKT2_freeScratch | ( | Int | mutexId,
 |  | Void * | addr,
 |  | UInt | size
 | ) |  |

Alocates memory from a DSKT2 shared scratch group buffer.

If a valid IALG_Handle is passed to this call, allocation is done from teh shared buffer in a non-overlapping manner from memory already assigned to the algorithm

Parameters:
[in] | mutexId | scratch-group Id used for determining the shared scratch memory. Must be the same Id used when algorithm instance is created
[in] | addr | Address of the memory to be freed, that was previous allocated using DSKT2_allocScratch
[in] | size | Size of memory to be freed.
Precondition:
Memory must have been allocated through a call to DSKT2_allocScratch
Note:
DSKT2 maintains allocation information about all algorithm instances created by DSKT2_createAlg(), so it does not call the instance algFree method before free'ing instance memory.
See also:
DSKT2_allocScratch()
Bool DSKT2_allocPersistent | ( | IALG_MemRec * | memTab,
 |  | Int | numRecs
 | ) |  |

Alocates persistent memory to the requesting algorithm.

Parameters:
[in] | memTab | Array of IALG_MemRec structures describing the memory required by the algorithm
[in] | numRecs | Number of IALG_MemRec structures
Return values:
TRUE | Success
FALSE | Failure
See also:
DSKT2_freePersistent()
Void DSKT2_freePersistent | ( | IALG_MemRec * | memTab,
 |  | Int | numRecs
 | ) |  |

Frees persistent memory from the requesting algorithm.

Parameters:
[in] | memTab | Array of IALG_MemRec structures describing the memory granted to the algorithm, to be freed.
[in] | numRecs | Number of IALG_MemRec structures
Precondition:
Memory must have been allocated through a call to DSKT2_allocPersistent
See also:
DSKT2_allocPersistent()

Define Documentation

#define DSKT2_NUM_SCRATCH_GROUPS 20

Maximum number of scratch groups that can be supported.

#define DSKT2_MAX_MEM_ALLOCATION_SIZE 0xFFFF

Maximum memory allocation.

#define DSKT2_NUM_SHAREDHEAPS 2
#define DSKT2_MODNAME "ti.sdo.fc.dskt2"

Name to pass to Diags_setMask() to enable logging for DSKT2 functions. For example, Diags_setMask(DSKT2_MODNAME"+EX1234567"); turns on all Log statements in this module. Diags_setMask() must be called after initialization to take effect.

Typedef Documentation

typedef Void(* DSKT2_CacheWBInvFxn)(Ptr blockPtr, size_t byteCnt, Bool wait)

Function prototype of cache writeback function: Writes back the memory within the range of blockPtr and blockPtr + byteCnt.

Remarks:
If wait is TRUE, wait for the writeback to complete before returning from this fuction call.

Variable Documentation

__FAR__ DSKT2_CacheWBInvFxn DSKT2_cacheWBInvFxn

Cache writeback function pointer used by DSKT2 if not NULL.

xdc_runtime_IHeap_Handle DSKT2_daram0Heap
xdc_runtime_IHeap_Handle DSKT2_daram1Heap
xdc_runtime_IHeap_Handle DSKT2_daram2Heap
xdc_runtime_IHeap_Handle DSKT2_saram0Heap
xdc_runtime_IHeap_Handle DSKT2_saram1Heap
xdc_runtime_IHeap_Handle DSKT2_saram2Heap
xdc_runtime_IHeap_Handle DSKT2_iprogHeap
xdc_runtime_IHeap_Handle DSKT2_eprogHeap
xdc_runtime_IHeap_Handle DSKT2_esdataHeap
xdc_runtime_IHeap_Handle _DSKT2_heap
__FAR__ UInt _DSKT2_ALLOW_EXTERNAL_SCRATCH
UInt _DSKT2_DARAM_SCRATCH_SIZES[]
UInt _DSKT2_SARAM_SCRATCH_SIZES[]
__FAR__ Bool ti_sdo_fc_dskt2_DSKT2_disableLazyDeactivate

Set this to TRUE to disable lazy deactivate feature in DSKT2.


Framework Components Application Programming Interface (API): ECPY (C64P)

Functions | Defines | Data Structures | Typedefs | Enumerations | Variables

ECPY (C64P)

Functions

Void | ECPY_configure (ECPY_Handle handle, ECPY_Params *restrict params, short transferNo)
Configures the DMA transfer settings for the transfer=transferNo of the logical channel. Except for transferNo==1, the physical EDMA3 PaRAM associated with the transfer is modified. For transferNo==1 a "shadow" of the PaRAM registers gets configured, so that the configuration of 1st transfer remains persistent following ECPY_startEdma() calls.
Void | ECPY_directConfigure (ECPY_Handle handle, ECPY_Params *restrict params, short transferNo)
Configure the DMA transfer settings of handle's 'transferNo' transfer. This function always directly configures the physical EDMA3 PaRAM associated with the transfer. Since no shadow is used for the 1st transfer, the configuration settings of the 1st transfer gets lost following linked transfers or when the 1st transfer is a 3D transfer (numFrames > 1).
Void | ECPY_configure16 (ECPY_Handle handle, ECPY_ParamField16b fieldId, unsigned short value, short transferNo)
Modify the 16-bit DMA transfer parameter, indicated by the parameter field id, fieldId, of the current channel settings.
Void | ECPY_directConfigure16 (ECPY_Handle handle, ECPY_ParamField16b fieldId, unsigned short value, short transferNo)
Modify the 16-bit DMA transfer parameter, indicated by the parameter field id, fieldId, of the current channel settings. This function always directly configures the physical EDMA3 PaRAM's 16-bit half of the 32-bit registered associated with the transfer & field . No shadow is used.
Void | ECPY_configure32 (ECPY_Handle handle, ECPY_ParamField32b fieldId, unsigned int value, short transferNo)
Modify the 32-bit DMA transfer parameter, indicated by the parameter field id, fieldId, of the current channel settings.
Void | ECPY_directConfigure32 (ECPY_Handle handle, ECPY_ParamField32b fieldId, unsigned int value, short transferNo)
Modify the 32-bit DMA transfer parameter, indicated by the parameter field id, fieldId, of the current channel settings.
Void | ECPY_setFinal (ECPY_Handle handle, short transferNo)
Indicate that a given transfer will be the last in a sequence of linked transfers.
Void | ECPY_directSetFinal (ECPY_Handle handle, short transferNo)
Indicate that a given transfer will be the last in a sequence of linked transfers.
Void | ECPY_setDestinationMemoryMode (ECPY_Handle handle, short mode)
Indicate the memory space that DMA transfers submitted to the channel associated with the handle will modify. This information can be used for channel to TC Queue mapping for avoiding known Silicon GEM lockup issues or for performance improvements.
Void | ECPY_start (ECPY_Handle handle)
Submit a single or linked transfer using the most recently configured transfer parameter settings.
Void | ECPY_directStartEdma (ECPY_Handle handle)
Submit a single or linked transfer using the most recently 'direct' configured transfer parameter settings.
Void | ECPY_directStartQdma (ECPY_Handle handle)
ECPY_directStartQdma has not been implemented.
Void | ECPY_wait (ECPY_Handle handle)
Wait for all data transfers on a logical channel to complete.
Void | ECPY_directWait (ECPY_Handle handle)
Wait for all EDMA data transfers submitted to the logical channel via ECPY_directStartEdma to complete.
Void | ECPY_activate (ECPY_Handle handle)
Activate the given channel.
ECPY_Handle | ECPY_createHandle (IRES_EDMA3CHAN2_Handle handle, IALG_Handle alg)
Create an ECPY Handle using the supplied IRES_EDMA3CHAN handle.
Void | ECPY_deleteHandle (ECPY_Handle handle)
Delete ECPY_Handle.
Void | ECPY_deactivate (ECPY_Handle handle)
Deactivates the given channel.
Void | ECPY_setEarlyCompletionMode (ECPY_Handle handle, short enabled)
Setting the TCCMODE (Early or Normal) affects only the 'intermediate transfers' of the linked transfers submitted using this channel. All subsequent direct and non-direct ECPY_configure* calls using this ecpyHandle will program the OPT's TCCMODE to select Early or Normal completion mode based on the 'enabled' argument.
Void | ECPY_init (Void)
Initialize the ECPY module. Called by framework.
Void | ECPY_exit (Void)
Finalization of the ECPY module.

Defines

#define | ti_sdo_fc_ires_NOPROTOCOLREV
#define | ECPY_GTNAME "ti.sdo.fc.ecpy"
#define | ECPY_MODNAME "ti.sdo.fc.ecpy"
Name to pass to Diags_setMask() to enable logging for ECPY functions. For example, Diags_setMask(ECPY_MODNAME"+EX1234567"); turns on all Log statements in this module. Diags_setMask() must be called after initialization to take effect.

Data Structures

struct | ECPY_Params
DMA transfer specific parameters. Defines the configuration of a logical channel. More...
struct | ECPY_CfgParams
The module configuration structure for ECPY. It is set at design time by the system integrator to register customize memory allocation/free implementations. More...

Typedefs

typedef enum ECPY_ParamField16b | ECPY_ParamField16b
ECPY 16-bit param field structure. These values are passed to ECPY_configure16() to indicate the field of the ECPY_Params structure to be changed.
typedef enum ECPY_ParamField32b | ECPY_ParamField32b
ECPY 32-bit param field structure. These values are passed to ECPY_configure32() to indicate the field of the ECPY_Params structure to be changed.
typedef enum ECPY_TransferType | ECPY_TransferType
ECPY DMA Transfer Types:
typedef struct ECPY_Obj * | ECPY_Handle
Handle to "logical" ECPY Channel.
typedef struct ECPY_Params | ECPY_Params
DMA transfer specific parameters. Defines the configuration of a logical channel.
typedef Bool( | ECPY_PersistentAllocFxn )(IALG_MemRec *memTab, Int numRecs)
Memory allocation function signature for module configuration.
typedef Void( | ECPY_PersistentFreeFxn )(IALG_MemRec *memTab, Int numRecs)
Memory deallocation function signature for module configuration.
typedef Bool( | ECPY_ScratchAllocFxn )(IALG_Handle alg, Int scratchId, IALG_MemRec *memTab, Int numRecs)
Scratch Memory allocation function for all shared scratch ECPY handle state.
typedef Void( | ECPY_ScratchFreeFxn )(Int mutexId, Void *addr, UInt size)
Scratch Memory free function for all scratch allocated memory in ECPY Handle.
typedef Int( | ECPY_getScratchIdFxn )(IALG_Handle alg)
Function, when supplied, returns the scratchId associated with the algorithm instance whose handle is passed.
typedef struct ECPY_CfgParams | ECPY_CfgParams
The module configuration structure for ECPY. It is set at design time by the system integrator to register customize memory allocation/free implementations.

Enumerations

enum ECPY_ParamField16b {
ECPY_PARAMFIELD_ELEMENTSIZE = 8,
ECPY_PARAMFIELD_NUMELEMENTS = 10,
ECPY_PARAMFIELD_ELEMENTINDEX_SRC = 16,
ECPY_PARAMFIELD_ELEMENTINDEX_DST = 18,
ECPY_PARAMFIELD_FRAMEINDEX_SRC = 24,
ECPY_PARAMFIELD_FRAMEINDEX_DST = 26,
ECPY_PARAMFIELD_NUMFRAMES = 28
}

ECPY 16-bit param field structure. These values are passed to ECPY_configure16() to indicate the field of the ECPY_Params structure to be changed.

More...
enum ECPY_ParamField32b {
ECPY_PARAMFIELD_SRCADDR = 4,
ECPY_PARAMFIELD_DSTADDR = 12,
ECPY_PARAMFIELD_ELEMENTINDEXES = 16,
ECPY_PARAMFIELD_FRAMEINDEXES = 24
}

ECPY 32-bit param field structure. These values are passed to ECPY_configure32() to indicate the field of the ECPY_Params structure to be changed.

More...
enum ECPY_TransferType {
ECPY_1D1D,
ECPY_1D2D,
ECPY_2D1D,
ECPY_2D2D
}

ECPY DMA Transfer Types:

More...

Variables

__FAR__ ECPY_CfgParams | ECPY_CFG_PARAMS
Initialization parameters for the ECPY module.

Detailed Description

The ECPY module provides a comprehensive list of DMA operations applications or algorithms can perform on logical DMA channels it acquires through the IRES_EDMA3CHAN protocol. Example of ECPY operations include channel configuration, DMA transfer scheduling, and DMA transfer synchronization.

Remarks:
For additional information, please refer to the "Using DMA with Framework Components for 'C64x+" document.

Function Documentation

Void ECPY_configure | ( | ECPY_Handle | handle,
 |  | ECPY_Params *restrict | params,
 |  | short | transferNo
 | ) |  |

Configures the DMA transfer settings for the transfer=transferNo of the logical channel. Except for transferNo==1, the physical EDMA3 PaRAM associated with the transfer is modified. For transferNo==1 a "shadow" of the PaRAM registers gets configured, so that the configuration of 1st transfer remains persistent following ECPY_startEdma() calls.

Parameters:
[in] | handle | ECPY channel handle.
[in] | params | DMA transfer specific parameters used to configure this logical DMA channel.
[in] | transferNo | Indicates the individual transfer to be configured using the passed 'params'
Precondition:
channel must be in active state
valid ECPY_Handle handle
1 <= transferNo <= originally requested number of transfers
Postcondition:
Intermediate transfers are programmed with TCCMODE set to Early (default mode when channel is created ) or Normal Completion depending on the most recently configured Transfer Completion mode.
Void ECPY_directConfigure | ( | ECPY_Handle | handle,
 |  | ECPY_Params *restrict | params,
 |  | short | transferNo
 | ) |  |

Configure the DMA transfer settings of handle's 'transferNo' transfer. This function always directly configures the physical EDMA3 PaRAM associated with the transfer. Since no shadow is used for the 1st transfer, the configuration settings of the 1st transfer gets lost following linked transfers or when the 1st transfer is a 3D transfer (numFrames > 1).

Parameters:
[in] | handle | ECPY channel handle.
[in] | params | DMA transfer specific parameters used to configure this logical DMA channel.
[in] | transferNo | Indicates the individual transfer to be configured using the passed 'params'
Precondition:
channel must be in active state
valid ECPY_Handle handle
1 <= transferNo <= originally requested number of transfers
Postcondition:
Intermediate transfers are programmed with TCCMODE set to Early (default mode when channel is created ) or Normal Completion depending on the most recently configured Transfer Completion mode.
Void ECPY_configure16 | ( | ECPY_Handle | handle,
 |  | ECPY_ParamField16b | fieldId,
 |  | unsigned short | value,
 |  | short | transferNo
 | ) |  |

Modify the 16-bit DMA transfer parameter, indicated by the parameter field id, fieldId, of the current channel settings.

Parameters:
[in] | handle | IRES_EDMA3CHAN channel handle.
[in] | fieldId | Indicates which of the parameters is to be modified.
[in] | value | New value of the parameter to be modified.
[in] | transferNo | Indicates which transfer the parameters correspond to (same value that would be passed to ECPY_configure()).
Precondition:
Algorithm instance must be in "active" state using IALG interface.
Channel must be in "active" state.
ECPY_configure() must have previously been called at least once since channel activation.
1 <= transferNo <= originally requested number of transfers
Remarks:
Both an inlined version and a non-inlined version of this function are supported. To use the inlined version, add the line #define ECPY_CONFIGURE16_INLINE or #define ECPY_INLINE_ALL to the source file where this function is used. The #define must go above the line, #include <ecpy.h>. By default, this function will not be inlined. Another alternative is to define the macro in the build option of the file or of the project file.
Once a channel has been configured once with ECPY_configure(), ECPY_configure16() can be used to update any of the 16-bit parameter fields, for example, the number of elements in a frame to be transferred.
Void ECPY_directConfigure16 | ( | ECPY_Handle | handle,
 |  | ECPY_ParamField16b | fieldId,
 |  | unsigned short | value,
 |  | short | transferNo
 | ) |  |

Modify the 16-bit DMA transfer parameter, indicated by the parameter field id, fieldId, of the current channel settings. This function always directly configures the physical EDMA3 PaRAM's 16-bit half of the 32-bit registered associated with the transfer & field . No shadow is used.

Parameters:
[in] | handle | IRES_EDMA3CHAN channel handle.
[in] | fieldId | Indicates which of the parameters is to be modified.
[in] | value | New value of the parameter to be modified.
[in] | transferNo | Indicates which transfer the parameters correspond to (same value that would be passed to ECPY_directConfigure()).
Precondition:
Algorithm instance must be in "active" state using IALG interface.
Channel must be in "active" state.
ECPY_directConfigure() must have been called at least once since channel activation.
1 <= transferNo <= originally requested number of transfers
Remarks:
Both an inlined version and a non-inlined version of this function are supported. To use the inlined version, add the line #define ECPY_CONFIGURE16_INLINE or #define ECPY_INLINE_ALL to the source file where this function is used. The #define must go above the line, #include <ecpy.h>. By default, this function will not be inlined. Another alternative is to define the macro in the build option of the file or of the project file.
Once a channel has been configured once with ECPY_directConfigure(), ECPY_directConfigure16() can be used to update any of the 16-bit parameter fields, for example, the number of elements in a frame to be transferred.
Void ECPY_configure32 | ( | ECPY_Handle | handle,
 |  | ECPY_ParamField32b | fieldId,
 |  | unsigned int | value,
 |  | short | transferNo
 | ) |  |

Modify the 32-bit DMA transfer parameter, indicated by the parameter field id, fieldId, of the current channel settings.

Parameters:
[in] | handle | ECPY channel handle.
[in] | fieldId | Indicates which of the parameters is to be modified.
[in] | value | New value of the parameter to be modified.
[in] | transferNo | Indicates which transfer the parameters correspond to (same value that would be passed to ECPY_configure()).
Precondition:
handle must be a valid channel handle.
Algorithm instance must be in "active" state using IALG interface.
Channel must be in 'active' state.
ECPY_configure() must have previously been called at least once since channel activation.
1 <= transferNo <= originally requested number of transfers
Remarks:
Once a channel has been configured once with ECPY_configure(), ECPY_configure32() can be used to update any of the 32-bit parameter fields, for example, the source address of the data to be transferred.
Both an inlined version and a non-inlined version of this function are supported. To use the inlined version, add the line #define ECPY_CONFIGURE32_INLINE or #define ECPY_INLINE_ALL to the source file where this function is used. The #define must go above the line, #include <ecpy.h>. By default, this function will not be inlined. Another alternative is to define the macro in the build option of the file or of the project file.
Void ECPY_directConfigure32 | ( | ECPY_Handle | handle,
 |  | ECPY_ParamField32b | fieldId,
 |  | unsigned int | value,
 |  | short | transferNo
 | ) |  |

Modify the 32-bit DMA transfer parameter, indicated by the parameter field id, fieldId, of the current channel settings.

Parameters:
[in] | handle | ECPY channel handle.
[in] | fieldId | Indicates which of the parameters is to be modified.
[in] | value | New value of the parameter to be modified.
[in] | transferNo | Indicates which transfer the parameters correspond to (same value that would be passed to ECPY_configure()).
Precondition:
handle must be a valid channel handle.
Algorithm instance must be in "active" state using IALG interface.
Channel must be in 'active' state.
ECPY_directConfigure() must have previously been called at least once since channel activation.
1 <= transferNo <= originally requested number of transfers
Remarks:
Once a channel has been configured once with ECPY_directConfigure(), the ECPY_directConfigure32() functino can be called to update any of the 32-bit parameter fields, for example, the source address of the data to be transferred.
Both an inlined version and a non-inlined version of this function are supported. To use the inlined version, add the line #define ECPY_CONFIGURE32_INLINE or #define ECPY_INLINE_ALL to the source file where this function is used. The #define must go above the line, #include <ecpy.h>. By default, this function will not be inlined. Another alternative is to define the macro in the build option of the file or of the project file.
Void ECPY_setFinal | ( | ECPY_Handle | handle,
 |  | short | transferNo
 | ) |  |

Indicate that a given transfer will be the last in a sequence of linked transfers.

This API can be used to dynamically change the number of transfers in a linked transfers.

Parameters:
[in] | handle | ECPY channel handle.
[in] | transferNo | Indicates the transfer number that will be the last one of the set of linked transfers.
Precondition:
Valid channel handle.
Channel must be in 'active' state.
1 <= transferNo <= originally requested number of transfers
ECPY_cnfigure() must have previously been called at least once since channel activation.
Remarks:
This API can be used if a channel was created to transfer 'numTransfers' linked transfers, but at some point, it will be used to transfer a different number of transfers.
Void ECPY_directSetFinal | ( | ECPY_Handle | handle,
 |  | short | transferNo
 | ) |  |

Indicate that a given transfer will be the last in a sequence of linked transfers.

This API can be used to dynamically change the number of transfers in a linked transfers.

Parameters:
[in] | handle | ECPY channel handle.
[in] | transferNo | Indicates the transfer number that will be the last one of the set of linked transfers.
Precondition:
Valid channel handle.
Channel must be in 'active' state.
1 <= transferNo <= originally requested number of transfers
ECPY_directConfigure() must have previously been called at least once since channel activation.
Remarks:
This API can be used if a channel was created to transfer 'numTransfers' linked transfers, but at some point, it will be used to transfer a different number of transfers.
Void ECPY_setDestinationMemoryMode | ( | ECPY_Handle | handle,
 |  | short | mode
 | ) |  |

Indicate the memory space that DMA transfers submitted to the channel associated with the handle will modify. This information can be used for channel to TC Queue mapping for avoiding known Silicon GEM lockup issues or for performance improvements.

Parameters:
[in] | handle | ECPY channel handle.
[in] | mode | DMA destination description of type IRES_EDMA3CHAN_DmaDestType.
Void ECPY_start ( ECPY_Handle handle )

Submit a single or linked transfer using the most recently configured transfer parameter settings.

Parameters:
[in] handle ECPY channel handle.
Precondition:
Valid channel handle.
Channel must be in 'active' state.
Channel must be in 'configured' state.
ECPY_configure() must be called at least once for each transfer that will be started.
Remarks:
Most recent ECPY_configure(), ECPY_configure16 and ECPY_configure32 settings will be in effect for each transfer.
Precondition:
When the number of transfers assigned to the channel are > 1, this function will submit a set of linked EDMA transfers, ordered by the transferNo's of the channel. The final transfer of the linked set will be the transfer indicated by the most recent ECPY_setFinal() call. If no ECPY_setFinal has been previously called, then all transfers assigned to the channel will be linked together.
Postcondition:
handle->transferPending = TRUE
Void ECPY_directStartEdma ( ECPY_Handle handle )

Submit a single or linked transfer using the most recently 'direct' configured transfer parameter settings.

Parameters:
[in] handle ECPY channel handle.
Precondition:
Valid channel handle.
Channel must be in 'active' state.
Channel must be in 'direct configured' state.
ECPY_directConfigure() must be called at least once for each transfer that will be started.
1st Transfer of the channel must always be re-configured via direct configure APIs following a (linked) ECPY_directStartEdma i.e. when the number of the most recent start > 1) or when the 1st transfer of the previous start was a 3D transfer (numFrames > 1).
Remarks:
Most recent ECPY_directConfigure(), ECPY_directConfigure16 and ECPY_directConfigure32 settings will always be in effect for each transfer w/transferNo > 1. Transfer settings of transferNo=1 will be only preserved if the most recent ECPY_directStartEdma resulted in a single (non-linked) transfer with numFrames == 1.
Precondition:
When the number of transfers assigned to the channel are > 1, this function will submit a set of linked EDMA transfers, ordered by the transferNo's of the channel. The final transfer of the linked set will be the transfer indicated by the most recent ECPY_directSetFinal() call. If no ECPY_setFinal has been previously called, then all transfers assigned to the channel will be linked together.
Void ECPY_directStartQdma ( ECPY_Handle handle )

ECPY_directStartQdma has not been implemented.

Void ECPY_wait ( ECPY_Handle handle )

Wait for all data transfers on a logical channel to complete.

Parameters:
[in] handle ECPY channel handle.
Precondition:
Valid channel handle
Channel must be in 'active' state.
ECPY_wait can be called back to back or without having submitted transfers to the channel. For the case there is no pending transfer on the channel it will return immediately.
Postcondition:
ECPY_wait will reset channel handle's transferPending flag to 0
Remarks:
This function will not return until all the previously submitted EDMA transfers on the channel have completed.
Both an inlined version and a non-inlined version of this function are supported. To use the inlined version, add the line #define ECPY_WAIT_INLINE or #define ECPY_INLINE_ALL to the source file where this function is used. The #define must go above the line, #include <ecpy.h>. By default, this function will not be inlined. Another alternative is to define the macro in the build option of the file or of the project file.
Void ECPY_directWait ( ECPY_Handle handle )

Wait for all EDMA data transfers submitted to the logical channel via ECPY_directStartEdma to complete.

Parameters:
[in] handle ECPY channel handle.
Precondition:
Valid channel handle
Channel must be in 'active' state.
ECPY_directWait requires that a transfer has been submitted to the channel using ECPY_directStartEdma. Otherwise it will block indefinitely.
ECPY_directWait can not be called back to back or without having started EDMA transfers on the channel.
Remarks:
ECPY_directWait will not maintain channel handle's transferPending state.
This function will not return until all the data transfers on the given channel have completed.
Both an inlined version and a non-inlined version of this function are supported. To use the inlined version, add the line #define ECPY_DIRECTWAIT_INLINE or #define ECPY_INLINE_ALL to the source file where this function is used. The #define must go above the line, #include <ecpy.h>. By default, this function will not be inlined. Another alternative is to define the macro in the build option of the file or of the project file.
Void ECPY_activate ( ECPY_Handle handle )

Activate the given channel.

Parameters:
[in] handle ECPY channel handle.
Precondition:
handle must be a valid channel handle.
Algorithm instance must be in "active" state using IALG interface.
handle must be a valid handle obtained by ECPY_createHandle.
Postcondition:
Channel is in 'active' state, any ECPY APIs can be called using this handle.
ECPY_Handle ECPY_createHandle | ( | IRES_EDMA3CHAN2_Handle | handle,
 |  | IALG_Handle | alg
 | ) |  |

Create an ECPY Handle using the supplied IRES_EDMA3CHAN handle.

Parameters:
[in] | handle | IRES_EDMA3CHAN channel handle.
[in] | alg | IALG handle.
Precondition:
handle must be a valid handle.
Postcondition:
Early Completion Mode is enabled for all Intermediate Transfers. Early Completion Transfer completion mode can be disabled if needed via the ECPY_setEarlyCompletionMode() API.
Void ECPY_deleteHandle ( ECPY_Handle handle )

Delete ECPY_Handle.

Parameters:
[in] handle ECPY channel handle.
Precondition:
handle must be a valid handle obtained by ECPY_createHandle.
Void ECPY_deactivate ( ECPY_Handle handle )

Deactivates the given channel.

Parameters:
[in] handle ECPY channel handle.
Precondition:
handle must be a valid channel handle.
Channel must be in 'active' state.
Algorithm instance must be in 'active' state using IALG interface
Postcondition:
Channel is in 'deactivated' state.
Void ECPY_setEarlyCompletionMode | ( | ECPY_Handle | handle,
 |  | short | enabled
 | ) |  |

Setting the TCCMODE (Early or Normal) affects only the 'intermediate transfers' of the linked transfers submitted using this channel. All subsequent direct and non-direct ECPY_configure* calls using this ecpyHandle will program the OPT's TCCMODE to select Early or Normal completion mode based on the 'enabled' argument.

Selecting the Early Completion mode may lead to performance improvements by increasing the EDMA throughput of linked transfers by submitting each transfer request from the EDMA Channel Controller to the Transfer Controller without waiting for the completion of the previous transfer from the Transfer Controller.

Parameters:
[in] | handle | ECPY channel handle.
[in] | enabled | 1/TRUE to set TCCMODE to 1 (Early Completion) 0/FALSE to set TCCMODE to 1 (Normal Completion)
Postcondition:
Channel Intermediate Transfer Completion Mode is set according to the 'enabled' parameter. The selected mode applies to all subsequent configure operations of the intermediate transfers.
Void ECPY_init ( Void )

Initialize the ECPY module. Called by framework.

Void ECPY_exit ( Void )

Finalization of the ECPY module.

Define Documentation

#define ti_sdo_fc_ires_NOPROTOCOLREV
#define ECPY_GTNAME "ti.sdo.fc.ecpy"
#define ECPY_MODNAME "ti.sdo.fc.ecpy"

Name to pass to Diags_setMask() to enable logging for ECPY functions. For example, Diags_setMask(ECPY_MODNAME"+EX1234567"); turns on all Log statements in this module. Diags_setMask() must be called after initialization to take effect.

Typedef Documentation

typedef enum ECPY_ParamField16b ECPY_ParamField16b

ECPY 16-bit param field structure. These values are passed to ECPY_configure16() to indicate the field of the ECPY_Params structure to be changed.

typedef enum ECPY_ParamField32b ECPY_ParamField32b

ECPY 32-bit param field structure. These values are passed to ECPY_configure32() to indicate the field of the ECPY_Params structure to be changed.

typedef enum ECPY_TransferType ECPY_TransferType

ECPY DMA Transfer Types:

Note that all transfers can be specified using the ECPY_2D2D transfer type, and providing element and frame indices for both source and destination. However, the other transfer types are provided to simplify configuration when applicable. For example, when using the ECPY_1D2D transfer type, you do not need to set the source element and frame indices in the ECPY_Params structure.

typedef struct ECPY_Obj* ECPY_Handle

Handle to "logical" ECPY Channel.

typedef struct ECPY_Params ECPY_Params

DMA transfer specific parameters. Defines the configuration of a logical channel.

typedef Bool( ECPY_PersistentAllocFxn)(IALG_MemRec *memTab, Int numRecs)

Memory allocation function signature for module configuration.

typedef Void( ECPY_PersistentFreeFxn)(IALG_MemRec *memTab, Int numRecs)

Memory deallocation function signature for module configuration.

typedef Bool( ECPY_ScratchAllocFxn)(IALG_Handle alg, Int scratchId, IALG_MemRec *memTab, Int numRecs)

Scratch Memory allocation function for all shared scratch ECPY handle state.

typedef Void( ECPY_ScratchFreeFxn)(Int mutexId, Void *addr, UInt size)

Scratch Memory free function for all scratch allocated memory in ECPY Handle.

typedef Int( ECPY_getScratchIdFxn)(IALG_Handle alg)

Function, when supplied, returns the scratchId associated with the algorithm instance whose handle is passed.

typedef struct ECPY_CfgParams ECPY_CfgParams

The module configuration structure for ECPY. It is set at design time by the system integrator to register customize memory allocation/free implementations.

Remarks:
Typically, system integrators configure these settings using XDC config scripts. System integrators that use that method of configuration can ignore this structure definition. It's auto-generated during the config step by the XDC Tools.

Enumeration Type Documentation

enum ECPY_ParamField16b

ECPY 16-bit param field structure. These values are passed to ECPY_configure16() to indicate the field of the ECPY_Params structure to be changed.

Enumerator:
ECPY_PARAMFIELD_ELEMENTSIZE
ECPY_PARAMFIELD_NUMELEMENTS
ECPY_PARAMFIELD_ELEMENTINDEX_SRC
ECPY_PARAMFIELD_ELEMENTINDEX_DST
ECPY_PARAMFIELD_FRAMEINDEX_SRC
ECPY_PARAMFIELD_FRAMEINDEX_DST
ECPY_PARAMFIELD_NUMFRAMES
enum ECPY_ParamField32b

ECPY 32-bit param field structure. These values are passed to ECPY_configure32() to indicate the field of the ECPY_Params structure to be changed.

Enumerator:
ECPY_PARAMFIELD_SRCADDR
ECPY_PARAMFIELD_DSTADDR
ECPY_PARAMFIELD_ELEMENTINDEXES
ECPY_PARAMFIELD_FRAMEINDEXES
enum ECPY_TransferType

ECPY DMA Transfer Types:

Note that all transfers can be specified using the ECPY_2D2D transfer type, and providing element and frame indices for both source and destination. However, the other transfer types are provided to simplify configuration when applicable. For example, when using the ECPY_1D2D transfer type, you do not need to set the source element and frame indices in the ECPY_Params structure.

Enumerator:
ECPY_1D1D

Only one element is copied from source to destination. The size of the element is specified in the elementSize field of ECPY_Params

ECPY_1D2D

After each element is copied to destination, the source and destination of the next element to copy is updated as follows:

  • src = src + element size
  • dst = dst + destination element index

After an entire frame is copied (the frame size specified by the numElements field of ECPY_Params), the source and destination of the next frame to copy are given by:

  • src = src + element size
  • dst = start of frame + destination frame index
ECPY_2D1D

This is similar to ECPY_1D2D, except that source and destination are updated after an element is copied, as follows:

  • src = src + source element index
  • dst = dst + element size

After an entire frame is copied by:

  • src = start of frame + source frame index
  • dst = dst + element size
ECPY_2D2D

This transfer type combines ECPY_1D2D and ECPY_2D1D, so that source and destination are updated after an element is copied by:

  • src = src + source element index
  • dst = dst + destination element index

After a frame is copied by:

  • src = start of frame + source frame index
  • dst = start of frame + destination frame index

Variable Documentation

__FAR__ ECPY_CfgParams ECPY_CFG_PARAMS

Initialization parameters for the ECPY module.


Framework Components Application Programming Interface (API): Resource manager interface

Data Structures | Typedefs

Resource manager interface

Data Structures

struct | IRESMAN_Params
Configuration Parameters required by the Resource Manager implementation. These can be extended by individual resource managers if required. More...
struct | IRESMAN_Fxns
struct | IRESMAN_ConstructArgs
Abstract Protocol Construct Arguments structure/pointer definition. Arguments passed by the Resource manager to request a resource from a specific IRES Protocol will extend and supply the concrete definition. More...

Typedefs

typedef Bool( | IRESMAN_PersistentAllocFxn )(IALG_MemRec *memTab, Int numRecs)
Memory allocation function for all of ResMan and other IRES protocol's memory requirements.
typedef Void( | IRESMAN_PersistentFreeFxn )(IALG_MemRec *memTab, Int numRecs)
Memory free functions for all of ResMan and other IRES protocol's memory requirements.
typedef struct IRESMAN_Params | IRESMAN_Params
Configuration Parameters required by the Resource Manager implementation. These can be extended by individual resource managers if required.
typedef struct IRESMAN_Fxns | IRESMAN_Fxns

typedef struct
IRESMAN_ConstructArgs 		IRESMAN_ConstructArgs
Abstract Protocol Construct Arguments structure/pointer definition. Arguments passed by the Resource manager to request a resource from a specific IRES Protocol will extend and supply the concrete definition.
typedef struct
IRESMAN_ConstructFxns 		IRESMAN_ConstructFxns
These functions are used to determine memory requirements for and initialize the IRES protocol's environment that will be allocated by the resource manager.

Detailed Description

The IRESMAN interface needs to be implemented and registered with the generic RMAN Resource Registry and is called by the Framework resource manager (RMAN) to manage corresponding IRES resources

Typedef Documentation

typedef Bool( IRESMAN_PersistentAllocFxn)(IALG_MemRec *memTab, Int numRecs)

Memory allocation function for all of ResMan and other IRES protocol's memory requirements.

typedef Void( IRESMAN_PersistentFreeFxn)(IALG_MemRec *memTab, Int numRecs)

Memory free functions for all of ResMan and other IRES protocol's memory requirements.

typedef struct IRESMAN_Params IRESMAN_Params

Configuration Parameters required by the Resource Manager implementation. These can be extended by individual resource managers if required.

typedef struct IRESMAN_Fxns IRESMAN_Fxns
typedef struct IRESMAN_ConstructArgs IRESMAN_ConstructArgs

Abstract Protocol Construct Arguments structure/pointer definition. Arguments passed by the Resource manager to request a resource from a specific IRES Protocol will extend and supply the concrete definition.

typedef struct IRESMAN_ConstructFxns IRESMAN_ConstructFxns

These functions are used to determine memory requirements for and initialize the IRES protocol's environment that will be allocated by the resource manager.

Remarks:
These fxns are implemented by the IRES protocol that is used for a given channel (e.g, ACPY3), and are passed in the IRES_ProtocolArgs and IRES_ResmanProtocolConstructArgs structure to request a logical resource.
getName() - Called by the resource manager to query the name of the protocol to return to the generic Resource Manager RMAN
getRevision() - Called by the resource manager to query the revision of the protocol to return to the generic Resource Manager RMAN
getMemRecs() - Called by the resource manager when creating a resource handle to query the specific resource protocol's memory requirements. Since IRES is an abstract interface, the actual size of the handle can be extended by the specific resource protocol.
getNumMemRecs() - Called by the resource manager when creating a logical resource handle to obtain the number of IALG memory request descriptors the protocol uses to request memory for the resource handle.
constructHandle() - Called by the resource manager after allocating memory for the handle, so that the resource specific custom protocol initializes the handle.
destructHandle() - Called by the resource manager just before the resource is freed, to allow the custom IRES protocol to perform any required de-initialization.


Framework Components Application Programming Interface (API): MEMUTILS

Functions | Defines

MEMUTILS

Functions

Void | MEMUTILS_cacheInv (Ptr addr, Int sizeInBytes)
Invalidate a range of cache.
Void | MEMUTILS_cacheWb (Ptr addr, Int sizeInBytes)
Write back cache.
Void | MEMUTILS_cacheWbInv (Ptr addr, Int sizeInBytes)
Write back and invalidate cache.
Void * | MEMUTILS_getPhysicalAddr (Ptr addr)
Obtain physical (hardware specific) address.

Defines

#define | MEMUTILS_MODNAME "ti.sdo.fc.memutils"
Name used to identify the module for setting xdc.runtime.Diags masks.

Detailed Description

MEMUTILS is a set of APIs that can be called by xDAIS algorithms to manage their Cache and also to obtain Physical addresses for algorithms that need to program accelarators (i.e., EDMA3, HDVICP etc)

Remarks:

Function Documentation

Void MEMUTILS_cacheInv | ( | Ptr | addr,
 |  | Int | sizeInBytes
 | ) |  |

Invalidate a range of cache.

Parameters:
[in] | addr | Address of the beginning of the buffer to invalidate.
[in] | sizeInBytes | Size of the buffer to invalidate.
Remarks:
In addition to application usage, this is often called by a skeleton implementor after it has received a shared memory buffer from another processor, and before it invokes an algorithm's interface which will operate on that shared memory buffer.
See also:
MEMUTILS_cacheWb()
MEMUTILS_cacheWbInv()
Void MEMUTILS_cacheWb | ( | Ptr | addr,
 |  | Int | sizeInBytes
 | ) |  |

Write back cache.

Parameters:
[in] | addr | Address of the beginning of the buffer to writeback.
[in] | sizeInBytes | Size of the buffer to writeback.
See also:
MEMUTILS_cacheInv()
MEMUTILS_cacheWbInv()
Void MEMUTILS_cacheWbInv | ( | Ptr | addr,
 |  | Int | sizeInBytes
 | ) |  |

Write back and invalidate cache.

Parameters:
[in] | addr | Address of the beginning of the buffer to writeback and invalidate.
[in] | sizeInBytes | Size of the buffer to writeback invalidate.
See also:
MEMUTILS_cacheInv()
MEMUTILS_cacheWb()
Void* MEMUTILS_getPhysicalAddr ( Ptr addr )

Obtain physical (hardware specific) address.

Parameters:
[in] addr Address to convert to physical (hardware) address

Define Documentation

#define MEMUTILS_MODNAME "ti.sdo.fc.memutils"

Name used to identify the module for setting xdc.runtime.Diags masks.


Framework Components Application Programming Interface (API): Resource Manager for IRES-based resources

Functions | Defines | Data Structures | Typedefs | Variables

Resource Manager for IRES-based resources

Functions

IRES_Status | RMAN_init (Void)
Initialize the RMAN object with static information from the headers/configuration etc. This function has to return successfully before the other APIs are called.
IRES_Status | RMAN_exit (Void)
Delete the generic IRES RMAN and release memory back.
IRES_Status | RMAN_register (IRESMAN_Fxns *resmanFxns, IRESMAN_Params *initArgs)
Register the protocol/protocol revision and the device specific resource manager implementation with the Resource Registry of the RMAN.
IRES_Status | RMAN_unregister (IRESMAN_Fxns *resmanFxns)
Unregister the protocol and the corresponding resource manager implementation from the Resource Registry.
IRES_Status | RMAN_assignResources (IALG_Handle algHandle, IRES_Fxns *resFxns, Int scratchGroupId)
Assign resources to the algorithm indicated by algHandle. The resource requirements can be determined by using the IRES_Fxns implementation.
IRES_Status | RMAN_allocateResources (Int requestId, IRES_ResourceDescriptor *resDesc, Int numResources, Int scratchGroupId)
Directly allocate IRES resources by client without implementing IRES_Fxns.
IRES_Status | RMAN_freeResources (IALG_Handle algHandle, IRES_Fxns *resFxns, Int scratchGroupId)
Free resources held by the algorithm resource handle.
IRES_Status | RMAN_freeAllocatedResources (Int requestId, IRES_ResourceDescriptor *resDesc, Int numResources, Int scratchGroupId)
Free resources held by the algorithm resource handle.
IRES_Status | RMAN_activateResource (IALG_Handle algHandle, IRES_Handle resourceHandle, IRES_Fxns *resFxns, Int scratchGroupId)
Activate resource identified by the resourceHandle held by the algorithm.
IRES_Status | RMAN_activateAllResources (IALG_Handle algHandle, IRES_Fxns *resFxns, Int scratchGroupId)
Activate all resources held by the algorithm.
IRES_Status | RMAN_deactivateResource (IALG_Handle algHandle, IRES_Handle resourceHandle, IRES_Fxns *resFxns, Int scratchGroupId)
Deactivate resource identified by the resourceHandle held by the algorithm.
IRES_Status | RMAN_deactivateAllResources (IALG_Handle algHandle, IRES_Fxns *resFxns, Int scratchGroupId)
Deactivate all resources held by the algorithm.
void | RMAN_yield (IRES_YieldResourceType resource, IRES_YieldContextHandle algYieldContext, IRES_YieldArgs yieldArgs)
Yield function specifically for use when DSKT2 based algorithms need cooperative preemption and multi-tasking support This function is called by the algorithm at pre-determined points during its execution, to allow another algorithm of same, or higher prioirty to preempt its execution.

Defines

#define | RMAN_MODNAME "ti.sdo.fc.rman"
Name to pass to Diags_setMask() to enable logging for RMAN functions. For example, Diags_setMask(RMAN_MODNAME"+EX1234567"); turns on all Log statements in this module. Diags_setMask() must be called after initialization to take effect.
#define | RMAN_GTNAME "ti.sdo.fc.rman"
Name used to identify the GT module.
#define | RMAN_PROTOCOLNAMESIZE 200
Size of the Protocol Name in the Resource Registry Table.

Data Structures

struct | RMAN_Params
The module configuration structure for RMAN. It is set at design time by the system integrator to register the specific Resource Managers(IRESMAN implementations). More...

Typedefs

typedef struct Sem_Obj * | RMAN_SemHandle
Declare abstract handle for Semaphore object.
typedef IRES_YieldArgs(* | ti_sdo_fc_rman_RMAN_YieldArgsFxn )(Int scratchId, Bool yieldFlag)
Type declaration for the "yield fxn" which is required if if RMAN has been configured to yield execution to same/higher priority algorithms.
typedef struct RMAN_Params | RMAN_Params
The module configuration structure for RMAN. It is set at design time by the system integrator to register the specific Resource Managers(IRESMAN implementations).

Variables

__FAR__ RMAN_Params | RMAN_PARAMS
Initialization parameters for the generic Resource Manager.
__FAR__ IRESMAN_Fxns * | RMAN_TABLE []
RMAN Table to hold IRESMAN registrations.
__FAR__ short | RMAN_FREE_ENTRIES []
Free Table to hold entries freed from RMAN Table.
__FAR__ short | RMAN_numRegistryEntries
Number of entries statically configured for the Resource Registry table. Set this variable to zero if no static configuration is required.
__FAR__ IRESMAN_Fxns ** | RMAN_registryEntries
To allow for static configuration of the Resource Registry table this can be set to a valid configuration table or to NULL. Set this variable to NULL if no static configuration is required.
__FAR__ IRESMAN_Params ** | RMAN_registryResmanArgs
Initialization arguments for the entries to be registered Set this variable to NULL if no static configuration is required.
__FAR__ unsigned int ** | RMAN_iresVTable
Table that holds the mapping from algorithms IALG_Fxns to IRES_Fxns.
__FAR__ unsigned int | ti_sdo_fc_rman_RMAN_MAXALGS
Maximum number of algorithm instances that will use RMAN.
UInt32 | ti_sdo_fc_rman_RMAN_ipcKey
Base key value ofr RMAN Linux IPC Objects.
ti_sdo_fc_rman_RMAN_YieldArgsFxn ti_sdo_fc_rman_RMAN_setYieldArgs
Function to set yield arguments to pass to yield function set in RMAN_PARAMS.

Detailed Description

IRES generic Resource Manager RMAN Definitions - Generic Resource Manager that manages resource allocation for algorithms that implement the IRES interface

Function Documentation

IRES_Status RMAN_init ( Void )

Initialize the RMAN object with static information from the headers/configuration etc. This function has to return successfully before the other APIs are called.

Return values:
IRES_OK | IRES RMAN created successfully
IRES_ENORESOURCE | One of the calls to the device specific Resource Manager failed
IRES_Status RMAN_exit ( Void )

Delete the generic IRES RMAN and release memory back.

Return values:
IRES_OK | IRES RMAN exited successfully
IRES_EFAIL | Error closing device specific RESMAN
IRES_Status RMAN_register | ( | IRESMAN_Fxns * | resmanFxns,
 |  | IRESMAN_Params * | initArgs
 | ) |  |

Register the protocol/protocol revision and the device specific resource manager implementation with the Resource Registry of the RMAN.

Parameters:
[in] | resmanFxns | Device-specific implementation of the RESMAN interfaces
[in] | initArgs | Arguments to the initialization interface of the RESMAN interfaces
Return values:
IRES_OK | Registered successfully
IRES_EEXISTS | Protocol already exists
IRES_ENORESOURCE | Device specific Resman failed to initialize Resource Manager failed
IRES_EFAIL | Error closing device specific RESMAN
IRES_Status RMAN_unregister ( IRESMAN_Fxns * resmanFxns )

Unregister the protocol and the corresponding resource manager implementation from the Resource Registry.

Parameters:
[in] resmanFxns Device-specific implementation of the RESMAN interfaces
Return values:
IRES_OK | Unregistered successfully
IRES_ENOTFOUND | Entry not found in the RMAN Table
IRES_EFAIL | Error closing device specific RESMAN
IRES_Status RMAN_assignResources | ( | IALG_Handle | algHandle,
 |  | IRES_Fxns * | resFxns,
 |  | Int | scratchGroupId
 | ) |  |

Assign resources to the algorithm indicated by algHandle. The resource requirements can be determined by using the IRES_Fxns implementation.

Parameters:
[in] | algHandle | Handle to the algorithm
[in] | resFxns | Handle to the IRES implementation
[in] | scratchGroupId | Id of the scratch group in which resources are requested from -1 if persistent resources are requested. Note: If performing cooperative preemption, use the same scratchGroupId to request resources and to create algorithm. Failure to do so, will lead to unexpected behaviour.
Return values:
IRES_OK | Resources assigned successfully
IRES_EALG | One of the calls to the IRES interfaces of the algorithm failed
IRES_ENOMEM | Not enough memory
IRES_ENOTFOUND | Entry not found
IRES_ENORESOURCE | Resources unavailable
IRES_EFAIL | Error freeing handles etc
IRES_Status RMAN_allocateResources | ( | Int | requestId,
 |  | IRES_ResourceDescriptor * | resDesc,
 |  | Int | numResources,
 |  | Int | scratchGroupId
 | ) |  |

Directly allocate IRES resources by client without implementing IRES_Fxns.

Parameters:
[in] | requestId | Unique identifier used when requesting IRES resource allocation directly. Same identifier must be supplied when freeing allocated resources using RMAN_freeAllocatedResources
[in] | resDesc | IRES_ResourceDescriptor containing attributes of the resoureces that are being requested.
[in] | numResources | Number of request descriptors in the resDesc array used for requesting resources.
[in] | scratchGroupId | Id of the scratch group in which resources are requested from -1 if persistent resources are requested. Note: If performing cooperative preemption, use the same scratchGroupId to request resources and to create algorithm. Failure to do so, will lead to unexpected behaviour.
Return values:
IRES_OK | Resources assigned successfully
IRES_ENOMEM | Not enough memory
IRES_ENOTFOUND | Entry not found
IRES_ENORESOURCE | Resources unavailable
IRES_EFAIL | Error freeing handles etc
IRES_Status RMAN_freeResources | ( | IALG_Handle | algHandle,
 |  | IRES_Fxns * | resFxns,
 |  | Int | scratchGroupId
 | ) |  |

Free resources held by the algorithm resource handle.

Parameters:
[in] | algHandle | Handle to the algorithm
[in] | resFxns | Handle to the IRES implementation
[in] | scratchGroupId | Id of the scratch group in which resources were requested -1 if persistent resources are requested
Return values:
IRES_OK | Resources freed successfully
IRES_EALG | One of the calls to the IRES interfaces of the algorithm failed
IRES_ENOMEM | Not enough memory
IRES_ENOTFOUND | Entry not found
IRES_ENORESOURCE | Error obtaining resource information
IRES_EFAIL | Error freeing handles etc
IRES_ENOMEM | Out of memory
IRES_Status RMAN_freeAllocatedResources | ( | Int | requestId,
 |  | IRES_ResourceDescriptor * | resDesc,
 |  | Int | numResources,
 |  | Int | scratchGroupId
 | ) |  |

Free resources held by the algorithm resource handle.

Parameters:
[in] | requestId | Unique identifier that has been previously used when requesting IRES resource allocation directly via RMAN_allocateResources Same identifier must be supplied when freeing allocated resources.
[in] | resDesc | IRES_ResourceDescriptor containing attributes of the resoureces that have been used to obtain allocated resources.
[in] | numResources | Number of request descriptors in the resDesc array used for requesting resources.
[in] | scratchGroupId | Id of the scratch group in which resources were requested -1 if persistent resources are requested
Return values:
IRES_OK | Resources freed successfully
IRES_ENOTFOUND | Entry not found
IRES_ENORESOURCE | Error obtaining resource information
IRES_EFAIL | Error freeing handles etc
IRES_Status RMAN_activateResource | ( | IALG_Handle | algHandle,
 |  | IRES_Handle | resourceHandle,
 |  | IRES_Fxns * | resFxns,
 |  | Int | scratchGroupId
 | ) |  |

Activate resource identified by the resourceHandle held by the algorithm.

Parameters:
[in] | algHandle | Handle to the algorithm
[in] | resourceHandle | Handle to the resource
[in] | resFxns | Handle to the IRES implementation
[in] | scratchGroupId | Id of the scratch group in which resources are requested from
Return values:
IRES_OK Resource activated successfully
IRES_Status RMAN_activateAllResources | ( | IALG_Handle | algHandle,
 |  | IRES_Fxns * | resFxns,
 |  | Int | scratchGroupId
 | ) |  |

Activate all resources held by the algorithm.

Parameters:
[in] | algHandle | Handle to the algorithm
[in] | resFxns | Handle to the IRES implementation
[in] | scratchGroupId | Id of the scratch group in which resources are requested from
Return values:
IRES_OK All resources activated successfully
IRES_Status RMAN_deactivateResource | ( | IALG_Handle | algHandle,
 |  | IRES_Handle | resourceHandle,
 |  | IRES_Fxns * | resFxns,
 |  | Int | scratchGroupId
 | ) |  |

Deactivate resource identified by the resourceHandle held by the algorithm.

Parameters:
[in] | algHandle | Handle to the algorithm
[in] | resourceHandle | Handle to the resource
[in] | resFxns | Handle to the IRES implementation
[in] | scratchGroupId | Id of the scratch group in which resources are requested from
Return values:
IRES_OK Resource deactivated successfully
IRES_Status RMAN_deactivateAllResources | ( | IALG_Handle | algHandle,
 |  | IRES_Fxns * | resFxns,
 |  | Int | scratchGroupId
 | ) |  |

Deactivate all resources held by the algorithm.

Parameters:
[in] | algHandle | Handle to the algorithm
[in] | resFxns | Handle to the IRES implementation
[in] | scratchGroupId | Id of the scratch group in which resources are requested from
Return values:
IRES_OK Resources deactivated successfully
void RMAN_yield | ( | IRES_YieldResourceType | resource,
 |  | IRES_YieldContextHandle | algYieldContext,
 |  | IRES_YieldArgs | yieldArgs
 | ) |  |

Yield function specifically for use when DSKT2 based algorithms need cooperative preemption and multi-tasking support This function is called by the algorithm at pre-determined points during its execution, to allow another algorithm of same, or higher prioirty to preempt its execution.

Parameters:
[in] | resource | Enum identifying type of resource (ALL, Scratch Memory, Scratch DMA, IRES Resource)
[in] | algYieldContext | Handle to the yield context that contains information supplied by the algorithm including the algorithm handle, the corresponding context save/restore fxns and arguments with which to call these fxns.
[in] | yieldArgs | Framework supplied yield arguments that are passed to the algorithm at the time of granting resource handles. These should be passed back unmodified to this function.

Define Documentation

#define RMAN_MODNAME "ti.sdo.fc.rman"

Name to pass to Diags_setMask() to enable logging for RMAN functions. For example, Diags_setMask(RMAN_MODNAME"+EX1234567"); turns on all Log statements in this module. Diags_setMask() must be called after initialization to take effect.

#define RMAN_GTNAME "ti.sdo.fc.rman"

Name used to identify the GT module.

#define RMAN_PROTOCOLNAMESIZE 200

Size of the Protocol Name in the Resource Registry Table.

Typedef Documentation

typedef struct Sem_Obj* RMAN_SemHandle

Declare abstract handle for Semaphore object.

typedef IRES_YieldArgs(* ti_sdo_fc_rman_RMAN_YieldArgsFxn)(Int scratchId, Bool yieldFlag)

Type declaration for the "yield fxn" which is required if if RMAN has been configured to yield execution to same/higher priority algorithms.

typedef struct RMAN_Params RMAN_Params

The module configuration structure for RMAN. It is set at design time by the system integrator to register the specific Resource Managers(IRESMAN implementations).

Remarks:
Typically, system integrators configure these settings using XDC config scripts. System integrators that use that method of configuration can ignore this structure definition. It's auto-generated during the config step by the XDC Tools.

Variable Documentation

__FAR__ RMAN_Params RMAN_PARAMS

Initialization parameters for the generic Resource Manager.

__FAR__ IRESMAN_Fxns* RMAN_TABLE[]

RMAN Table to hold IRESMAN registrations.

__FAR__ short RMAN_FREE_ENTRIES[]

Free Table to hold entries freed from RMAN Table.

__FAR__ short RMAN_numRegistryEntries

Number of entries statically configured for the Resource Registry table. Set this variable to zero if no static configuration is required.

__FAR__ IRESMAN_Fxns** RMAN_registryEntries

To allow for static configuration of the Resource Registry table this can be set to a valid configuration table or to NULL. Set this variable to NULL if no static configuration is required.

__FAR__ IRESMAN_Params** RMAN_registryResmanArgs

Initialization arguments for the entries to be registered Set this variable to NULL if no static configuration is required.

__FAR__ unsigned int** RMAN_iresVTable

Table that holds the mapping from algorithms IALG_Fxns to IRES_Fxns.

__FAR__ unsigned int ti_sdo_fc_rman_RMAN_MAXALGS

Maximum number of algorithm instances that will use RMAN.

UInt32 ti_sdo_fc_rman_RMAN_ipcKey

Base key value ofr RMAN Linux IPC Objects.

ti_sdo_fc_rman_RMAN_YieldArgsFxn ti_sdo_fc_rman_RMAN_setYieldArgs

Function to set yield arguments to pass to yield function set in RMAN_PARAMS.


Framework Components Application Programming Interface (API): XDAIS Types and Constants

Defines | Typedefs

XDAIS Types and Constants

Defines

#define | XDAS_TRUE 1
#define | XDAS_FALSE 0

Typedefs

typedef Void | XDAS_Void
typedef Uint8 | XDAS_Bool
typedef Int8 | XDAS_Int8
typedef Uint8 | XDAS_UInt8
typedef Int16 | XDAS_Int16
typedef Uint16 | XDAS_UInt16
typedef Int32 | XDAS_Int32
typedef Uint32 | XDAS_UInt32

Define Documentation

#define XDAS_TRUE 1
#define XDAS_FALSE 0

Typedef Documentation

typedef Void XDAS_Void
typedef Uint8 XDAS_Bool
typedef Int8 XDAS_Int8

Actual size chip dependent.

typedef Uint8 XDAS_UInt8

Actual size chip dependent.

typedef Int16 XDAS_Int16

Actual size of type is 16 bits.

typedef Uint16 XDAS_UInt16

Actual size of type is 16 bits.

typedef Int32 XDAS_Int32

Actual size of type is 32 bits.

typedef Uint32 XDAS_UInt32

Actual size of type is 32 bits.


Framework Components Application Programming Interface (API): IRES EDMA3 Protocol

Defines | Data Structures | Typedefs | Enumerations

IRES EDMA3 Protocol

Defines

#define | IRES_EDMA3CHAN_PROTOCOLNAME "ti.sdo.fc.ires.edma3chan"
Name used to describe this protocol.
#define | EDMA3CHAN_MODNAME "ti.sdo.fc.ires.edma3chan"
Name to pass to Diags_setMask() to enable logging for EDMA3CHAN functions.
#define | IRES_EDMA3CHAN_PROTOCOLREVISION_1_0_0 {1, 0, 0}
Protocol Revision for the 1.0.0 version of resource.
#define | IRES_EDMA3CHAN_SETPROTOCOLREVISION_1_0_0(rev)
#define | IRES_EDMA3CHAN_PROTOCOLREVISION_2_0_0 {2, 0, 0}
Protocol Revision for the 2.0.0 version of resource.
#define | IRES_EDMA3CHAN_SETPROTOCOLREVISION_2_0_0(rev)
#define | IRES_EDMA3CHAN_MAXPARAMS 512
Maximum number of params and tccs that can be requested in one handle.
#define | IRES_EDMA3CHAN_MAXTCCS 32
#define | IRES_EDMA3CHAN_NUMDESTTYPES 8
#define | IRES_EDMA3CHAN_PARAM_ANY 512
Macros to represent different PaRam, Channel and tcc types.
#define | IRES_EDMA3CHAN_PARAM_NONE 513
#define | IRES_EDMA3CHAN_TCC_ANY 514
#define | IRES_EDMA3CHAN_TCC_NONE 515
#define | IRES_EDMA3CHAN_EDMACHAN_ANY 516
#define | IRES_EDMA3CHAN_QDMACHAN_ANY 516
#define | IRES_EDMA3CHAN_CHAN_NONE 518

Data Structures

struct | IRES_EDMA3CHAN_PaRamStruct
Representation of actual PaRam hardware registers. More...
struct | IRES_EDMA3CHAN_ProtocolArgs
EDMA3 Linked Transfer Protocol Arguments definition. More...
struct | IRES_EDMA3CHAN_Obj
Object returned to the algorithm requesting EDMA3 resources. More...
struct | IRES_EDMA3CHAN_EDMA3ShadowRegister
Defines the shadow register part of the EDMA3 CC Register Layer. More...
struct | IRES_EDMA3CHAN_EDMA3DraeRegister
Defines the Region Enable register part of the EDMA3 CC Register Layer. More...
struct | IRES_EDMA3CHAN_EDMA3RegisterLayer
Defines the EDMA3 CC Register Layout. More...
struct | IRES_EDMA3CHAN_Properties
Static Resource Properties. More...
struct | IRES_EDMA3CHAN2_Obj
Object returned to the algorithm requesting EDMA3 resources. More...

Typedefs

typedef struct IRES_EDMA3CHAN_Obj * | IRES_EDMA3CHAN_Handle
Handle to "logical" EDMA3CHAN resource, version {1,0,0}.
typedef struct
IRES_EDMA3CHAN2_Obj * 		IRES_EDMA3CHAN2_Handle
Handle to "logical" EDMA3CHAN resource, version {2,0,0}.
typedef struct
IRES_EDMA3CHAN_PaRamStruct 		IRES_EDMA3CHAN_PaRamStruct
Representation of actual PaRam hardware registers.
typedef struct
IRES_EDMA3CHAN_ProtocolArgs 		IRES_EDMA3CHAN_ProtocolArgs
EDMA3 Linked Transfer Protocol Arguments definition.
typedef struct IRES_EDMA3CHAN_Obj | IRES_EDMA3CHAN_Obj
Object returned to the algorithm requesting EDMA3 resources.
typedef struct
IRES_EDMA3CHAN_EDMA3ShadowRegister 		IRES_EDMA3CHAN_EDMA3ShadowRegister
Defines the shadow register part of the EDMA3 CC Register Layer.
typedef struct
IRES_EDMA3CHAN_EDMA3DraeRegister 		IRES_EDMA3CHAN_EDMA3DraeRegister
Defines the Region Enable register part of the EDMA3 CC Register Layer.
typedef struct
IRES_EDMA3CHAN_EDMA3RegisterLayer 		IRES_EDMA3CHAN_EDMA3RegisterLayer
Defines the EDMA3 CC Register Layout.
typedef struct
IRES_EDMA3CHAN_Properties 		IRES_EDMA3CHAN_Properties
Static Resource Properties.
typedef enum
IRES_EDMA3CHAN_DmaDestType 		IRES_EDMA3CHAN_DmaDestType
Describes the Destination type of DMA writes This information is used to distribute different types of DMA writes to different EDMA3 Queues.
typedef struct IRES_EDMA3CHAN2_Obj | IRES_EDMA3CHAN2_Obj
Object returned to the algorithm requesting EDMA3 resources.

Enumerations

enum IRES_EDMA3CHAN_DmaDestType {
INTMEMORY0 = 0,
INTMEMORY1 = 1,
INTMEMORY2 = 2,
EXTMEMORY0 = 3,
EXTMEMORY1 = 4,
EXTMEMORY2 = 5,
OTHER0 = 6,
OTHER1 = 7
}

Describes the Destination type of DMA writes This information is used to distribute different types of DMA writes to different EDMA3 Queues.

More...

Detailed Description

Allows algorithms to request and receive handles representing EDMA3 resources associated with a single EDMA3 channel.

Define Documentation

#define IRES_EDMA3CHAN_PROTOCOLNAME "ti.sdo.fc.ires.edma3chan"

Name used to describe this protocol.

#define EDMA3CHAN_MODNAME "ti.sdo.fc.ires.edma3chan"

Name to pass to Diags_setMask() to enable logging for EDMA3CHAN functions.

Remarks:
For example, Diags_setMask(EDMA3CHAN_MODNAME"+EX1234567"); turns on all Log statements in this module. Diags_setMask() must be called after initialization to take effect.
#define IRES_EDMA3CHAN_PROTOCOLREVISION_1_0_0 {1, 0, 0}

Protocol Revision for the 1.0.0 version of resource.

#define IRES_EDMA3CHAN_SETPROTOCOLREVISION_1_0_0 ( rev )
Value:
{(rev)->Major = 1; \
        (rev)->Source = 0; (rev)->Radius = 0;}
#define IRES_EDMA3CHAN_PROTOCOLREVISION_2_0_0 {2, 0, 0}

Protocol Revision for the 2.0.0 version of resource.

#define IRES_EDMA3CHAN_SETPROTOCOLREVISION_2_0_0 ( rev )
Value:
{(rev)->Major = 2; \
        (rev)->Source = 0; (rev)->Radius = 0;}
#define IRES_EDMA3CHAN_MAXPARAMS 512

Maximum number of params and tccs that can be requested in one handle.

#define IRES_EDMA3CHAN_MAXTCCS 32
#define IRES_EDMA3CHAN_NUMDESTTYPES 8
#define IRES_EDMA3CHAN_PARAM_ANY 512

Macros to represent different PaRam, Channel and tcc types.

#define IRES_EDMA3CHAN_PARAM_NONE 513
#define IRES_EDMA3CHAN_TCC_ANY 514
#define IRES_EDMA3CHAN_TCC_NONE 515
#define IRES_EDMA3CHAN_EDMACHAN_ANY 516
#define IRES_EDMA3CHAN_QDMACHAN_ANY 516
#define IRES_EDMA3CHAN_CHAN_NONE 518

Typedef Documentation

typedef struct IRES_EDMA3CHAN_Obj* IRES_EDMA3CHAN_Handle

Handle to "logical" EDMA3CHAN resource, version {1,0,0}.

typedef struct IRES_EDMA3CHAN2_Obj* IRES_EDMA3CHAN2_Handle

Handle to "logical" EDMA3CHAN resource, version {2,0,0}.

typedef struct IRES_EDMA3CHAN_PaRamStruct IRES_EDMA3CHAN_PaRamStruct

Representation of actual PaRam hardware registers.

See also:
http://processors.wiki.ti.com/index.php/EDMA3
typedef struct IRES_EDMA3CHAN_ProtocolArgs IRES_EDMA3CHAN_ProtocolArgs

EDMA3 Linked Transfer Protocol Arguments definition.

Remarks:
When requesting resources on a device on which DCHMAP feature does not exist, please follow these rules:
  1. Break up requests into LOGICAL channel requests and requests for PaRams.
  2. Logical Qdma/Edma channel => Q/E channel + PaRam + TCC
  3. Avoid requesting EDMA3 resources of specific number, for most transfers an "ANY" type request should be sufficient
  4. For linked transfers, request a Logical channel in one descriptor, and "N" contiguous Params in another descriptor
  5. If a logical channel request is combined with a request for multiple Params or Tccs, this might result in an inefficient allocation of resources, and in some cases, simplifying assumptions about the resource requests may be made by the allocator.
typedef struct IRES_EDMA3CHAN_Obj IRES_EDMA3CHAN_Obj

Object returned to the algorithm requesting EDMA3 resources.

Remarks:
IRES_EDMA3CHAN_Obj extends the generic IRES_Obj structure.
IRES_EDMA3CHAN2_Obj corresponds to IRES_EDMA3CHAN_PROTOCOLREVISION_1_0_0.
See also:
IRES_EDMA3CHAN2_Obj
typedef struct IRES_EDMA3CHAN_EDMA3ShadowRegister IRES_EDMA3CHAN_EDMA3ShadowRegister

Defines the shadow register part of the EDMA3 CC Register Layer.

typedef struct IRES_EDMA3CHAN_EDMA3DraeRegister IRES_EDMA3CHAN_EDMA3DraeRegister

Defines the Region Enable register part of the EDMA3 CC Register Layer.

typedef struct IRES_EDMA3CHAN_EDMA3RegisterLayer IRES_EDMA3CHAN_EDMA3RegisterLayer

Defines the EDMA3 CC Register Layout.

typedef struct IRES_EDMA3CHAN_Properties IRES_EDMA3CHAN_Properties

Static Resource Properties.

typedef enum IRES_EDMA3CHAN_DmaDestType IRES_EDMA3CHAN_DmaDestType

Describes the Destination type of DMA writes This information is used to distribute different types of DMA writes to different EDMA3 Queues.

Remarks:
This enumeration data type should not be used for storage, but rather only for its constant values.
typedef struct IRES_EDMA3CHAN2_Obj IRES_EDMA3CHAN2_Obj

Object returned to the algorithm requesting EDMA3 resources.

Remarks:
IRES_EDMA3CHAN2_Obj extends the generic IRES_Obj structure.
IRES_EDMA3CHAN2_Obj corresponds to IRES_EDMA3CHAN_PROTOCOLREVISION_2_0_0.
IRES_EDMA3CHAN2_Obj has been enhanced from IRES_EDMA3CHAN_Obj's IRES_EDMA3CHAN_PROTOCOLREVISION_1_0_0 with the addition of the queueMap field.
Request this version of resource by specifying revision {2,0,0} when requesting the IRES_EDMA3CHAN resource.
See also:
IRES_EDMA3CHAN_Obj

Enumeration Type Documentation

enum IRES_EDMA3CHAN_DmaDestType

Describes the Destination type of DMA writes This information is used to distribute different types of DMA writes to different EDMA3 Queues.

Remarks:
This enumeration data type should not be used for storage, but rather only for its constant values.
Enumerator:
INTMEMORY0
INTMEMORY1
INTMEMORY2
EXTMEMORY0
EXTMEMORY1
EXTMEMORY2
OTHER0
OTHER1


Framework Components Application Programming Interface (API): IRESMAN EDMA3 -

Functions | Data Structures | Typedefs | Variables

IRESMAN EDMA3 -

Functions

String | IRESMAN_EDMA3CHAN_getProtocolName ()
Function to return the name of the protocol.
IRES_ProtocolRevision * IRESMAN_EDMA3CHAN_getProtocolRevision ()
Function to return the revision of the protocol.
IRES_Status | IRESMAN_EDMA3CHAN_init (IRESMAN_Params *initArgs)
Function to initialize the device specific resource manager implementation.
IRES_Status IRESMAN_EDMA3CHAN_exit ()
Function called when RESMAN is no longer needed. Use it to free memory allocated etc.
IRES_Handle | IRESMAN_EDMA3CHAN_getHandles (IALG_Handle algHandle, IRES_ResourceDescriptor *resDesc, Int scratchGroupId, IRES_Status *status)
Function that returns the IRES_Handle to the resource requested using the IRES_ResourceProtocolArgs.
IRES_Status | IRESMAN_EDMA3CHAN_freeHandle (IALG_Handle algHandle, IRES_Handle algResourceHandle, IRES_ResourceDescriptor *resDesc, Int scratchGroupId)
Frees handles back to the resource pool.

Data Structures

struct | IRESMAN_Edma3ChanParams
Configuration parameters for Edma3Chan resman implementation. More...

Typedefs

typedef struct
IRESMAN_Edma3ChanParams 		IRESMAN_Edma3ChanParams
Configuration parameters for Edma3Chan resman implementation.

Variables

__FAR__ IRESMAN_PersistentAllocFxn | _RMAN_allocPersistent
Memory allocation functions for all of RMANs and other IRES rotocol's memory requirements.
__FAR__ IRESMAN_PersistentFreeFxn | _RMAN_freePersistent
Memory free functions for all of RMANs and other IRES protocol's memory requirements.
IRESMAN_Fxns IRESMAN_EDMA3CHAN
IRES RESMAN implementation for EDMA3 Linked transfers.

Detailed Description

EDMA3 specific Resource Manager and corresponding IRES Protocol Implementation

Function Documentation

String IRESMAN_EDMA3CHAN_getProtocolName ( )

Function to return the name of the protocol.

Return values:
String name identifying the protocol
IRES_ProtocolRevision* IRESMAN_EDMA3CHAN_getProtocolRevision ( )

Function to return the revision of the protocol.

Return values:
Revision identifying the protocol
IRES_Status IRESMAN_EDMA3CHAN_init ( IRESMAN_Params * initArgs )

Function to initialize the device specific resource manager implementation.

Parameters:
[in] initArgs Initialization arguments that may be interpreted by the device specific implementation
Return values:
IRES_Status IRES_OK Success IRES_EEXISTS Already initialized IRES_EFAIL Error
IRES_Status IRESMAN_EDMA3CHAN_exit ( )

Function called when RESMAN is no longer needed. Use it to free memory allocated etc.

Return values:
IRES_Status IRES_OK Success IRES_ENOINIT Not initialized IRES_EFAIL Error
IRES_Handle IRESMAN_EDMA3CHAN_getHandles | ( | IALG_Handle | algHandle,
 |  | IRES_ResourceDescriptor * | resDesc,
 |  | Int | scratchGroupId,
 |  | IRES_Status * | status
 | ) |  |

Function that returns the IRES_Handle to the resource requested using the IRES_ResourceProtocolArgs.

Parameters:
[in] | algHandle | Handle of the algorithm that requests the resources
[in] | resDesc | Arguments to be interpreted by the IRES_Manager implementation to determine which actual physical resources to obtain
[in] | scratchGroupId | Group Id required if scratch resources are requested, -1 otherwise
[out] | status | Status of this call
Return values:
IRES_Handle Valid handle corresponding to the resource requested on success, or NULL on error.
IRES_Status IRESMAN_EDMA3CHAN_freeHandle | ( | IALG_Handle | algHandle,
 |  | IRES_Handle | algResourceHandle,
 |  | IRES_ResourceDescriptor * | resDesc,
 |  | Int | scratchGroupId
 | ) |  |

Frees handles back to the resource pool.

Parameters:
[in] | algHandle | Handle of the algorithm that frees the resources
[in] | algResourceHandle | Handle that is to be released
[in] | resDesc | Arguments that help determine which resources to free
[in] | scratchGroupId | Group Id required if scratch resources are requested, -1 otherwise
Return values:
IRES_Status IRES_OK Success IRES_EFAIL Failure

Typedef Documentation

typedef struct IRESMAN_Edma3ChanParams IRESMAN_Edma3ChanParams

Configuration parameters for Edma3Chan resman implementation.

Variable Documentation

__FAR__ IRESMAN_PersistentAllocFxn _RMAN_allocPersistent

Memory allocation functions for all of RMANs and other IRES rotocol's memory requirements.

__FAR__ IRESMAN_PersistentFreeFxn _RMAN_freePersistent

Memory free functions for all of RMANs and other IRES protocol's memory requirements.

IRESMAN_Fxns IRESMAN_EDMA3CHAN

IRES RESMAN implementation for EDMA3 Linked transfers.


Framework Components Application Programming Interface (API): IRES HDVICP Protocol

Defines | Data Structures | Typedefs | Enumerations

IRES HDVICP Protocol

Defines

#define | IRES_HDVICP_PROTOCOLNAME "ti.sdo.fc.ires.hdvicp"
Name used to describe this protocol.
#define | HDVICP_MODNAME "ti.sdo.fc.ires.hdvicp"
Name to pass to Diags_setMask() to enable logging for HDVICP functions. For example, Diags_setMask(HDVICP_MODNAME"+EX1234567"); turns on all Log statements in this module. Diags_setMask() must be called after initialization to take effect.

Data Structures

struct | IRES_HDVICP_ProtocolArgs
HDVICP Protocol Arguments definition. More...
struct | IRES_HDVICP_Obj
IRES_HDVICP_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource. More...
struct | IRES_HDVICP_RegisterLayer
HDVICP Register Layout. More...
struct | IRES_HDVICP_Properties
Static Resource Properties. More...

Typedefs

typedef struct IRES_HDVICP_Obj * | IRES_HDVICP_Handle
Handle to "logical" resource.
typedef enum
IRES_HDVICP_RequestType 		IRES_HDVICP_RequestType
Type of resource that can be requested.
typedef struct
IRES_HDVICP_ProtocolArgs 		IRES_HDVICP_ProtocolArgs
HDVICP Protocol Arguments definition.
typedef struct IRES_HDVICP_Obj | IRES_HDVICP_Obj
IRES_HDVICP_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource.
typedef struct
IRES_HDVICP_RegisterLayer 		IRES_HDVICP_RegisterLayer
HDVICP Register Layout.
typedef struct
IRES_HDVICP_Properties 		IRES_HDVICP_Properties
Static Resource Properties.

Enumerations

enum IRES_HDVICP_RequestType {
IRES_HDVICP_ID_0 = 0,
IRES_HDVICP_ID_1 = 1,
IRES_HDVICP_ID_ANY = 2
}

Type of resource that can be requested.

More...

Detailed Description

Allows algorithms to request and receive handles representing HDVICP resources.

Define Documentation

#define IRES_HDVICP_PROTOCOLNAME "ti.sdo.fc.ires.hdvicp"

Name used to describe this protocol.

#define HDVICP_MODNAME "ti.sdo.fc.ires.hdvicp"

Name to pass to Diags_setMask() to enable logging for HDVICP functions. For example, Diags_setMask(HDVICP_MODNAME"+EX1234567"); turns on all Log statements in this module. Diags_setMask() must be called after initialization to take effect.

Typedef Documentation

typedef struct IRES_HDVICP_Obj* IRES_HDVICP_Handle

Handle to "logical" resource.

typedef enum IRES_HDVICP_RequestType IRES_HDVICP_RequestType

Type of resource that can be requested.

typedef struct IRES_HDVICP_ProtocolArgs IRES_HDVICP_ProtocolArgs

HDVICP Protocol Arguments definition.

typedef struct IRES_HDVICP_Obj IRES_HDVICP_Obj

IRES_HDVICP_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource.

typedef struct IRES_HDVICP_RegisterLayer IRES_HDVICP_RegisterLayer

HDVICP Register Layout.

typedef struct IRES_HDVICP_Properties IRES_HDVICP_Properties

Static Resource Properties.

Enumeration Type Documentation

enum IRES_HDVICP_RequestType

Type of resource that can be requested.

Enumerator:
IRES_HDVICP_ID_0
IRES_HDVICP_ID_1
IRES_HDVICP_ID_ANY


Framework Components Application Programming Interface (API): IRES HDVICP2 Protocol

Defines | Data Structures | Typedefs | Enumerations | Variables

IRES HDVICP2 Protocol

Defines

#define | IRES_HDVICP2_PROTOCOLNAME "ti.sdo.fc.ires.hdvicp.hdvicp2"
Name used to describe this protocol.
#define | HDVICP2_MODNAME "ti.sdo.fc.ires.hdvicp2"
HDVICP2 module name.
#define | IRES_HDVICP2_ID_ANY -2
Used to specify the resource required in the protocol args, resource manager will return an HDVICP2 resource that is available to the scratch group.
#define | IRES_HDVICP2_ID_LATE_ACQUIRE -1
Used to specify the resource required for protocol args, late acquire implies that no resource is to be returned right now, resource will be acquired later in the process call, using the acquire fxn returned via the IRES_HDVICP2_Handle.
#define | IRES_HDVICP2_INVALID_ADDR 0xFFFFFFFF
Invalid address.
#define | IRES_HDVICP2_TIMEOUTFOREVER ((UInt)(-1))
Wait forever (never timeout)
#define | IRES_HDVICP2_UNKNOWNLATEACQUIREARG (-1)
Unknown late acquire argument.

Data Structures

struct | IRES_HDVICP2_ProtocolArgs
HDVICP2 Protocol Arguments definition. More...
struct | IRES_HDVICP2_Obj
IRES_HDVICP2_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource. More...
struct | IRES_HDVICP2_RegisterLayer
HDVICP2 Register Layout. More...
struct | IRES_HDVICP2_Properties
Static Resource Properties. More...

Typedefs

typedef struct IRES_HDVICP2_Obj * | IRES_HDVICP2_Handle
Handle to "logical" resource.
typedef IRES_YieldArgs(* | ti_sdo_fc_ires_hdvicp_HDVICP2_GetYieldArgsFxn )(Int scratchId)
typedef Void(* | ti_sdo_fc_ires_hdvicp_HDVICP2_YieldFxn )(IRES_YieldResourceType resource, IRES_YieldContextHandle ctxt, IRES_YieldArgs args)
typedef struct
IRES_HDVICP2_ProtocolArgs 		IRES_HDVICP2_ProtocolArgs
HDVICP2 Protocol Arguments definition.
typedef void(* | IRES_HDVICP2_CallbackFxn )(IALG_Handle handle, Void *args)
Callback function signature, used by the IRES_HDVICP2_ Handle's configure function.
typedef enum IRES_HDVICP2_Status | IRES_HDVICP2_Status
Describes the status/history of the HDVICP2 unit that is returned by the acquire call. This information can be used by the codec to avoid reloading the data memory or the program memory in the HDVICP2.
typedef struct IRES_HDVICP2_Obj | IRES_HDVICP2_Obj
IRES_HDVICP2_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource.
typedef struct
IRES_HDVICP2_RegisterLayer 		IRES_HDVICP2_RegisterLayer
HDVICP2 Register Layout.
typedef struct
IRES_HDVICP2_Properties 		IRES_HDVICP2_Properties
Static Resource Properties.
typedef IRES_Status(* | ti_sdo_fc_ires_hdvicp_HDVICP2_GetHdvicp2Fxn )(XDAS_Int32 *Id, IALG_Handle alg, IRES_HDVICP2_Handle handle)
typedef IRES_Status(* | ti_sdo_fc_ires_hdvicp_HDVICP2_FreeHdvicp2Fxn )(XDAS_Int32 Id, IALG_Handle alg, IRES_HDVICP2_Handle handle)

Enumerations

enum IRES_HDVICP2_Status {
SAMECODEC = 0,
SAMECODECTYPE = 1,
DIFFERENTCODEC = 2
}

Describes the status/history of the HDVICP2 unit that is returned by the acquire call. This information can be used by the codec to avoid reloading the data memory or the program memory in the HDVICP2.

More...

Variables

unsigned int | ti_sdo_fc_ires_hdvicp_HDVICP2_timeoutVal
Timeout value to be used by implementation of IRES_HDVICP2_Handle:wait function.

Detailed Description

Allows algorithms to request and receive handles representing HDVICP2 resources.

Define Documentation

#define IRES_HDVICP2_PROTOCOLNAME "ti.sdo.fc.ires.hdvicp.hdvicp2"

Name used to describe this protocol.

#define HDVICP2_MODNAME "ti.sdo.fc.ires.hdvicp2"

HDVICP2 module name.

Remarks:
This name can be passed to Diags_setMask() to enable/disable logging for this module. For example, Diags_setMask(HDVICP2_MODNAME"+EX1234567"); enables all Log statements in this module.
Diags_setMask() must be called after initialization to take effect.
#define IRES_HDVICP2_ID_ANY -2

Used to specify the resource required in the protocol args, resource manager will return an HDVICP2 resource that is available to the scratch group.

#define IRES_HDVICP2_ID_LATE_ACQUIRE -1

Used to specify the resource required for protocol args, late acquire implies that no resource is to be returned right now, resource will be acquired later in the process call, using the acquire fxn returned via the IRES_HDVICP2_Handle.

#define IRES_HDVICP2_INVALID_ADDR 0xFFFFFFFF

Invalid address.

Remarks:
Indicates the address returned in the IRES_HDVICP2_Handle is not yet valid, and should not be used.
#define IRES_HDVICP2_TIMEOUTFOREVER ((UInt)(-1))

Wait forever (never timeout)

Remarks:
Used to indicate to IRES_HDVICP2_Obj::wait() that the call should never timeout.
#define IRES_HDVICP2_UNKNOWNLATEACQUIREARG (-1)

Unknown late acquire argument.

Remarks:
This definition should be used when a particular algorithm doesn't have an application-provided late acquire argument. The codec should supply IRES_HDVICP2_UNKNOWNLATEACQUIREARG as the argument to acquire() in this case.
See also:
XDM_CmdId::XDM_SETLATEACQUIREARG

Typedef Documentation

typedef struct IRES_HDVICP2_Obj* IRES_HDVICP2_Handle

Handle to "logical" resource.

typedef IRES_YieldArgs(* ti_sdo_fc_ires_hdvicp_HDVICP2_GetYieldArgsFxn)(Int scratchId)
typedef Void(* ti_sdo_fc_ires_hdvicp_HDVICP2_YieldFxn)(IRES_YieldResourceType resource, IRES_YieldContextHandle ctxt, IRES_YieldArgs args)
typedef struct IRES_HDVICP2_ProtocolArgs IRES_HDVICP2_ProtocolArgs

HDVICP2 Protocol Arguments definition.

typedef void(* IRES_HDVICP2_CallbackFxn)(IALG_Handle handle, Void *args)

Callback function signature, used by the IRES_HDVICP2_ Handle's configure function.

typedef enum IRES_HDVICP2_Status IRES_HDVICP2_Status

Describes the status/history of the HDVICP2 unit that is returned by the acquire call. This information can be used by the codec to avoid reloading the data memory or the program memory in the HDVICP2.

Remarks:
This enumeration data type should not be used for storage, but rather only for its constant values.
typedef struct IRES_HDVICP2_Obj IRES_HDVICP2_Obj

IRES_HDVICP2_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource.

typedef struct IRES_HDVICP2_RegisterLayer IRES_HDVICP2_RegisterLayer

HDVICP2 Register Layout.

typedef struct IRES_HDVICP2_Properties IRES_HDVICP2_Properties

Static Resource Properties.

typedef IRES_Status(* ti_sdo_fc_ires_hdvicp_HDVICP2_GetHdvicp2Fxn)(XDAS_Int32 *Id, IALG_Handle alg, IRES_HDVICP2_Handle handle)
typedef IRES_Status(* ti_sdo_fc_ires_hdvicp_HDVICP2_FreeHdvicp2Fxn)(XDAS_Int32 Id, IALG_Handle alg, IRES_HDVICP2_Handle handle)

Enumeration Type Documentation

enum IRES_HDVICP2_Status

Describes the status/history of the HDVICP2 unit that is returned by the acquire call. This information can be used by the codec to avoid reloading the data memory or the program memory in the HDVICP2.

Remarks:
This enumeration data type should not be used for storage, but rather only for its constant values.
Enumerator:
SAMECODEC

Same codec was granted this unit, last time

SAMECODECTYPE

Different codec, but of the same codec class was granted this unit last time

DIFFERENTCODEC

Completely different codec ran last time

Variable Documentation

unsigned int ti_sdo_fc_ires_hdvicp_HDVICP2_timeoutVal

Timeout value to be used by implementation of IRES_HDVICP2_Handle:wait function.


Framework Components Application Programming Interface (API): IRESMAN PROTOCOL - HDVICP

Functions | Defines | Data Structures | Typedefs | Variables

IRESMAN PROTOCOL - HDVICP

Functions

String | IRESMAN_HDVICP_getProtocolName ()
Function to return the name of the protocol.
IRES_ProtocolRevision * IRESMAN_HDVICP_getProtocolRevision ()
Function to return the revision of the protocol.
IRES_Status | IRESMAN_HDVICP_init (IRESMAN_Params *initArgs)
Function to initialize the device specific resource manager implementation.
IRES_Status IRESMAN_HDVICP_exit ()
Function called when RESMAN is no longer needed. Use it to free memory allocated etc.
IRES_Handle | IRESMAN_HDVICP_getHandles (IALG_Handle algHandle, IRES_ResourceDescriptor *resDesc, Int scratchGroupId, IRES_Status *status)
Function that returns the IRES_Handle to the resource requested using the IRES_ResourceProtocolArgs.
IRES_Status | IRESMAN_HDVICP_freeHandles (IALG_Handle algHandle, IRES_Handle algResourceHandle, IRES_ResourceDescriptor *resDesc, Int scratchGroupId)
Frees handles back to the resource pool.

Defines

#define | IRES_HDVICP_MAXRESOURCES 10

Data Structures

struct | IRESMAN_HdVicpParams

Typedefs

typedef struct IRESMAN_HdVicpParams | IRESMAN_HdVicpParams

Variables

__FAR__ IRESMAN_PersistentAllocFxn | _RMAN_allocPersistent
Memory allocation functions for all of RMANs and other IRES protocol's memory requirements.
__FAR__ IRESMAN_PersistentFreeFxn | _RMAN_freePersistent
Memory free functions for all of RMANs and other IRES protocol's memory requirements.
IRESMAN_Fxns IRESMAN_HDVICP
IRES RESMAN implementation for HDVICP.

Detailed Description

HDVICP specific Resource Manager and corresponding IRES Protocol Implementation.

Function Documentation

String IRESMAN_HDVICP_getProtocolName ( )

Function to return the name of the protocol.

Return values:
String name identifying the protocol
IRES_ProtocolRevision* IRESMAN_HDVICP_getProtocolRevision ( )

Function to return the revision of the protocol.

Return values:
Revision identifying the protocol
IRES_Status IRESMAN_HDVICP_init ( IRESMAN_Params * initArgs )

Function to initialize the device specific resource manager implementation.

Parameters:
[in] initArgs Initialization arguments that may be interpreted by the device specific implementation
Return values:
IRES_Status IRES_OK Success IRES_EEXISTS Already initialized IRES_EFAIL Error
IRES_Status IRESMAN_HDVICP_exit ( )

Function called when RESMAN is no longer needed. Use it to free memory allocated etc.

Return values:
IRES_Status IRES_OK Success IRES_ENOINIT Not initialized IRES_EFAIL Error
IRES_Handle IRESMAN_HDVICP_getHandles | ( | IALG_Handle | algHandle,
 |  | IRES_ResourceDescriptor * | resDesc,
 |  | Int | scratchGroupId,
 |  | IRES_Status * | status
 | ) |  |

Function that returns the IRES_Handle to the resource requested using the IRES_ResourceProtocolArgs.

Parameters:
[in] | algHandle | Handle of the algorithm that is acquiring resources
[in] | resDesc | Resource descriptor to be interpreted by IRES_Manager implementation to determine which actual physical resources to obtain
[in] | scratchGroupId | Group Id required if scratch resources are requested, -1 otherwise
[out] | status | Status of this call
Return values:
IRES_Handle Valid handle corresponding to the resource requested on success, or NULL on error.
IRES_Status IRESMAN_HDVICP_freeHandles | ( | IALG_Handle | algHandle,
 |  | IRES_Handle | algResourceHandle,
 |  | IRES_ResourceDescriptor * | resDesc,
 |  | Int | scratchGroupId
 | ) |  |

Frees handles back to the resource pool.

Parameters:
[in] | algHandle | Handle of the algorithm that is releasing resources
[in] | algResourceHandle | Handle that is to be released
[in] | resDesc | Resource desc. args to help determine which resources to free
[in] | scratchGroupId | Group Id required if scratch resources are requested, -1 otherwise
Return values:
IRES_Status IRES_OK Success IRES_EFAIL Failure

Define Documentation

#define IRES_HDVICP_MAXRESOURCES 10

Typedef Documentation

typedef struct IRESMAN_HdVicpParams IRESMAN_HdVicpParams

Variable Documentation

__FAR__ IRESMAN_PersistentAllocFxn _RMAN_allocPersistent

Memory allocation functions for all of RMANs and other IRES protocol's memory requirements.

__FAR__ IRESMAN_PersistentFreeFxn _RMAN_freePersistent

Memory free functions for all of RMANs and other IRES protocol's memory requirements.

IRESMAN_Fxns IRESMAN_HDVICP

IRES RESMAN implementation for HDVICP.


Framework Components Application Programming Interface (API): IRES TILEDMEMORY Protocol (Beta)

Defines | Data Structures | Typedefs | Enumerations

IRES TILEDMEMORY Protocol (Beta)

Defines

#define | IRES_TILEDMEMORY_PROTOCOLNAME "ti.sdo.fc.ires.tiledmemory"
Name used to describe this protocol.
#define | TILEDMEMORY_MODNAME "ti.sdo.fc.ires.tiledmemory"
Name to pass to Diags_setMask() to enable logging for TILEDMEMORY functions. For example, Diags_setMask(TILEDMEMORY_MODNAME"+EX1234567"); turns on all Log statements in this module. Diags_setMask() must be called after initialization to take effect.

Data Structures

struct | IRES_TILEDMEMORY_ProtocolArgs
TILEDMEMORY Protocol Arguments definition. More...
struct | IRES_TILEDMEMORY_Obj
IRES_TILEDMEMORY_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource. More...
struct | IRES_TILEDMEMORY_RegisterLayer
TILEDMEMORY Register Layout. More...
struct | IRES_TILEDMEMORY_Properties
Static Resource Properties. More...

Typedefs

typedef struct
IRES_TILEDMEMORY_Obj * 		IRES_TILEDMEMORY_Handle
Handle to "logical" resource.
typedef enum
IRES_TILEDMEMORY_AccessDimension 		IRES_TILEDMEMORY_AccessDimension
Indicates whether requested/granted memory is of type 1D or 2D.
typedef enum
IRES_TILEDMEMORY_AccessUnit 		IRES_TILEDMEMORY_AccessUnit
Indicates the size of the Tiler elements requested by the codec.
typedef struct
IRES_TILEDMEMORY_ProtocolArgs 		IRES_TILEDMEMORY_ProtocolArgs
TILEDMEMORY Protocol Arguments definition.
typedef struct IRES_TILEDMEMORY_Obj | IRES_TILEDMEMORY_Obj
IRES_TILEDMEMORY_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource.
typedef struct
IRES_TILEDMEMORY_RegisterLayer 		IRES_TILEDMEMORY_RegisterLayer
TILEDMEMORY Register Layout.
typedef struct
IRES_TILEDMEMORY_Properties 		IRES_TILEDMEMORY_Properties
Static Resource Properties.

Enumerations

enum IRES_TILEDMEMORY_AccessDimension {
IRES_TILEDMEMORY_1D = 0,
IRES_TILEDMEMORY_2D = 1
}

Indicates whether requested/granted memory is of type 1D or 2D.

More...
enum IRES_TILEDMEMORY_AccessUnit {
IRES_TILEDMEMORY_RAW = 0,
IRES_TILEDMEMORY_PAGE = 1,
IRES_TILEDMEMORY_8BIT = 2,
IRES_TILEDMEMORY_16BIT = 3,
IRES_TILEDMEMORY_32BIT = 4
}

Indicates the size of the Tiler elements requested by the codec.

More...

Detailed Description

Allows algorithms to request and receive handles representing TILEDMEMORY resources.

Define Documentation

#define IRES_TILEDMEMORY_PROTOCOLNAME "ti.sdo.fc.ires.tiledmemory"

Name used to describe this protocol.

#define TILEDMEMORY_MODNAME "ti.sdo.fc.ires.tiledmemory"

Name to pass to Diags_setMask() to enable logging for TILEDMEMORY functions. For example, Diags_setMask(TILEDMEMORY_MODNAME"+EX1234567"); turns on all Log statements in this module. Diags_setMask() must be called after initialization to take effect.

Typedef Documentation

typedef struct IRES_TILEDMEMORY_Obj* IRES_TILEDMEMORY_Handle

Handle to "logical" resource.

typedef enum IRES_TILEDMEMORY_AccessDimension IRES_TILEDMEMORY_AccessDimension

Indicates whether requested/granted memory is of type 1D or 2D.

Remarks:
This enumeration data type should not be used for storage, but rather only for its constant values.
typedef enum IRES_TILEDMEMORY_AccessUnit IRES_TILEDMEMORY_AccessUnit

Indicates the size of the Tiler elements requested by the codec.

Remarks:
This enumeration data type should not be used for storage, but rather only for its constant values.
typedef struct IRES_TILEDMEMORY_ProtocolArgs IRES_TILEDMEMORY_ProtocolArgs

TILEDMEMORY Protocol Arguments definition.

typedef struct IRES_TILEDMEMORY_Obj IRES_TILEDMEMORY_Obj

IRES_TILEDMEMORY_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource.

typedef struct IRES_TILEDMEMORY_RegisterLayer IRES_TILEDMEMORY_RegisterLayer

TILEDMEMORY Register Layout.

typedef struct IRES_TILEDMEMORY_Properties IRES_TILEDMEMORY_Properties

Static Resource Properties.

Enumeration Type Documentation

enum IRES_TILEDMEMORY_AccessDimension

Indicates whether requested/granted memory is of type 1D or 2D.

Remarks:
This enumeration data type should not be used for storage, but rather only for its constant values.
Enumerator:
IRES_TILEDMEMORY_1D
IRES_TILEDMEMORY_2D
enum IRES_TILEDMEMORY_AccessUnit

Indicates the size of the Tiler elements requested by the codec.

Remarks:
This enumeration data type should not be used for storage, but rather only for its constant values.
Enumerator:
IRES_TILEDMEMORY_RAW

Contiguously allocated non-TILED memory

IRES_TILEDMEMORY_PAGE

PAGE TILED memory

IRES_TILEDMEMORY_8BIT

8BIT TILED memory

IRES_TILEDMEMORY_16BIT

16BIT TILED memory

IRES_TILEDMEMORY_32BIT

32BIT TILED memory


Framework Components Application Programming Interface (API): IRESMAN TILEDMEM

Functions | Defines | Data Structures | Typedefs | Variables

IRESMAN TILEDMEM

Functions

String | IRESMAN_TILEDMEMORY_getProtocolName ()
Function to return the name of the protocol.
IRES_ProtocolRevision * IRESMAN_TILEDMEMORY_getProtocolRevision ()
Function to return the revision of the protocol.
IRES_Status | IRESMAN_TILEDMEMORY_init (IRESMAN_Params *initArgs)
Function to initialize the device specific resource manager implementation.
IRES_Status IRESMAN_TILEDMEMORY_exit ()
Function called when RESMAN is no longer needed. Use it to free memory allocated etc.
IRES_Handle | IRESMAN_TILEDMEMORY_getHandles (IALG_Handle algHandle, IRES_ResourceDescriptor *resDesc, Int scratchGroupId, IRES_Status *status)
Function that returns the IRES_Handle to the resource requested using the IRES_ResourceProtocolArgs.
IRES_Status | IRESMAN_TILEDMEMORY_freeHandles (IALG_Handle algHandle, IRES_Handle algResourceHandle, IRES_ResourceDescriptor *resDesc, Int scratchGroupId)
Frees handles back to the resource pool.

Defines

#define | IRES_TILEDMEMORY_MAXRESOURCES 10

Data Structures

struct | IRESMAN_TiledmemoryParams

Typedefs

typedef struct
IRESMAN_TiledmemoryParams 		IRESMAN_TiledmemoryParams

Variables

__FAR__ IRESMAN_PersistentAllocFxn | _RMAN_allocPersistent
Memory allocation functions for all of RMANs and other IRES protocol's memory requirements.
__FAR__ IRESMAN_PersistentFreeFxn | _RMAN_freePersistent
Memory free functions for all of RMANs and other IRES protocol's memory requirements.
IRESMAN_Fxns IRESMAN_TILEDMEMORY
IRES RESMAN implementation for TILEDMEMORY.

Detailed Description

TILEDMEMORY specific Resource Manager and corresponding IRES Protocol Implementation.

Function Documentation

String IRESMAN_TILEDMEMORY_getProtocolName ( )

Function to return the name of the protocol.

Return values:
String name identifying the protocol
IRES_ProtocolRevision* IRESMAN_TILEDMEMORY_getProtocolRevision ( )

Function to return the revision of the protocol.

Return values:
Revision identifying the protocol
IRES_Status IRESMAN_TILEDMEMORY_init ( IRESMAN_Params * initArgs )

Function to initialize the device specific resource manager implementation.

Parameters:
[in] initArgs Initialization arguments that may be interpreted by the device specific implementation
Return values:
IRES_Status IRES_OK Success IRES_EEXISTS Already initialized IRES_EFAIL Error
IRES_Status IRESMAN_TILEDMEMORY_exit ( )

Function called when RESMAN is no longer needed. Use it to free memory allocated etc.

Return values:
IRES_Status IRES_OK Success IRES_ENOINIT Not initialized IRES_EFAIL Error
IRES_Handle IRESMAN_TILEDMEMORY_getHandles | ( | IALG_Handle | algHandle,
 |  | IRES_ResourceDescriptor * | resDesc,
 |  | Int | scratchGroupId,
 |  | IRES_Status * | status
 | ) |  |

Function that returns the IRES_Handle to the resource requested using the IRES_ResourceProtocolArgs.

Parameters:
[in] | algHandle | Handle of the algorithm that is acquiring resources
[in] | resDesc | Arguments to be interpreted by the IRES_Manager implementation to determine which actual physical resources to obtain
[in] | scratchGroupId | Group Id required if scratch resources are requested, -1 otherwise
[out] | status | Status of this call
Return values:
IRES_Handle Valid handle corresponding to the resource requested on success, or NULL on error.
IRES_Status IRESMAN_TILEDMEMORY_freeHandles | ( | IALG_Handle | algHandle,
 |  | IRES_Handle | algResourceHandle,
 |  | IRES_ResourceDescriptor * | resDesc,
 |  | Int | scratchGroupId
 | ) |  |

Frees handles back to the resource pool.

Parameters:
[in] | algHandle | Handle of the algorithm that is releasing resources
[in] | algResourceHandle | Handle that is to be released
[in] | resDesc | Arguments that help determine which resources to free
[in] | scratchGroupId | Group Id required if scratch resources are requested, -1 otherwise
Return values:
IRES_Status IRES_OK Success IRES_EFAIL Failure

Define Documentation

#define IRES_TILEDMEMORY_MAXRESOURCES 10

Typedef Documentation

typedef struct IRESMAN_TiledmemoryParams IRESMAN_TiledmemoryParams

Variable Documentation

__FAR__ IRESMAN_PersistentAllocFxn _RMAN_allocPersistent

Memory allocation functions for all of RMANs and other IRES protocol's memory requirements.

__FAR__ IRESMAN_PersistentFreeFxn _RMAN_freePersistent

Memory free functions for all of RMANs and other IRES protocol's memory requirements.

IRESMAN_Fxns IRESMAN_TILEDMEMORY

IRES RESMAN implementation for TILEDMEMORY.


Framework Components Application Programming Interface (API): IRES VICP Protocol

Defines | Data Structures | Typedefs

IRES VICP Protocol

Defines

#define | IRES_VICP_MAXRESOURCES 1
#define | IRES_VICP_PROTOCOLNAME "ti.sdo.fc.ires.vicp"
Name used to describe this protocol.
#define | VICP_MODNAME "ti.sdo.fc.ires.vicp"
Name to pass to Diags_setMask() to enable logging for VICP functions. For example, Diags_setMask(VICP_MODNAME"+EX1234567"); turns on all Log statements in this module. Diags_setMask() must be called after initialization to take effect.

Data Structures

struct | IRES_VICP_ProtocolArgs
VICP Protocol Arguments definition. More...
struct | IRES_VICP_Obj
IRES_VICP_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource. More...
struct | IRES_VICP_Registers
struct | IRES_VICP_Properties

Typedefs

typedef struct IRES_VICP_Obj * | IRES_VICP_Handle
Handle to "logical" resource.
typedef struct
IRES_VICP_ProtocolArgs 		IRES_VICP_ProtocolArgs
VICP Protocol Arguments definition.
typedef struct IRES_VICP_Obj | IRES_VICP_Obj
IRES_VICP_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource.
typedef struct IRES_VICP_Registers | IRES_VICP_Registers
typedef struct IRES_VICP_Properties | IRES_VICP_Properties

Detailed Description

Allows algorithms to request and receive handles representing VICP resources.

Define Documentation

#define IRES_VICP_MAXRESOURCES 1
#define IRES_VICP_PROTOCOLNAME "ti.sdo.fc.ires.vicp"

Name used to describe this protocol.

#define VICP_MODNAME "ti.sdo.fc.ires.vicp"

Name to pass to Diags_setMask() to enable logging for VICP functions. For example, Diags_setMask(VICP_MODNAME"+EX1234567"); turns on all Log statements in this module. Diags_setMask() must be called after initialization to take effect.

Typedef Documentation

typedef struct IRES_VICP_Obj* IRES_VICP_Handle

Handle to "logical" resource.

typedef struct IRES_VICP_ProtocolArgs IRES_VICP_ProtocolArgs

VICP Protocol Arguments definition.

typedef struct IRES_VICP_Obj IRES_VICP_Obj

IRES_VICP_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource.

typedef struct IRES_VICP_Registers IRES_VICP_Registers
typedef struct IRES_VICP_Properties IRES_VICP_Properties


Framework Components Application Programming Interface (API): IRES VICP2 Protocol

Defines | Data Structures | Typedefs

IRES VICP2 Protocol

Defines

#define | IRES_VICP2_MAXRESOURCES 1
Maximum number of VICP resources(components) to be managed.
#define | IRES_VICP2_PROTOCOLNAME "ti.sdo.fc.ires.vicp2"
Name used to describe this protocol.
#define | VICP2_MODNAME "ti.sdo.fc.ires.vicp2"
Name to pass to Diags_setMask() to enable logging for VICP2 functions. For example, Diags_setMask(VICP2_MODNAME"+EX1234567"); turns on all Log statements in this module. Diags_setMask() must be called after initialization to take effect.
#define | IRES_VICP2_NUMBUFFERS 16
Maximum number of VICP buffers to be managed.
#define | IRES_VICP2_BADRESOURCE 0xFFFFFFFF
Value indicating a bad VICP resource was returned.
#define | IMCOP_BUFFER_IMGBUF_A 0x0
VICP Buffer resources(components) to be managed.
#define | IMCOP_BUFFER_IMGBUF_B 0x1
#define | IMCOP_BUFFER_IMGBUF_C 0x2
#define | IMCOP_BUFFER_IMGBUF_D 0x3
#define | IMCOP_BUFFER_IMGBUF_E 0x4
#define | IMCOP_BUFFER_IMX0COEFFBUF 0x5
#define | IMCOP_BUFFER_IMX0CMDBUF 0x6
#define | IMCOP_BUFFER_IMX1COEFFBUF 0x7
#define | IMCOP_BUFFER_IMX1CMDBUF 0x8
#define | IMCOP_BUFFER_BABYIMXCMDBUFFER 0x9
#define | IMCOP_BUFFER_BABYIMXORIGBUFFER 0xA
#define | IMCOP_BUFFER_BABYIMXREFBUFFER 0xB
#define | IMCOP_BUFFER_SEQUENCERPMEM 0xC
#define | IMCOP_BUFFER_QIQMEM 0xD
#define | IMCOP_BUFFER_HUFFMEM 0xE
#define | IMCOP_BUFFER_SEQBUF4 0xF

Data Structures

struct | IRES_VICP2_ProtocolArgs
VICP Protocol Arguments definition. More...
struct | IRES_VICP2_Obj
IRES_VICP2_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource. More...
struct | IRES_VICP2_Buffers
struct | IRES_VICP2_Properties

Typedefs

typedef struct IRES_VICP2_Obj * | IRES_VICP2_Handle
Handle to "logical" resource.
typedef struct
IRES_VICP2_ProtocolArgs 		IRES_VICP2_ProtocolArgs
VICP Protocol Arguments definition.
typedef struct IRES_VICP2_Obj | IRES_VICP2_Obj
IRES_VICP2_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource.
typedef struct IRES_VICP2_Buffers | IRES_VICP2_Buffers
typedef struct
IRES_VICP2_Properties 		IRES_VICP2_Properties

Detailed Description

Allows algorithms to request and receive handles representing VICP resources.

Define Documentation

#define IRES_VICP2_MAXRESOURCES 1

Maximum number of VICP resources(components) to be managed.

#define IRES_VICP2_PROTOCOLNAME "ti.sdo.fc.ires.vicp2"

Name used to describe this protocol.

#define VICP2_MODNAME "ti.sdo.fc.ires.vicp2"

Name to pass to Diags_setMask() to enable logging for VICP2 functions. For example, Diags_setMask(VICP2_MODNAME"+EX1234567"); turns on all Log statements in this module. Diags_setMask() must be called after initialization to take effect.

#define IRES_VICP2_NUMBUFFERS 16

Maximum number of VICP buffers to be managed.

#define IRES_VICP2_BADRESOURCE 0xFFFFFFFF

Value indicating a bad VICP resource was returned.

#define IMCOP_BUFFER_IMGBUF_A 0x0

VICP Buffer resources(components) to be managed.

#define IMCOP_BUFFER_IMGBUF_B 0x1
#define IMCOP_BUFFER_IMGBUF_C 0x2
#define IMCOP_BUFFER_IMGBUF_D 0x3

Only for DM365

#define IMCOP_BUFFER_IMGBUF_E 0x4

Only for DM365

#define IMCOP_BUFFER_IMX0COEFFBUF 0x5
#define IMCOP_BUFFER_IMX0CMDBUF 0x6
#define IMCOP_BUFFER_IMX1COEFFBUF 0x7

Only for DM365

#define IMCOP_BUFFER_IMX1CMDBUF 0x8

Only for DM365

#define IMCOP_BUFFER_BABYIMXCMDBUFFER 0x9
#define IMCOP_BUFFER_BABYIMXORIGBUFFER 0xA
#define IMCOP_BUFFER_BABYIMXREFBUFFER 0xB

Only for DM355

#define IMCOP_BUFFER_SEQUENCERPMEM 0xC

Only for DM365

#define IMCOP_BUFFER_QIQMEM 0xD
#define IMCOP_BUFFER_HUFFMEM 0xE
#define IMCOP_BUFFER_SEQBUF4 0xF

Typedef Documentation

typedef struct IRES_VICP2_Obj* IRES_VICP2_Handle

Handle to "logical" resource.

typedef struct IRES_VICP2_ProtocolArgs IRES_VICP2_ProtocolArgs

VICP Protocol Arguments definition.

typedef struct IRES_VICP2_Obj IRES_VICP2_Obj

IRES_VICP2_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource.

typedef struct IRES_VICP2_Buffers IRES_VICP2_Buffers
typedef struct IRES_VICP2_Properties IRES_VICP2_Properties


Framework Components Application Programming Interface (API): IRESMAN PROTOCOL - VICP

Functions | Data Structures | Typedefs | Variables

IRESMAN PROTOCOL - VICP

Collaboration diagram for IRESMAN PROTOCOL - VICP:

Functions

String | IRESMAN_VICP_getProtocolName ()
Function to return the name of the protocol.
IRES_ProtocolRevision * IRESMAN_VICP_getProtocolRevision ()
Function to return the revision of the protocol.
IRES_Status | IRESMAN_VICP_init (IRESMAN_Params *initArgs)
Function to initialize the device specific resource manager implementation.
IRES_Status IRESMAN_VICP_exit ()
Function called when RESMAN is no longer needed. Use it to free memory allocated etc.
IRES_Handle | IRESMAN_VICP_getHandles (IALG_Handle algHandle, IRES_ResourceDescriptor *resDesc, Int scratchGroupId, IRES_Status *status)
Function that returns the IRES_Handle to the resource requested using the IRES_ResourceProtocolArgs.
IRES_Status | IRESMAN_VICP_freeHandles (IALG_Handle algHandle, IRES_Handle algResourceHandle, IRES_ResourceDescriptor *resDesc, Int scratchGroupId)
Frees handles back to the resource pool.

Data Structures

struct | IRESMAN_VicpParams

Typedefs

typedef struct IRESMAN_VicpParams | IRESMAN_VicpParams

Variables

__FAR__ IRESMAN_PersistentAllocFxn | _RMAN_allocPersistent
Memory allocation functions for all of RMANs and other IRES protocol's memory requirements.
__FAR__ IRESMAN_PersistentFreeFxn | _RMAN_freePersistent
Memory free functions for all of RMANs and other IRES protocol's memory requirements.
IRESMAN_Fxns IRESMAN_VICP
IRES RESMAN implementation for VICP.

Detailed Description

VICP specific Resource Manager and corresponding IRES Protocol Implementation.

Function Documentation

String IRESMAN_VICP_getProtocolName ( )

Function to return the name of the protocol.

Return values:
String name identifying the protocol
IRES_ProtocolRevision* IRESMAN_VICP_getProtocolRevision ( )

Function to return the revision of the protocol.

Return values:
Revision identifying the protocol
IRES_Status IRESMAN_VICP_init ( IRESMAN_Params * initArgs )

Function to initialize the device specific resource manager implementation.

Parameters:
[in] initArgs Initialization arguments that may be interpreted by the device specific implementation
Return values:
IRES_Status IRES_OK Success IRES_EEXISTS Already initialized IRES_EFAIL Error
IRES_Status IRESMAN_VICP_exit ( )

Function called when RESMAN is no longer needed. Use it to free memory allocated etc.

Return values:
IRES_Status IRES_OK Success IRES_ENOINIT Not initialized IRES_EFAIL Error
IRES_Handle IRESMAN_VICP_getHandles | ( | IALG_Handle | algHandle,
 |  | IRES_ResourceDescriptor * | resDesc,
 |  | Int | scratchGroupId,
 |  | IRES_Status * | status
 | ) |  |

Function that returns the IRES_Handle to the resource requested using the IRES_ResourceProtocolArgs.

Parameters:
[in] | algHandle | Handle of the algorithm that is acquiring resources.
[in] | resDesc | Arguments to be interpreted by the IRES_Manager implementation to determine which actual physical resources to obtain
[in] | scratchGroupId | Group Id required if scratch resources are requested, -1 otherwise
[out] | status | Status of this call
Return values:
IRES_Handle Valid handle corresponding to the resource requested on success, or NULL on error.
IRES_Status IRESMAN_VICP_freeHandles | ( | IALG_Handle | algHandle,
 |  | IRES_Handle | algResourceHandle,
 |  | IRES_ResourceDescriptor * | resDesc,
 |  | Int | scratchGroupId
 | ) |  |

Frees handles back to the resource pool.

Parameters:
[in] | algHandle | Handle of the algorithm that is releasing resources.
[in] | algResourceHandle | Handle that is to be released
[in] | resDesc | Arguments that help determine which resources to free
[in] | scratchGroupId | Group Id required if scratch resources are requested, -1 otherwise
Return values:
IRES_Status IRES_OK Success IRES_EFAIL Failure

Typedef Documentation

typedef struct IRESMAN_VicpParams IRESMAN_VicpParams

Variable Documentation

__FAR__ IRESMAN_PersistentAllocFxn _RMAN_allocPersistent

Memory allocation functions for all of RMANs and other IRES protocol's memory requirements.

__FAR__ IRESMAN_PersistentFreeFxn _RMAN_freePersistent

Memory free functions for all of RMANs and other IRES protocol's memory requirements.

IRESMAN_Fxns IRESMAN_VICP

IRES RESMAN implementation for VICP.


Framework Components Application Programming Interface (API): IRESMAN PROTOCOL - VICP

Functions | Data Structures | Typedefs | Variables

IRESMAN PROTOCOL - VICP

Collaboration diagram for IRESMAN PROTOCOL - VICP:

Functions

String | IRESMAN_VICP2_getProtocolName ()
Function to return the name of the protocol.
IRES_ProtocolRevision * IRESMAN_VICP2_getProtocolRevision ()
Function to return the revision of the protocol.
IRES_Status | IRESMAN_VICP2_init (IRESMAN_Params *initArgs)
Function to initialize the device specific resource manager implementation.
IRES_Status IRESMAN_VICP2_exit ()
Function called when RESMAN is no longer needed. Use it to free memory allocated etc.
IRES_Handle | IRESMAN_VICP2_getHandles (IALG_Handle algHandle, IRES_ResourceDescriptor *resDesc, Int scratchGroupId, IRES_Status *status)
Function that returns the IRES_Handle to the resource requested using the IRES_ResourceProtocolArgs.
IRES_Status | IRESMAN_VICP2_freeHandles (IALG_Handle algHandle, IRES_Handle algResourceHandle, IRES_ResourceDescriptor *resDesc, Int scratchGroupId)
Frees handles back to the resource pool.

Data Structures

struct | IRESMAN_VicpParams

Typedefs

typedef struct IRESMAN_VicpParams | IRESMAN_VicpParams

Variables

__FAR__ IRESMAN_PersistentAllocFxn | _RMAN_allocPersistent
Memory allocation functions for all of RMANs and other IRES protocol's memory requirements.
__FAR__ IRESMAN_PersistentFreeFxn | _RMAN_freePersistent
Memory free functions for all of RMANs and other IRES protocol's memory requirements.
IRESMAN_Fxns IRESMAN_VICP2
IRES RESMAN implementation for VICP.

Detailed Description

VICP specific Resource Manager and corresponding IRES Protocol Implementation.

Function Documentation

String IRESMAN_VICP2_getProtocolName ( )

Function to return the name of the protocol.

Return values:
String name identifying the protocol
IRES_ProtocolRevision* IRESMAN_VICP2_getProtocolRevision ( )

Function to return the revision of the protocol.

Return values:
Revision identifying the protocol
IRES_Status IRESMAN_VICP2_init ( IRESMAN_Params * initArgs )

Function to initialize the device specific resource manager implementation.

Parameters:
[in] initArgs Initialization arguments that may be interpreted by the device specific implementation
Return values:
IRES_Status IRES_OK Success IRES_EEXISTS Already initialized IRES_EFAIL Error
IRES_Status IRESMAN_VICP2_exit ( )

Function called when RESMAN is no longer needed. Use it to free memory allocated etc.

Return values:
IRES_Status IRES_OK Success IRES_ENOINIT Not initialized IRES_EFAIL Error
IRES_Handle IRESMAN_VICP2_getHandles | ( | IALG_Handle | algHandle,
 |  | IRES_ResourceDescriptor * | resDesc,
 |  | Int | scratchGroupId,
 |  | IRES_Status * | status
 | ) |  |

Function that returns the IRES_Handle to the resource requested using the IRES_ResourceProtocolArgs.

Parameters:
[in] | algHandle | Handle of the algorithm that is acquiring resources.
[in] | resDesc | Arguments to be interpreted by the IRES_Manager implementation to determine which actual physical resources to obtain
[in] | scratchGroupId | Group Id required if scratch resources are requested, -1 otherwise
[out] | status | Status of this call
Return values:
IRES_Handle Valid handle corresponding to the resource requested on success, or NULL on error.
IRES_Status IRESMAN_VICP2_freeHandles | ( | IALG_Handle | algHandle,
 |  | IRES_Handle | algResourceHandle,
 |  | IRES_ResourceDescriptor * | resDesc,
 |  | Int | scratchGroupId
 | ) |  |

Frees handles back to the resource pool.

Parameters:
[in] | algHandle | Handle of the algorithm that is releasing resources.
[in] | algResourceHandle | Handle that is to be released
[in] | resDesc | Arguments that help determine which resources to free
[in] | scratchGroupId | Group Id required if scratch resources are requested, -1 otherwise
Return values:
IRES_Status IRES_OK Success IRES_EFAIL Failure

Typedef Documentation

typedef struct IRESMAN_VicpParams IRESMAN_VicpParams

Variable Documentation

__FAR__ IRESMAN_PersistentAllocFxn _RMAN_allocPersistent

Memory allocation functions for all of RMANs and other IRES protocol's memory requirements.

__FAR__ IRESMAN_PersistentFreeFxn _RMAN_freePersistent

Memory free functions for all of RMANs and other IRES protocol's memory requirements.

IRESMAN_Fxns IRESMAN_VICP2

IRES RESMAN implementation for VICP.


Framework Components Application Programming Interface (API): Data Structures

  • Data Structures
  • Data Structure Index
  • Data Fields

Data Structures

Here are the data structures with brief descriptions:
ECPY_CfgParams | The module configuration structure for ECPY. It is set at design time by the system integrator to register customize memory allocation/free implementations
ECPY_Params | DMA transfer specific parameters. Defines the configuration of a logical channel
IALG_Fxns | Defines the fields and methods that must be supplied by all XDAIS algorithms
IALG_MemRec | Memory records
IALG_Obj | Algorithm instance object definition
IALG_Params | Algorithm instance creation parameters
IALG_Status | Pointer to algorithm specific status structure
IRES_EDMA3CHAN2_Obj | Object returned to the algorithm requesting EDMA3 resources
IRES_EDMA3CHAN_EDMA3DraeRegister | Defines the Region Enable register part of the EDMA3 CC Register Layer
IRES_EDMA3CHAN_EDMA3RegisterLayer | Defines the EDMA3 CC Register Layout
IRES_EDMA3CHAN_EDMA3ShadowRegister | Defines the shadow register part of the EDMA3 CC Register Layer
IRES_EDMA3CHAN_Obj | Object returned to the algorithm requesting EDMA3 resources
IRES_EDMA3CHAN_PaRamStruct | Representation of actual PaRam hardware registers
IRES_EDMA3CHAN_Properties | Static Resource Properties
IRES_EDMA3CHAN_ProtocolArgs | EDMA3 Linked Transfer Protocol Arguments definition
IRES_Fxns | These fxns are used to query/grant the resources requested by the algorithm at initialization time, and to change these resources at runtime. All these fxns are implemented by the algorithm, and called by the client of the algorithm
IRES_HDVICP2_Obj | IRES_HDVICP2_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource
IRES_HDVICP2_Properties | Static Resource Properties
IRES_HDVICP2_ProtocolArgs | HDVICP2 Protocol Arguments definition
IRES_HDVICP2_RegisterLayer | HDVICP2 Register Layout
IRES_HDVICP_Obj | IRES_HDVICP_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource
IRES_HDVICP_Properties | Static Resource Properties
IRES_HDVICP_ProtocolArgs | HDVICP Protocol Arguments definition
IRES_HDVICP_RegisterLayer | HDVICP Register Layout
IRES_Obj | IRES_Obj holds the private state associated with each logical resource
IRES_Properties | Abstract Resource Properties structure/pointer definition. Actual resource protocol will supply the concrete property definitions. The list of attributes for the actual resource will expose the relevant features that needs to be known to a client to use the resource, such as: resource register base addresses and offsets, critical register and memory region addresses, ..
IRES_ProtocolArgs | Abstract Protocol Arguments structure definition. Actual arguments passed by the algorithm to request a resource from a specific IRES Protocol will extend and supply the concrete definitions
IRES_ProtocolRevision | Protocol revision type. Used to ensure the given 'protocol' revision can be validated
IRES_ResourceDescriptor | Descriptor to Logical Resource
IRES_TILEDMEMORY_Obj | IRES_TILEDMEMORY_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource
IRES_TILEDMEMORY_Properties | Static Resource Properties
IRES_TILEDMEMORY_ProtocolArgs | TILEDMEMORY Protocol Arguments definition
IRES_TILEDMEMORY_RegisterLayer | TILEDMEMORY Register Layout
IRES_VICP2_Buffers |
IRES_VICP2_Obj | IRES_VICP2_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource
IRES_VICP2_Properties |
IRES_VICP2_ProtocolArgs | VICP Protocol Arguments definition
IRES_VICP_Obj | IRES_VICP_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource
IRES_VICP_Properties |
IRES_VICP_ProtocolArgs | VICP Protocol Arguments definition
IRES_VICP_Registers |
IRES_YieldContext | Specifies the algorithm specific handles and context save & restore function pointers and arguments that the framework will call during a context switch
IRESMAN_ConstructArgs | Abstract Protocol Construct Arguments structure/pointer definition. Arguments passed by the Resource manager to request a resource from a specific IRES Protocol will extend and supply the concrete definition
IRESMAN_ConstructFxns | These functions are used to determine memory requirements for and initialize the IRES protocol's environment that will be allocated by the resource manager
IRESMAN_Edma3ChanParams | Configuration parameters for Edma3Chan resman implementation
IRESMAN_Fxns |
IRESMAN_HdVicpParams |
IRESMAN_Params | Configuration Parameters required by the Resource Manager implementation. These can be extended by individual resource managers if required
IRESMAN_TiledmemoryParams |
IRESMAN_VicpParams |
RMAN_Params | The module configuration structure for RMAN. It is set at design time by the system integrator to register the specific Resource Managers(IRESMAN implementations)


Framework Components Application Programming Interface (API): ECPY_CfgParams Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

ECPY_CfgParams Struct Reference
[ECPY (C64P)]

The module configuration structure for ECPY. It is set at design time by the system integrator to register customize memory allocation/free implementations. More...

#include <ecpy.h>

Data Fields

ECPY_PersistentAllocFxn * allocFxn
Memory allocation function for all ECPY memory requirements.
ECPY_PersistentFreeFxn * freeFxn
Memory free function for all ECPY memory requirements.
ECPY_ScratchAllocFxn * scratchAllocFxn
Scratch Memory allocation function for all shared scratch ECPY handle state.
ECPY_ScratchFreeFxn * scratchFreeFxn
Scratch Memory free function for all scratch allocated memory in ECPY Handle.
ECPY_getScratchIdFxn * getScratchIdFxn
Function, when supplied, returns the scratchId associated with the algorithm instance whose handle is passed.

Detailed Description

The module configuration structure for ECPY. It is set at design time by the system integrator to register customize memory allocation/free implementations.

Remarks:
Typically, system integrators configure these settings using XDC config scripts. System integrators that use that method of configuration can ignore this structure definition. It's auto-generated during the config step by the XDC Tools.

Field Documentation

ECPY_PersistentAllocFxn* ECPY_CfgParams::allocFxn

Memory allocation function for all ECPY memory requirements.

ECPY_PersistentFreeFxn* ECPY_CfgParams::freeFxn

Memory free function for all ECPY memory requirements.

ECPY_ScratchAllocFxn* ECPY_CfgParams::scratchAllocFxn

Scratch Memory allocation function for all shared scratch ECPY handle state.

ECPY_ScratchFreeFxn* ECPY_CfgParams::scratchFreeFxn

Scratch Memory free function for all scratch allocated memory in ECPY Handle.

ECPY_getScratchIdFxn* ECPY_CfgParams::getScratchIdFxn

Function, when supplied, returns the scratchId associated with the algorithm instance whose handle is passed.

The documentation for this struct was generated from the following file:
  • ecpy.h


Framework Components Application Programming Interface (API): ECPY_Params Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

ECPY_Params Struct Reference
[ECPY (C64P)]

DMA transfer specific parameters. Defines the configuration of a logical channel. More...

#include <ecpy.h>

Data Fields

ECPY_TransferType transferType
Void * | srcAddr
Void * | dstAddr
unsigned short | elementSize
unsigned short | numElements
unsigned short | numFrames
short | srcElementIndex
short | dstElementIndex
short | srcFrameIndex
short | dstFrameIndex

Detailed Description

DMA transfer specific parameters. Defines the configuration of a logical channel.

Field Documentation

ECPY_TransferType ECPY_Params::transferType

1D1D, 1D2D, 2D1D or 2D2D

Void* ECPY_Params::srcAddr

Source Address of the DMA transfer

Void* ECPY_Params::dstAddr

Destination Address of the DMA transfer

unsigned short ECPY_Params::elementSize

Number of consecutive bytes in each 1D transfer vector (ACNT)

unsigned short ECPY_Params::numElements

Number of 1D vectors in 2D transfers (BCNT)

unsigned short ECPY_Params::numFrames

Number of 1D1D, 1D2D, 2D1D or 2D2D frames to transfer (CCNT)

short ECPY_Params::srcElementIndex

Offset in number of bytes from beginning of each 1D vector to the beginning of the next 1D vector. (SBIDX)

short ECPY_Params::dstElementIndex

Offset in number of bytes from beginning of each 1D vector to the beginning of the next 1D vector. (DBIDX)

short ECPY_Params::srcFrameIndex

Offset in number of bytes from beginning of 1D vector of current (source) frame to the beginning of next frame's first 1D vector. (SCIDX): signed value between -32768 and 32767.

short ECPY_Params::dstFrameIndex

Offset in number of bytes from beginning of 1D vector of current (destination) frame to the beginning of next frame's first 1D vector. (DCIDX): signed value between -32768 and 32767.

The documentation for this struct was generated from the following file:
  • ecpy.h


Framework Components Application Programming Interface (API): IALG_Fxns Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IALG_Fxns Struct Reference
[IALG - XDAIS Algorithm Interface]

Defines the fields and methods that must be supplied by all XDAIS algorithms. More...

#include <ialg.h>

Data Fields

Void * | implementationId
Unique pointer that identifies the module implementing this interface.
Void(* | algActivate )(IALG_Handle handle)
Notification to the algorithm that its memory is "active" and algorithm processing methods may be called.
Int(* | algAlloc )(const IALG_Params *params, struct IALG_Fxns **parentFxns, IALG_MemRec *memTab)
Apps call this to query the algorithm about its memory requirements. Must be non-NULL.
Int(* | algControl )(IALG_Handle handle, IALG_Cmd cmd, IALG_Status *status)
Algorithm specific control and status.
Void(* | algDeactivate )(IALG_Handle handle)
Save all persistent data to non-scratch memory.
Int(* | algFree )(IALG_Handle handle, IALG_MemRec *memTab)
Apps call this to allow the algorithm to initialize memory requested via algAlloc(). Must be non-NULL.
Int(* | algInit )(IALG_Handle handle, const IALG_MemRec *memTab, IALG_Handle parent, const IALG_Params *params)
Initialize an algorithm's instance object. Must be non-NULL.
Void(* | algMoved )(IALG_Handle handle, const IALG_MemRec *memTab, IALG_Handle parent, const IALG_Params *params)
Notify algorithm instance that instance memory has been relocated.
Int(* | algNumAlloc )(Void)
Number of memory allocation requests required.

Detailed Description

Defines the fields and methods that must be supplied by all XDAIS algorithms.

Field Documentation

Void* IALG_Fxns::implementationId

Unique pointer that identifies the module implementing this interface.

Void(* IALG_Fxns::algActivate)(IALG_Handle handle)

Notification to the algorithm that its memory is "active" and algorithm processing methods may be called.

Parameters:
[in] handle Handle to an algorithm instance.
Remarks:
algActivate() initializes any of the instance's scratch buffers using the persistent memory that is part of the algorithm's instance object.
The implementation of algActivate() (and algDeactivate()) is required if the algorithm requests memory of type IALG_SCRATCH.
The algActivate() method should only be implemented if a module wants to factor out initialization code that can be executed once prior to processing multiple consecutive frames of data.
If a module does not implement this method, the algActivate() field in the module's static function table (of type IALG_Fxns) must be set to NULL. This is equivalent to the following implementation:
      Void algActivate(IALG_Handle handle)
      {
      }
Precondition:
algActivate() can only be called after a successful return from algInit().
handle must be a valid handle for the algorithm's instance object.
No other algorithm method is currently being run on this instance. This method never preempts any other method on the same instance.
If the algorithm has implemented the IDMA2 interface, algActivate() can only be called after a successful return from dmaInit().
Postcondition:
All methods related to the algorithm may now be executed by client (subject to algorithm specific restrictions).
See also:
algDeactivate().
Int(* IALG_Fxns::algAlloc)(const IALG_Params *params, struct IALG_Fxns **parentFxns, IALG_MemRec *memTab)

Apps call this to query the algorithm about its memory requirements. Must be non-NULL.

Parameters:
[in] | params | Algorithm specific attributes.
[out] | parentFxns | Parent algorithm functions.
[out] | memTab | array of memory records.
Remarks:
algAlloc() returns a table of memory records that describe the size, alignment, type and memory space of all buffers required by an algorithm (including the algorithm's instance object itself). If successful, this function returns a positive non-zero value indicating the number of records initialized. This function can never initialize more memory records than the number returned by algNumAlloc().
If algNumAlloc() is not implemented, the maximum number of initialized memory records is IALG_DEFMEMRECS.
The first argument to algAlloc() is a pointer to the creation parameters for the instance of the algorithm object to be created. This pointer is algorithm-specific; i.e., it points to a structure that is defined by each particular algorithm. This pointer may be NULL; however, in this case, algAlloc() must assume default creation parameters and must not fail.
The second argument to algAlloc() is an optional parameter. algAlloc() may return a pointer to its parent's IALG functions. If this output value is assigned a non-NULL value, the client must create the parent instance object using the designated IALG functions pointer. The parent instance object must then be passed to algInit().
algAlloc() may be called at any time and it must be idempotent; i.e., it can be called repeatedly without any side effects, and always returns the same result.
Algorithms are encouraged to return (and document!) clear, algorithm-specific error codes from algAlloc(). Create-time failures are a common integration issue, and the clearer a return value, the sooner the algorithm integrator can identify and resolve the issue.
Precondition:
The number of memory records in the array memTab[] is no less than the number returned by algNumAlloc().
*parentFxns is a valid pointer to an IALG_Fxns pointer variable.
Postcondition:
If the algorithm needs a parent object to be created, the pointer *parentFxns is set to a non-NULL value that points to a valid IALG_Fxns structure, the parent's IALG implementation. Otherwise, this pointer is not set. algAlloc() may elect to ignore the parentFxns pointer altogether.
For each memory descriptor in memTab with an IALG_WRITEONCE attribute, the algorithm has either set the base field to a non-NULL value, which is the address of a statically allocated and initialized memory buffer of the indicated 'size', or has set the base field to NULL, thereby requiring the memory for the buffer to be provided by the client.
Exactly n elements of the memTab[] array are initialized, where n is the return value from this operation.
For each memory descriptor in memTab with an IALG_PERSIST or IALG_SCRATCH attribute, the algorithm does not set its base field.
memTab[0] defines the memory required for the instance's object and this object's first field is an IALG_Obj structure.
memTab[0] is requested as persistent memory.
See also:
algFree()
Int(* IALG_Fxns::algControl)(IALG_Handle handle, IALG_Cmd cmd, IALG_Status *status)

Algorithm specific control and status.

Parameters:
[in] | handle | Algorithm instance handle.
[in] | cmd | Algorithm specific command.
[out] | status | Algorithm specific status.
Remarks:
algControl() sends an algorithm specific command, cmd, and an input/output status buffer pointer to an algorithm's instance object.
In preemptive execution environments, algControl() may preempt a module's other metods (for example, its processing methods).
The implementation of algControl() is optional. If a module does not implement this method, the algControl() field in the module's static function table (of type IALG_Fxns) must be set to NULL. This is equivalent to the following implementation:
      Void algControl(IALG_Handle handle, IALG_Cmd cmd, IALG_Status *status)
      {
          return (IALG_EFAIL);
      }
Precondition:
algControl() can only be called after a successful return from algInit().
handle must be a valid handle for the algorithm's instance object.
Algorithm specific cmd values are always less than IALG_SYSCMD.
Postcondition:
If the cmd value is not recognized by the algorithm, the return value is not equal to IALG_EOK.
See also:
algInit()
Void(* IALG_Fxns::algDeactivate)(IALG_Handle handle)

Save all persistent data to non-scratch memory.

Parameters:
[in] handle Algorithm instance handle.
Remarks:
algDeactivate() saves any persistent information to non-scratch buffers using the persistent memory that is part of the algorithm's instance object.
handle is used by the algorithm to identify the various buffers that must be saved prior to the next cycle of algActivate() and processing.
The implementation of algDeactivate() (and algActivate()) is required if the algorithm requests memory of type IALG_SCRATCH.
The algDeactivate() method is only implemented if a module wants to factor out initialization code that can be executed once prior to processing multiple consecutive frames of data.
If a module does not implement this method, the algDeactivate() field in the module's static function table (of type IALG_Fxns) must be set to NULL. This is equivalent to the following implementation:
      Void algDeactivate(IALG_Handle handle)
      {
      }
Precondition:
algDeactivate() can only be called after a successful return from algInit().
The instance object is currently "active"; i.e., all instance memory is active and if an algActivate() method is defined, it has been called.
handle must be a valid handle for the algorithm's instance object.
No other algorithm method is currently being run on this instance. This method never preempts any other method on the same instance.
Postcondition:
No methods related to the algorithm may now be executed by the client; only algActivate() or algFree() may be called.
All instance scratch memory may be safely overwritten.
See also:
algActivate()
Int(* IALG_Fxns::algFree)(IALG_Handle handle, IALG_MemRec *memTab)

Apps call this to allow the algorithm to initialize memory requested via algAlloc(). Must be non-NULL.

Parameters:
[in] | handle | Algorithm instance handle.
[out] | memTab | Output array of memory records.
Remarks:
algFree() returns a table of memory records that describe the base address, size, alignment, type and memory space of all buffers previously allocated for the algorithm's instance (including the algorithm's instance object itself) specified by handle. This function always returns a positive non-zero value indicating the number of records initialized. This function can never initialize more memory records than the value returned by algNumAlloc().
Precondition:
The memTab[] array contains at least algNumAlloc() records.
handle must be a valid handle for the algorithm's instance object.
If the prior call to algAlloc() returned a non-NULL parent functions pointer, then the parent instance must be an active instance object created via that function pointer.
No other agorithm method is currently being run on this instance. This method never preempts any other method on the same instance.
Postcondition:
memTab[] contains pointers to all of the memory passed to the algorithm via algInit().
The size and alignment fields contain the same values passed to the client via algAlloc(); i.e., if the client makes changes to the values returned via algAlloc() and passes these new values to algInit(), the algorithm is not responsible for retaining any such changes.
See also:
algAlloc()
Int(* IALG_Fxns::algInit)(IALG_Handle handle, const IALG_MemRec *memTab, IALG_Handle parent, const IALG_Params *params)

Initialize an algorithm's instance object. Must be non-NULL.

Parameters:
[in] | handle | Algorithm instance handle. This is a pointer to an initialized IALG_Obj structure. Its value is identical to the memTab[0].base.
[in] | memTab | Array of allocated buffers.
[in] | parent | Handle of algorithm's parent instance.
[in] | params | Pointer to algorithm's instance parameters.
Remarks:
algInit() performs all initialization necessary to complete the run-time creation of an algorithm's instance object. After a successful return from algInit(), the algorithm's instance object is ready to be used to process data.
handle is a pointer to an initialized IALG_Obj structure. Its value is identical to the memTab[0].base.
memTab is a table of memory records that describe the base address, size, alignment, type, and memory space of all buffers allocated for an algorithm instance (including the algorithm's instance object itself). The number of initialized records is identical to the number returned by a prior call to algAlloc().
parent is a handle to another algorithm instance object. This parameter is often NULL; indicating that no parent object exists. This parameter allows clients to create a shared algorithm instance object and pass it to other algorithm instances. For example, a parent instance object might contain global read-only tables that are used by several instances of a vocoder.
params is a pointer to algorithm-specific parameters that are necessary for the creation and initialization of the instance object. This pointer points to the same parameters passed to the algAlloc() operation. However, this pointer may be NULL. In this case, algInit(), must assume default creation parameters.
Algorithms are encouraged to return (and document!) clear, algorithm-specific error codes from algInit(). Create-time failures are a common integration issue, and the clearer a return value, the sooner the algorithm integrator can identify and resolve the issue.
The algorithm must not access any scratch resources, memory or otherwise, until it has been activated (see algActivate()). A common error is to initialize scratch resources during algInit(). This is an error as another algorithm, or instance of the same algorithm, may be active when this instance's algInit() is called. This algorithm must not access scratch resources until it is active.
The client is not required to satisfy the IALG_MemSpace attribute of the requested memory. Note however that C6000 algorithms that use DMA may strictly require the client to satisfy its on-chip memory requirements and may not function correctly otherwise.
The client may allocate the requested IALG_WRITEONCE buffers once (or never, if the algorithm has assigned a base address in the prior call to algAlloc) and use the same buffers to initialize multiple instances of the same algorithm that are created with identical parameters.
Example:
      typedef struct EncoderObj {
          IALG_Obj ialgObj;
          int workBuf;
          Int workBufLen;
          ... ;
      } EncoderObj;

      Int algInit(IALG_Handle handle, IALG_MemRec memTab[],
              IALG_Handle parent, IALG_Params *params)
      {
          EncoderObj *inst = (EncoderObj *)handle;
          EncoderParams *encParams = (EncoderParams *)params;

          if (encParams == NULL) {
              encParams = MYDEFAULTPARAMS;
          }

          if (IALG_isOffChip(memTab[1].space)) {
              // unsupported off-chip memory, return documented error code
              return (MYMOD_MYVENDOR_EUNSUPPORTEDOFFCHIPWORKBUF);
          }

          inst->workBuf = memTab[1].base;
          inst->workBufLen = encParams->frameDuration * 8;
          ...

          return (IALG_EOK);
      }
Precondition:
memTab contains pointers to non-overlapping buffers with the size and alignment requested via a prior call to algAlloc(). In addition, the algorithm parameters, params, passed to algAlloc() are identical to those passed to this operation.
handle must be a valid handle for the algorithm's instance object; i.e., handle == memTab[0].base and handle->fxns is initialized to point to the appropriate IALG_Fxns structure.
The prior call to algAlloc() using same creation params must have returned value > 1. This pre-condition ensures that any create-time parameter validation can be done once (in algAlloc()), and is not required to be done in algInit(). Note that algInit() can, and should, validate any algorithm- specific requirements on resources received (e.g. internal memory, etc).
If the prior call to algAlloc() has not assigned a non-NULL base address to an IALG_WRITEONCE memTab entry, the client must provide the memory resource with the requested size and alignment.
If the prior call to algAlloc() returned a non-NULL parent functions pointer, then the parent handle, parent, must be a valid handle to an instance object created via that function pointer.
No other algorithm method is currently being run on this instance. This method never preempts any other method on the same instance.
If parent is non-NULL, no other method is currently being run on the parent instance; i.e., this method never preempts any other method on the parent instance.
If the prior call to algAlloc() assigned a non-NULL base address to an IALG_WRITEONCE memTab[] entry, the client may pass back the same address in the base field without allocating additional memory for that persistent write-once buffer. Alternatively, the client may treat IALG_WRITEONCE buffers in the same way as IALG_PERSIST buffers; by allocating new memory and granting it to the algorithm using the base field.
The buffer pointed to in memTab[0] is initialized with a pointer to the appropriate IALG_Fxns structure followed by all 0s.
Postcondition:
With the exception of any initialization performed by algActivate() and any optional auxilary interface initialization functions (such as IRES and IDMA3), all of the instance's persistent and write-once memory is initialized and the object is ready to be used.
All subsequent memory accesses to the IALG_WRITEONCE buffers by this algorithm instance will be read-only.
If the algorithm has implemented the IDMA2 interface, the dmaGetChannels() operation can be called.
Return values:
IALG_EOK

Successful return status code.

IALG_EFAIL

Unspecified error return status code.

Custom error Algorithm-specific error - see algorithm's documentation.
See also:
algAlloc()
algMoved()
Void(* IALG_Fxns::algMoved)(IALG_Handle handle, const IALG_MemRec *memTab, IALG_Handle parent, const IALG_Params *params)

Notify algorithm instance that instance memory has been relocated.

Parameters:
[in] | handle | Algorithm instance handle.
[in] | memTab | Array of allocated buffers.
[in] | parent | Handle of algorithm's parent instance.
[in] | params | Pointer to algorithm's instance parameters.
Remarks:
algMoved() performs any reinitialization necessary to insure that, if an algorithm's instance object has been moved by the client, all internal data references are recomputed.
The implementation of algMoved() is optional. However, it is highly recommended that this method be implemented. If a module does not implement this method, the algMoved() field in the module's static function table (of type IALG_Fxns) must be set to NULL. This is equivalent to asserting that the algorithm's instance objects cannot be moved.
Int(* IALG_Fxns::algNumAlloc)(Void)

Number of memory allocation requests required.

Remarks:
algNumAlloc() returns the maximum number of memory allocation requests that the algAlloc() method requires. This operation allows clients to allocate sufficient space to call the algAlloc() method or fail because insufficient space exists to support the creation of the algorithm's instance object. algNumAlloc() may be called at any time, and it must be idempotent; i.e., it can be called repeatedly without any side effects, and always returns the same result.
algNumAlloc() is optional; if it is not implemented, the maximum number of memory records for algAlloc() is assumed to be IALG_DEFMEMRECS. This is equivalent to the following implementation:
      Void algNumAlloc(Void)
      {
          return (IALG_DEFNUMRECS);
      }
If a module does not implement this method, the algNumAlloc() field in the module's static function table (of type IALG_Fxns) must be set to NULL.
Postcondition:
The return value from algNumAlloc() is always greater than or equal to one and always equals or exceeds the value returned by algAlloc().
Example:
      #define NUMBUF 3
      extern IALG_Fxns *subAlg;

      Int algNumAlloc(Void)
      {
          return (NUMBUF + subAlg->algNumAlloc());
      }

      Int algAlloc(const IALG_Params *p, struct IALG_Fxns **pFxns,
              IALG_MemRec memTab)
      {
          Int n;

          ...

          n = subAlg->algAlloc(0, memTab);
          return (n + NUMBUF);
      }
See also:
algAlloc()
The documentation for this struct was generated from the following file:
  • ialg.h


Framework Components Application Programming Interface (API): IALG_MemRec Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IALG_MemRec Struct Reference
[IALG - XDAIS Algorithm Interface]

Memory records. More...

#include <ialg.h>

Data Fields

Uns | size
Int | alignment
IALG_MemSpace space
IALG_MemAttrs attrs
Void * | base

Detailed Description

Memory records.

Field Documentation

Uns IALG_MemRec::size

Size in MAU of allocation

Int IALG_MemRec::alignment

Alignment requirement (MAU)

IALG_MemSpace IALG_MemRec::space

Allocation space

IALG_MemAttrs IALG_MemRec::attrs

Memory attributes

Void* IALG_MemRec::base

Base address of allocated buf

The documentation for this struct was generated from the following file:
  • ialg.h


Framework Components Application Programming Interface (API): IALG_Obj Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IALG_Obj Struct Reference
[IALG - XDAIS Algorithm Interface]

Algorithm instance object definition. More...

#include <ialg.h>

Collaboration diagram for IALG_Obj:
[legend]

Data Fields

struct IALG_Fxns * fxns

Detailed Description

Algorithm instance object definition.

Remarks:
All XDAIS algorithm instance objects must have this structure as their first element. However, they do not need to initialize it; initialization of this sub-structure is done by the "framework".

Field Documentation

struct IALG_Fxns* IALG_Obj::fxns

Pointer to IALG function table.

The documentation for this struct was generated from the following file:
  • ialg.h


Framework Components Application Programming Interface (API): IALG_Params Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IALG_Params Struct Reference
[IALG - XDAIS Algorithm Interface]

Algorithm instance creation parameters. More...

#include <ialg.h>

Data Fields

Int size

Detailed Description

Algorithm instance creation parameters.

Remarks:
All XDAS algorithm parameter structures must have this as their first element.

Field Documentation

Int IALG_Params::size

Number of MAU in the structure

The documentation for this struct was generated from the following file:
  • ialg.h


Framework Components Application Programming Interface (API): IALG_Status Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IALG_Status Struct Reference
[IALG - XDAIS Algorithm Interface]

Pointer to algorithm specific status structure. More...

#include <ialg.h>

Data Fields

Int size

Detailed Description

Pointer to algorithm specific status structure.

Remarks:
All XDAIS algorithm parameter structures must have this as their first element.

Field Documentation

Int IALG_Status::size

Number of MAU in the structure

The documentation for this struct was generated from the following file:
  • ialg.h


Framework Components Application Programming Interface (API): IRES_EDMA3CHAN2_Obj Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IRES_EDMA3CHAN2_Obj Struct Reference
[IRES EDMA3 Protocol]

Object returned to the algorithm requesting EDMA3 resources. More...

#include <ires_edma3Chan.h>

Collaboration diagram for IRES_EDMA3CHAN2_Obj:
[legend]

Data Fields

IRES_Obj ires
IRES_EDMA3CHAN_PaRamStruct * shadowPaRams
unsigned int * | assignedPaRamAddresses
short * | assignedPaRamIndices
short * | assignedTccIndices
short | assignedNumPaRams
short | assignedNumTccs
short | assignedQdmaChannelIndex
short | assignedEdmaChannelIndex
unsigned int | esrBitMaskL
unsigned int | esrBitMaskH
unsigned int | iprBitMaskL
unsigned int | iprBitMaskH
XDAS_Int32 * queueMap

Detailed Description

Object returned to the algorithm requesting EDMA3 resources.

Remarks:
IRES_EDMA3CHAN2_Obj extends the generic IRES_Obj structure.
IRES_EDMA3CHAN2_Obj corresponds to IRES_EDMA3CHAN_PROTOCOLREVISION_2_0_0.
IRES_EDMA3CHAN2_Obj has been enhanced from IRES_EDMA3CHAN_Obj's IRES_EDMA3CHAN_PROTOCOLREVISION_1_0_0 with the addition of the queueMap field.
Request this version of resource by specifying revision {2,0,0} when requesting the IRES_EDMA3CHAN resource.
See also:
IRES_EDMA3CHAN_Obj

Field Documentation

IRES_Obj IRES_EDMA3CHAN2_Obj::ires
IRES_EDMA3CHAN_PaRamStruct* IRES_EDMA3CHAN2_Obj::shadowPaRams

Actual programmed shadow paRam entries.

unsigned int* IRES_EDMA3CHAN2_Obj::assignedPaRamAddresses

Physical Addresses of assigned paRams.

short* IRES_EDMA3CHAN2_Obj::assignedPaRamIndices

Assigned paRam Indices

short* IRES_EDMA3CHAN2_Obj::assignedTccIndices

Assigned Tcc Indices

short IRES_EDMA3CHAN2_Obj::assignedNumPaRams

Number of assigned paRams

short IRES_EDMA3CHAN2_Obj::assignedNumTccs

Number of assigned tccs

short IRES_EDMA3CHAN2_Obj::assignedQdmaChannelIndex

Assigned QDMA channel.

Remarks:
This may be IRES_EDMA3CHAN_CHAN_NONE if no QDMA channel was requested.
short IRES_EDMA3CHAN2_Obj::assignedEdmaChannelIndex

Assigned EDMA channel.

Remarks:
This may be IRES_EDMA3CHAN_CHAN_NONE if no EDMA channel was requested.
unsigned int IRES_EDMA3CHAN2_Obj::esrBitMaskL

Event set register bit mask (low).

Remarks:
Used with esrBitMaskH to trigger EDMA channel (if requested).
unsigned int IRES_EDMA3CHAN2_Obj::esrBitMaskH

Event set register bit mask (high).

Remarks:
Used with esrBitMaskL to trigger EDMA channel (if requested).
unsigned int IRES_EDMA3CHAN2_Obj::iprBitMaskL

Interrupt pending register bit mask (low).

Remarks:
Used with iprBitMaskH to pend on transfer completion.
unsigned int IRES_EDMA3CHAN2_Obj::iprBitMaskH

Interrupt pending register bit mask (high).

Remarks:
Used with iprBitMaskL to pend on transfer completion.
XDAS_Int32* IRES_EDMA3CHAN2_Obj::queueMap

Write-destination to event queue map.

Remarks:
This table, indexed by IRES_EDMA3CHAN_DmaDestType, returns the mapping of types of DMA-write destinations to event queues.
See also:
IRES_EDMA3CHAN_DmaDestType
The documentation for this struct was generated from the following file:
  • ires_edma3Chan.h


Framework Components Application Programming Interface (API): IRES_EDMA3CHAN_EDMA3DraeRegister Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IRES_EDMA3CHAN_EDMA3DraeRegister Struct Reference
[IRES EDMA3 Protocol]

Defines the Region Enable register part of the EDMA3 CC Register Layer. More...

#include <ires_edma3Chan.h>

Data Fields

volatile unsigned int | DRAE
volatile unsigned int | DRAEH

Detailed Description

Defines the Region Enable register part of the EDMA3 CC Register Layer.

Field Documentation

volatile unsigned int IRES_EDMA3CHAN_EDMA3DraeRegister::DRAE
volatile unsigned int IRES_EDMA3CHAN_EDMA3DraeRegister::DRAEH
The documentation for this struct was generated from the following file:
  • ires_edma3Chan.h


Framework Components Application Programming Interface (API): IRES_EDMA3CHAN_EDMA3RegisterLayer Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IRES_EDMA3CHAN_EDMA3RegisterLayer Struct Reference
[IRES EDMA3 Protocol]

Defines the EDMA3 CC Register Layout. More...

#include <ires_edma3Chan.h>

Collaboration diagram for IRES_EDMA3CHAN_EDMA3RegisterLayer:
[legend]

Data Fields

volatile unsigned int | REV
volatile unsigned int | CCCFG
volatile unsigned char | RSVD0 [248]
volatile unsigned int | DCHMAP [64]
volatile unsigned int | QCHMAP [8]
volatile unsigned char | RSVD1 [32]
volatile unsigned int | DMAQNUM [8]
volatile unsigned int | QDMAQNUM
volatile unsigned char | RSVD2 [28]
volatile unsigned int | QUETCMAP
volatile unsigned int | QUEPRI
volatile unsigned char | RSVD3 [120]
volatile unsigned int | EMR
volatile unsigned int | EMRH
volatile unsigned int | EMCR
volatile unsigned int | EMCRH
volatile unsigned int | QEMR
volatile unsigned int | QEMCR
volatile unsigned int | CCERR
volatile unsigned int | CCERRCLR
volatile unsigned int | EEVAL
volatile unsigned char | RSVD4 [28]
IRES_EDMA3CHAN_EDMA3DraeRegister | DRA [8]
volatile unsigned int | QRAE [8]
volatile unsigned char | RSVD5 [96]
volatile unsigned int | QUEEVTENTRY [8][16]
volatile unsigned int | QSTAT [8]
volatile unsigned int | QWMTHRA
volatile unsigned int | QWMTHRB
volatile unsigned char | RSVD6 [24]
volatile unsigned int | CCSTAT
volatile unsigned char | RSVD7 [188]
volatile unsigned int | AETCTL
volatile unsigned int | AETSTAT
volatile unsigned int | AETCMD
volatile unsigned char | RSVD8 [244]
volatile unsigned int | MPFAR
volatile unsigned int | MPFSR
volatile unsigned int | MPFCR
volatile unsigned int | MPPAG
volatile unsigned int | MPPA [8]
volatile unsigned char | RSVD9 [2000]
volatile unsigned int | ER
volatile unsigned int | ERH
volatile unsigned int | ECR
volatile unsigned int | ECRH
volatile unsigned int | ESR
volatile unsigned int | ESRH
volatile unsigned int | CER
volatile unsigned int | CERH
volatile unsigned int | EER
volatile unsigned int | EERH
volatile unsigned int | EECR
volatile unsigned int | EECRH
volatile unsigned int | EESR
volatile unsigned int | EESRH
volatile unsigned int | SER
volatile unsigned int | SERH
volatile unsigned int | SECR
volatile unsigned int | SECRH
volatile unsigned char | RSVD10 [8]
volatile unsigned int | IER
volatile unsigned int | IERH
volatile unsigned int | IECR
volatile unsigned int | IECRH
volatile unsigned int | IESR
volatile unsigned int | IESRH
volatile unsigned int | IPR
volatile unsigned int | IPRH
volatile unsigned int | ICR
volatile unsigned int | ICRH
volatile unsigned int | IEVAL
volatile unsigned char | RSVD11 [4]
volatile unsigned int | QER
volatile unsigned int | QEER
volatile unsigned int | QEECR
volatile unsigned int | QEESR
volatile unsigned int | QSER
volatile unsigned int | QSECR
volatile unsigned char | RSVD12 [3944]
IRES_EDMA3CHAN_EDMA3ShadowRegister | SHADOW [8]
volatile unsigned char | RSVD13 [4096]
IRES_EDMA3CHAN_PaRamStruct | PARAMENTRY [512]

Detailed Description

Defines the EDMA3 CC Register Layout.

Field Documentation

volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::REV
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::CCCFG
volatile unsigned char IRES_EDMA3CHAN_EDMA3RegisterLayer::RSVD0[248]
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::DCHMAP[64]
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::QCHMAP[8]
volatile unsigned char IRES_EDMA3CHAN_EDMA3RegisterLayer::RSVD1[32]
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::DMAQNUM[8]
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::QDMAQNUM
volatile unsigned char IRES_EDMA3CHAN_EDMA3RegisterLayer::RSVD2[28]
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::QUETCMAP
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::QUEPRI
volatile unsigned char IRES_EDMA3CHAN_EDMA3RegisterLayer::RSVD3[120]
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::EMR
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::EMRH
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::EMCR
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::EMCRH
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::QEMR
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::QEMCR
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::CCERR
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::CCERRCLR
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::EEVAL
volatile unsigned char IRES_EDMA3CHAN_EDMA3RegisterLayer::RSVD4[28]
IRES_EDMA3CHAN_EDMA3DraeRegister IRES_EDMA3CHAN_EDMA3RegisterLayer::DRA[8]
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::QRAE[8]
volatile unsigned char IRES_EDMA3CHAN_EDMA3RegisterLayer::RSVD5[96]
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::QUEEVTENTRY[8][16]
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::QSTAT[8]
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::QWMTHRA
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::QWMTHRB
volatile unsigned char IRES_EDMA3CHAN_EDMA3RegisterLayer::RSVD6[24]
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::CCSTAT
volatile unsigned char IRES_EDMA3CHAN_EDMA3RegisterLayer::RSVD7[188]
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::AETCTL
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::AETSTAT
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::AETCMD
volatile unsigned char IRES_EDMA3CHAN_EDMA3RegisterLayer::RSVD8[244]
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::MPFAR
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::MPFSR
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::MPFCR
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::MPPAG
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::MPPA[8]
volatile unsigned char IRES_EDMA3CHAN_EDMA3RegisterLayer::RSVD9[2000]
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::ER
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::ERH
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::ECR
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::ECRH
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::ESR
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::ESRH
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::CER
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::CERH
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::EER
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::EERH
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::EECR
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::EECRH
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::EESR
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::EESRH
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::SER
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::SERH
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::SECR
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::SECRH
volatile unsigned char IRES_EDMA3CHAN_EDMA3RegisterLayer::RSVD10[8]
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::IER
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::IERH
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::IECR
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::IECRH
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::IESR
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::IESRH
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::IPR
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::IPRH
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::ICR
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::ICRH
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::IEVAL
volatile unsigned char IRES_EDMA3CHAN_EDMA3RegisterLayer::RSVD11[4]
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::QER
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::QEER
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::QEECR
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::QEESR
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::QSER
volatile unsigned int IRES_EDMA3CHAN_EDMA3RegisterLayer::QSECR
volatile unsigned char IRES_EDMA3CHAN_EDMA3RegisterLayer::RSVD12[3944]
IRES_EDMA3CHAN_EDMA3ShadowRegister IRES_EDMA3CHAN_EDMA3RegisterLayer::SHADOW[8]
volatile unsigned char IRES_EDMA3CHAN_EDMA3RegisterLayer::RSVD13[4096]
IRES_EDMA3CHAN_PaRamStruct IRES_EDMA3CHAN_EDMA3RegisterLayer::PARAMENTRY[512]
The documentation for this struct was generated from the following file:
  • ires_edma3Chan.h


Framework Components Application Programming Interface (API): IRES_EDMA3CHAN_EDMA3ShadowRegister Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IRES_EDMA3CHAN_EDMA3ShadowRegister Struct Reference
[IRES EDMA3 Protocol]

Defines the shadow register part of the EDMA3 CC Register Layer. More...

#include <ires_edma3Chan.h>

Data Fields

volatile unsigned int | ER
volatile unsigned int | ERH
volatile unsigned int | ECR
volatile unsigned int | ECRH
volatile unsigned int | ESR
volatile unsigned int | ESRH
volatile unsigned int | CER
volatile unsigned int | CERH
volatile unsigned int | EER
volatile unsigned int | EERH
volatile unsigned int | EECR
volatile unsigned int | EECRH
volatile unsigned int | EESR
volatile unsigned int | EESRH
volatile unsigned int | SER
volatile unsigned int | SERH
volatile unsigned int | SECR
volatile unsigned int | SECRH
volatile unsigned char | RSVD0 [8]
volatile unsigned int | IER
volatile unsigned int | IERH
volatile unsigned int | IECR
volatile unsigned int | IECRH
volatile unsigned int | IESR
volatile unsigned int | IESRH
volatile unsigned int | IPR
volatile unsigned int | IPRH
volatile unsigned int | ICR
volatile unsigned int | ICRH
volatile unsigned int | IEVAL
volatile unsigned char | RSVD1 [4]
volatile unsigned int | QER
volatile unsigned int | QEER
volatile unsigned int | QEECR
volatile unsigned int | QEESR
volatile unsigned int | QSER
volatile unsigned int | QSECR
volatile unsigned char | RSVD2 [360]

Detailed Description

Defines the shadow register part of the EDMA3 CC Register Layer.

Field Documentation

volatile unsigned int IRES_EDMA3CHAN_EDMA3ShadowRegister::ER
volatile unsigned int IRES_EDMA3CHAN_EDMA3ShadowRegister::ERH
volatile unsigned int IRES_EDMA3CHAN_EDMA3ShadowRegister::ECR
volatile unsigned int IRES_EDMA3CHAN_EDMA3ShadowRegister::ECRH
volatile unsigned int IRES_EDMA3CHAN_EDMA3ShadowRegister::ESR
volatile unsigned int IRES_EDMA3CHAN_EDMA3ShadowRegister::ESRH
volatile unsigned int IRES_EDMA3CHAN_EDMA3ShadowRegister::CER
volatile unsigned int IRES_EDMA3CHAN_EDMA3ShadowRegister::CERH
volatile unsigned int IRES_EDMA3CHAN_EDMA3ShadowRegister::EER
volatile unsigned int IRES_EDMA3CHAN_EDMA3ShadowRegister::EERH
volatile unsigned int IRES_EDMA3CHAN_EDMA3ShadowRegister::EECR
volatile unsigned int IRES_EDMA3CHAN_EDMA3ShadowRegister::EECRH
volatile unsigned int IRES_EDMA3CHAN_EDMA3ShadowRegister::EESR
volatile unsigned int IRES_EDMA3CHAN_EDMA3ShadowRegister::EESRH
volatile unsigned int IRES_EDMA3CHAN_EDMA3ShadowRegister::SER
volatile unsigned int IRES_EDMA3CHAN_EDMA3ShadowRegister::SERH
volatile unsigned int IRES_EDMA3CHAN_EDMA3ShadowRegister::SECR
volatile unsigned int IRES_EDMA3CHAN_EDMA3ShadowRegister::SECRH
volatile unsigned char IRES_EDMA3CHAN_EDMA3ShadowRegister::RSVD0[8]
volatile unsigned int IRES_EDMA3CHAN_EDMA3ShadowRegister::IER
volatile unsigned int IRES_EDMA3CHAN_EDMA3ShadowRegister::IERH
volatile unsigned int IRES_EDMA3CHAN_EDMA3ShadowRegister::IECR
volatile unsigned int IRES_EDMA3CHAN_EDMA3ShadowRegister::IECRH
volatile unsigned int IRES_EDMA3CHAN_EDMA3ShadowRegister::IESR
volatile unsigned int IRES_EDMA3CHAN_EDMA3ShadowRegister::IESRH
volatile unsigned int IRES_EDMA3CHAN_EDMA3ShadowRegister::IPR
volatile unsigned int IRES_EDMA3CHAN_EDMA3ShadowRegister::IPRH
volatile unsigned int IRES_EDMA3CHAN_EDMA3ShadowRegister::ICR
volatile unsigned int IRES_EDMA3CHAN_EDMA3ShadowRegister::ICRH
volatile unsigned int IRES_EDMA3CHAN_EDMA3ShadowRegister::IEVAL
volatile unsigned char IRES_EDMA3CHAN_EDMA3ShadowRegister::RSVD1[4]
volatile unsigned int IRES_EDMA3CHAN_EDMA3ShadowRegister::QER
volatile unsigned int IRES_EDMA3CHAN_EDMA3ShadowRegister::QEER
volatile unsigned int IRES_EDMA3CHAN_EDMA3ShadowRegister::QEECR
volatile unsigned int IRES_EDMA3CHAN_EDMA3ShadowRegister::QEESR
volatile unsigned int IRES_EDMA3CHAN_EDMA3ShadowRegister::QSER
volatile unsigned int IRES_EDMA3CHAN_EDMA3ShadowRegister::QSECR
volatile unsigned char IRES_EDMA3CHAN_EDMA3ShadowRegister::RSVD2[360]
The documentation for this struct was generated from the following file:
  • ires_edma3Chan.h


Framework Components Application Programming Interface (API): IRES_EDMA3CHAN_Obj Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IRES_EDMA3CHAN_Obj Struct Reference
[IRES EDMA3 Protocol]

Object returned to the algorithm requesting EDMA3 resources. More...

#include <ires_edma3Chan.h>

Collaboration diagram for IRES_EDMA3CHAN_Obj:
[legend]

Data Fields

IRES_Obj ires
IRES_EDMA3CHAN_PaRamStruct * shadowPaRams
unsigned int * | assignedPaRamAddresses
short * | assignedPaRamIndices
short * | assignedTccIndices
short | assignedNumPaRams
short | assignedNumTccs
short | assignedQdmaChannelIndex
short | assignedEdmaChannelIndex
unsigned int | esrBitMaskL
unsigned int | esrBitMaskH
unsigned int | iprBitMaskL
unsigned int | iprBitMaskH

Detailed Description

Object returned to the algorithm requesting EDMA3 resources.

Remarks:
IRES_EDMA3CHAN_Obj extends the generic IRES_Obj structure.
IRES_EDMA3CHAN2_Obj corresponds to IRES_EDMA3CHAN_PROTOCOLREVISION_1_0_0.
See also:
IRES_EDMA3CHAN2_Obj

Field Documentation

IRES_Obj IRES_EDMA3CHAN_Obj::ires
IRES_EDMA3CHAN_PaRamStruct* IRES_EDMA3CHAN_Obj::shadowPaRams

Actual programmed shadow paRam entries.

unsigned int* IRES_EDMA3CHAN_Obj::assignedPaRamAddresses

Physical Addresses of assigned paRams.

short* IRES_EDMA3CHAN_Obj::assignedPaRamIndices

Assigned paRam Indices

short* IRES_EDMA3CHAN_Obj::assignedTccIndices

Assigned Tcc Indices

short IRES_EDMA3CHAN_Obj::assignedNumPaRams

Number of assigned paRams

short IRES_EDMA3CHAN_Obj::assignedNumTccs

Number of assigned tccs

short IRES_EDMA3CHAN_Obj::assignedQdmaChannelIndex

Assigned QDMA channel.

Remarks:
This may be IRES_EDMA3CHAN_CHAN_NONE if no QDMA channel was requested.
short IRES_EDMA3CHAN_Obj::assignedEdmaChannelIndex

Assigned EDMA channel.

Remarks:
This may be IRES_EDMA3CHAN_CHAN_NONE if no EDMA channel was requested.
unsigned int IRES_EDMA3CHAN_Obj::esrBitMaskL

Event set register bit mask (low).

Remarks:
Used with esrBitMaskH to trigger EDMA channel (if requested).
unsigned int IRES_EDMA3CHAN_Obj::esrBitMaskH

Event set register bit mask (high).

Remarks:
Used with esrBitMaskL to trigger EDMA channel (if requested).
unsigned int IRES_EDMA3CHAN_Obj::iprBitMaskL

Interrupt pending register bit mask (low).

Remarks:
Used with iprBitMaskH to pend on transfer completion.
unsigned int IRES_EDMA3CHAN_Obj::iprBitMaskH

Interrupt pending register bit mask (high).

Remarks:
Used with iprBitMaskL to pend on transfer completion.
The documentation for this struct was generated from the following file:
  • ires_edma3Chan.h


Framework Components Application Programming Interface (API): IRES_EDMA3CHAN_PaRamStruct Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IRES_EDMA3CHAN_PaRamStruct Struct Reference
[IRES EDMA3 Protocol]

Representation of actual PaRam hardware registers. More...

#include <ires_edma3Chan.h>

Data Fields

unsigned int | opt
unsigned int | src
unsigned short | acnt
unsigned short | bcnt
unsigned int | dst
unsigned short | srcElementIndex
unsigned short | dstElementIndex
unsigned short | link
unsigned short | bCntrld
unsigned short | srcFrameIndex
unsigned short | dstFrameIndex
unsigned short | ccnt
unsigned short | rsvd

Detailed Description

Representation of actual PaRam hardware registers.

See also:
http://processors.wiki.ti.com/index.php/EDMA3

Field Documentation

unsigned int IRES_EDMA3CHAN_PaRamStruct::opt

Channel options.

Remarks:
Transfer configuration options.
unsigned int IRES_EDMA3CHAN_PaRamStruct::src

Channel source address.

Remarks:
The byte address from which data is transferred.
unsigned short IRES_EDMA3CHAN_PaRamStruct::acnt

Count for first dimension.

Remarks:
Unsigned value specifying the number of contiguous bytes within an array (first dimention of the transfer).
Valid values range from 1 to 65535 inclusive.
unsigned short IRES_EDMA3CHAN_PaRamStruct::bcnt

Count for second dimension.

Remarks:
Unsigned value specifying the number of arrays in a frame, where an array is acnt bytes.
Valid values range from 1 to 65535 inclusive.
unsigned int IRES_EDMA3CHAN_PaRamStruct::dst

Channel destination address.

Remarks:
The byte address to which data is transferred.
unsigned short IRES_EDMA3CHAN_PaRamStruct::srcElementIndex

Source bcnt index.

Remarks:
Signed value specifying the byte address offset between source arrays within a frame (2nd dimension).
Valid values range from -32768 to 32767 inclusive.
unsigned short IRES_EDMA3CHAN_PaRamStruct::dstElementIndex

Destination bcnt index.

Remarks:
Signed value specifying the byte address offset between destination arrays within a frame (2nd dimension).
Valid values range from -32768 to 32767 inclusive.
unsigned short IRES_EDMA3CHAN_PaRamStruct::link

Link address.

Remarks:
The PaRAM address containing the PaRAM set to be linked (copied from) when the current PaRAM set is exhausted.
A value of 0xffff specifies a null link.
unsigned short IRES_EDMA3CHAN_PaRamStruct::bCntrld

bcnt reload.

Remarks:
The count value used to reload bcnt when bcnt decrements to 0 (TR is submitted for the last array in 2nd dimension).
This is only relevant in A-synchronized transfers.
unsigned short IRES_EDMA3CHAN_PaRamStruct::srcFrameIndex

Source ccnt index.

Remarks:
Signed value specifying the byte address offset between frames within a block (3rd dimension).
Valid values range from -32768 to 32767 inclusive.
For A-synchronized transfers, the byte address offset from the beginning of the last source array in a frame to the beginning of the first source array in the next frame.
For AB-synchronized transfers, the byte address offset from the beginning of the first source array in a frame to the beginning of the first source array in the next frame.
unsigned short IRES_EDMA3CHAN_PaRamStruct::dstFrameIndex

Destination ccnt index.

Remarks:
Signed value specifying the byte address offset between frames within a block (3rd dimension).
Valid values range from -32768 to 32767 inclusive.
For A-synchronized transfers, the byte address offset from the beginning of the last destination array in a frame to the beginning of the first destination array in the next frame.
For AB-synchronized transfers, the byte address offset from the beginning of the first destination array in a frame to the beginning of the first destination array in the next frame.
unsigned short IRES_EDMA3CHAN_PaRamStruct::ccnt

Count for 3rd dimension

Remarks:
Unsigned value specifying the number of frames in a block, where a frame is bcnt arrays of acnt bytes.
Valid values range from 1 to 65535 inclusive.
unsigned short IRES_EDMA3CHAN_PaRamStruct::rsvd

Reserved.

The documentation for this struct was generated from the following file:
  • ires_edma3Chan.h


Framework Components Application Programming Interface (API): IRES_EDMA3CHAN_Properties Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IRES_EDMA3CHAN_Properties Struct Reference
[IRES EDMA3 Protocol]

Static Resource Properties. More...

#include <ires_edma3Chan.h>

Collaboration diagram for IRES_EDMA3CHAN_Properties:
[legend]

Data Fields

unsigned int | numDmaChannels
unsigned int | numQdmaChannels
unsigned int | numTccs
unsigned int | numPaRAMSets
unsigned int | numEvtQueue
unsigned int | numTcs
unsigned int | numRegions
unsigned short | dmaChPaRAMMapExists
Channel mapping existence.
unsigned short | memProtectionExists
IRES_EDMA3CHAN_EDMA3RegisterLayer * globalRegs

Detailed Description

Static Resource Properties.

Field Documentation

unsigned int IRES_EDMA3CHAN_Properties::numDmaChannels

Total number of DMA Channel supported by the EDMA3

unsigned int IRES_EDMA3CHAN_Properties::numQdmaChannels

Total number of QDMA Channels supported by the EDMA3 Controller.

unsigned int IRES_EDMA3CHAN_Properties::numTccs

Total number of Tccs supported by the EDMA3.

unsigned int IRES_EDMA3CHAN_Properties::numPaRAMSets

Total number of PaRAM Sets supported by the EDMA3.

unsigned int IRES_EDMA3CHAN_Properties::numEvtQueue

Total number of Event Queues in the EDMA3.

unsigned int IRES_EDMA3CHAN_Properties::numTcs

Total number of Transfer Controllers (TCs) in the EDMA3 Controller.

unsigned int IRES_EDMA3CHAN_Properties::numRegions

Number of Regions on the EDMA3 controller.

unsigned short IRES_EDMA3CHAN_Properties::dmaChPaRAMMapExists

Channel mapping existence.

A value of 0 (No channel mapping) implies that there is fixed association for a channel number to a parameter entry number or, in other words, PaRAM entry n corresponds to channel n.

unsigned short IRES_EDMA3CHAN_Properties::memProtectionExists

Existence of memory protection feature.

IRES_EDMA3CHAN_EDMA3RegisterLayer* IRES_EDMA3CHAN_Properties::globalRegs

Pointer to Global Register region of CC Registers.

The documentation for this struct was generated from the following file:
  • ires_edma3Chan.h


Framework Components Application Programming Interface (API): IRES_EDMA3CHAN_ProtocolArgs Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IRES_EDMA3CHAN_ProtocolArgs Struct Reference
[IRES EDMA3 Protocol]

EDMA3 Linked Transfer Protocol Arguments definition. More...

#include <ires_edma3Chan.h>

Data Fields

int | size
IRES_RequestMode mode
short | numPaRams
short | paRamIndex
short | numTccs
short | tccIndex
short | qdmaChan
short | edmaChan
short | contiguousAllocation
short | shadowPaRamsAllocation

Detailed Description

EDMA3 Linked Transfer Protocol Arguments definition.

Remarks:
When requesting resources on a device on which DCHMAP feature does not exist, please follow these rules:
  1. Break up requests into LOGICAL channel requests and requests for PaRams.
  2. Logical Qdma/Edma channel => Q/E channel + PaRam + TCC
  3. Avoid requesting EDMA3 resources of specific number, for most transfers an "ANY" type request should be sufficient
  4. For linked transfers, request a Logical channel in one descriptor, and "N" contiguous Params in another descriptor
  5. If a logical channel request is combined with a request for multiple Params or Tccs, this might result in an inefficient allocation of resources, and in some cases, simplifying assumptions about the resource requests may be made by the allocator.

Field Documentation

int IRES_EDMA3CHAN_ProtocolArgs::size

Size of this structure.

IRES_RequestMode IRES_EDMA3CHAN_ProtocolArgs::mode

Resource request type.

See also:
IRES_RequestMode
short IRES_EDMA3CHAN_ProtocolArgs::numPaRams

Number of params requested.

Remarks:
Must be between 0 and IRES_EDMA3CHAN_MAXPARAMS - 1 inclusive.
short IRES_EDMA3CHAN_ProtocolArgs::paRamIndex

Describe type of paRams required.

Remarks:
If numParams > 1 and requesting contiguous Params, this field indicates the start index of the PaRam block. Otherwise, set this field to IRES_EDMA3CHAN_PARAM_ANY.
short IRES_EDMA3CHAN_ProtocolArgs::numTccs

Number of Tcc(s) requested.

Remarks:
Must be between 0 and IRES_EDMA3CHAN_MAXTCCS -1 inclusive.
short IRES_EDMA3CHAN_ProtocolArgs::tccIndex

The type of tccs requested.

Remarks:
If numParams > 1 and requesting contiguous Params, this field indicates the start index of the Tcc block. Otherwise, set this field to IRES_EDMA3CHAN_TCC_ANY.
short IRES_EDMA3CHAN_ProtocolArgs::qdmaChan

QDMA channel required, if any.

Remarks:
If a QDMA channel is not needed, set this field to IRES_EDMA3CHAN_CHAN_NONE.
short IRES_EDMA3CHAN_ProtocolArgs::edmaChan

Edma channel required if any.

Remarks:
If a QDMA channel is not needed, set this field to IRES_EDMA3CHAN_CHAN_NONE.
If a single EDMA channel is requested with a single Tcc in one resource descriptor, then resource allocator will attempt to allocate EDMA Channel # N = Tcc # N, and will fail if that is unavailable.
short IRES_EDMA3CHAN_ProtocolArgs::contiguousAllocation

Flag indicating if contiguous allocation of PaRams and Tccs is required.

short IRES_EDMA3CHAN_ProtocolArgs::shadowPaRamsAllocation

Flag indicating if shadow PaRams need to be allocated.

The documentation for this struct was generated from the following file:
  • ires_edma3Chan.h


Framework Components Application Programming Interface (API): IRES_Fxns Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IRES_Fxns Struct Reference
[IRES]

These fxns are used to query/grant the resources requested by the algorithm at initialization time, and to change these resources at runtime. All these fxns are implemented by the algorithm, and called by the client of the algorithm. More...

#include <ires.h>

Data Fields

Void * | implementationId
Unique pointer that identifies the module implementing this interface.
IRES_Status(* | getResourceDescriptors )(IALG_Handle handle, IRES_ResourceDescriptor *resourceDescriptors)
Query function to obtain the list of IRES resources requested by the algorithm instance.
Int32(* | numResourceDescriptors )(IALG_Handle handle)
Query function to obtain the number of IRES resources requested by the algorithm instance, which is also the number of resource descriptors that must be passed to the getResourceDescriptors() function.
IRES_Status(* | initResources )(IALG_Handle handle, IRES_ResourceDescriptor *resourceDescriptor, IRES_YieldFxn yieldFxn, IRES_YieldArgs yieldArgs)
Assignment function to grant the algorithm instance the list of IRES resources it requested. The algorithm can initialize internal instance memory with resource information, but may not use or access the resource state until the resource is activated via the activateResource call.
IRES_Status(* | reinitResources )(IALG_Handle handle, IRES_ResourceDescriptor *resourceDescriptor, IRES_YieldFxn yieldFxn, IRES_YieldArgs yieldArgs)
Re-assignment function to grant the algorithm instance a list of "modified" IRES resources. The algorithm may choose to not support the re-assignment and indicate this by returning failure. In case of success the algorithm updates its internal state to reflect the new resource information, but may not use or access the resource state until the resource is activated via the activateResource call.
IRES_Status(* | deinitResources )(IALG_Handle handle, IRES_ResourceDescriptor *resourceDescriptor)
Deinitialization function to revoke back the resources that have been granted to the algorithm instance.
IRES_Status(* | activateResource )(IALG_Handle handle, IRES_Handle resourceHandle)
Resource Activation call to grant the algorithm instance exclusive access to the potentially shared resource. Algorithm can now access, initialize and or restore from a previous context saved during deactivation to use the resource. Each resource must be activated individually to give the framework optimization opportunities by tracking and deciding which resources truely require activation.
IRES_Status(* | activateAllResources )(IALG_Handle handle)
Resource Activation call to grant the algorithm instance exclusive access to all resources it acquired via IRES. Algorithm can now access, initialize and or restore from a previous context saved during deactivation to use the resources.
IRES_Status(* | deactivateResource )(IALG_Handle handle, IRES_Handle resourceHandle)
Resource Deactivation call to revoke the algorithm instance's exclusive access to the potentially shared resource. Algorithm must save any context that is needed to restore the state during the next resource activation call.
IRES_Status(* | deactivateAllResources )(IALG_Handle handle)
Resource Deactivation call to revoke the algorithm instance's exclusive access to ALL shared resources. Algorithm must save any context that is needed to restore the state during the next resource activation call.

Detailed Description

These fxns are used to query/grant the resources requested by the algorithm at initialization time, and to change these resources at runtime. All these fxns are implemented by the algorithm, and called by the client of the algorithm.

Field Documentation

Void* IRES_Fxns::implementationId

Unique pointer that identifies the module implementing this interface.

IRES_Status(* IRES_Fxns::getResourceDescriptors)(IALG_Handle handle, IRES_ResourceDescriptor *resourceDescriptors)

Query function to obtain the list of IRES resources requested by the algorithm instance.

Int32(* IRES_Fxns::numResourceDescriptors)(IALG_Handle handle)

Query function to obtain the number of IRES resources requested by the algorithm instance, which is also the number of resource descriptors that must be passed to the getResourceDescriptors() function.

IRES_Status(* IRES_Fxns::initResources)(IALG_Handle handle, IRES_ResourceDescriptor *resourceDescriptor, IRES_YieldFxn yieldFxn, IRES_YieldArgs yieldArgs)

Assignment function to grant the algorithm instance the list of IRES resources it requested. The algorithm can initialize internal instance memory with resource information, but may not use or access the resource state until the resource is activated via the activateResource call.

Remarks:
Version of the resource handle being granted is updated in the resourceDescriptor, and may be different from the one requested.
IRES_Status(* IRES_Fxns::reinitResources)(IALG_Handle handle, IRES_ResourceDescriptor *resourceDescriptor, IRES_YieldFxn yieldFxn, IRES_YieldArgs yieldArgs)

Re-assignment function to grant the algorithm instance a list of "modified" IRES resources. The algorithm may choose to not support the re-assignment and indicate this by returning failure. In case of success the algorithm updates its internal state to reflect the new resource information, but may not use or access the resource state until the resource is activated via the activateResource call.

IRES_Status(* IRES_Fxns::deinitResources)(IALG_Handle handle, IRES_ResourceDescriptor *resourceDescriptor)

Deinitialization function to revoke back the resources that have been granted to the algorithm instance.

IRES_Status(* IRES_Fxns::activateResource)(IALG_Handle handle, IRES_Handle resourceHandle)

Resource Activation call to grant the algorithm instance exclusive access to the potentially shared resource. Algorithm can now access, initialize and or restore from a previous context saved during deactivation to use the resource. Each resource must be activated individually to give the framework optimization opportunities by tracking and deciding which resources truely require activation.

IRES_Status(* IRES_Fxns::activateAllResources)(IALG_Handle handle)

Resource Activation call to grant the algorithm instance exclusive access to all resources it acquired via IRES. Algorithm can now access, initialize and or restore from a previous context saved during deactivation to use the resources.

IRES_Status(* IRES_Fxns::deactivateResource)(IALG_Handle handle, IRES_Handle resourceHandle)

Resource Deactivation call to revoke the algorithm instance's exclusive access to the potentially shared resource. Algorithm must save any context that is needed to restore the state during the next resource activation call.

IRES_Status(* IRES_Fxns::deactivateAllResources)(IALG_Handle handle)

Resource Deactivation call to revoke the algorithm instance's exclusive access to ALL shared resources. Algorithm must save any context that is needed to restore the state during the next resource activation call.

The documentation for this struct was generated from the following file:
  • ires.h


Framework Components Application Programming Interface (API): IRES_HDVICP2_Obj Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IRES_HDVICP2_Obj Struct Reference
[IRES HDVICP2 Protocol]

IRES_HDVICP2_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource. More...

#include <ires_hdvicp2.h>

Collaboration diagram for IRES_HDVICP2_Obj:
[legend]

Data Fields

IRES_Obj ires
Void * | info
XDAS_Int32 id
XDAS_Void * registerBaseAddress
XDAS_Void * memoryBaseAddress
XDAS_Void * resetControlAddress
XDAS_Void(* | acquire )(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this, IRES_YieldContext *yieldCtxt, XDAS_UInt32 *hdvicp2Status, XDAS_UInt32 *configurationId, XDAS_Int32 lateAcquireArg)
Acquire the HDVICP2 resource.
XDAS_Void(* | release )(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this)
Release the HDVICP2 resource.
XDAS_UInt32(* | reacquireIfOwner )(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this)
Reacquire the HDVICP2 resource recent released.
XDAS_Void(* | configure )(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this, IRES_HDVICP2_CallbackFxn cbFunctionPtr, XDAS_Void *cbArgs)
Register a callback function with a HDVICP2 instance.
XDAS_UInt32(* | wait )(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this, IRES_YieldContext *yieldCtxt)
Wait until the HDVICP2 is done processing and then return.
XDAS_Void(* | done )(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this)
Processing has completed.
XDAS_UInt32(* | reset )(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this)
Reset the HDVICP2.

Detailed Description

IRES_HDVICP2_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource.

Field Documentation

IRES_Obj IRES_HDVICP2_Obj::ires

Base IRES_Obj struct

Void* IRES_HDVICP2_Obj::info

Reserved for future use

XDAS_Int32 IRES_HDVICP2_Obj::id

HDVICP2 id granted

Remarks:
Could be 0, 1, 2, or LATE_ACQUIRE
XDAS_Void* IRES_HDVICP2_Obj::registerBaseAddress

Register space base address of the HDVICP2 being granted

XDAS_Void* IRES_HDVICP2_Obj::memoryBaseAddress

Memory space base address of the HDVICP2 being granted

XDAS_Void* IRES_HDVICP2_Obj::resetControlAddress

HDVICP reset controller address

Remarks:
bit 0 -> ICONT1 reset, bit 1 -> ICONT2 reset
XDAS_Void(* IRES_HDVICP2_Obj::acquire)(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this, IRES_YieldContext *yieldCtxt, XDAS_UInt32 *hdvicp2Status, XDAS_UInt32 *configurationId, XDAS_Int32 lateAcquireArg)

Acquire the HDVICP2 resource.

Remarks:
This call acquires the HDVICP resource which the alg may (or may not) have specifically requested.
The returned hdvicp2Status indicates the status of the particular HDVICP2 unit that is returned.
See also:
IRES_HDVICP2_Status
Remarks:
The configurationId argument is a codec specified parameter that is both an input and output parameter. It specifies the mode in which this particular HDVICP2 was used last time, and the mode in which it will be used this time.
This API takes a yieldContext as argument, as it may yield the processor to higher priority codecs in the system.
lateAcquireId is an optionally framework supplied parameter (sometimes provided via an XDM control() call setting the XDM_SETLATEACQUIREARG. If not supplied, the codec should pass the value IRES_HDVICP2_UNKNOWNLATEACQUIREARG.
See also:
IRES_HDVICP2_UNKNOWNLATEACQUIREARG
XDAS_Void(* IRES_HDVICP2_Obj::release)(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this)

Release the HDVICP2 resource.

Remarks:
This makes the resource available for use by other algorithms.
XDAS_UInt32(* IRES_HDVICP2_Obj::reacquireIfOwner)(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this)

Reacquire the HDVICP2 resource recent released.

Returns:
XDAS_TRUE The resource was not yet acquired by another algorithm, and the resource handle is still valid.
XDAS_FALSE The resource is no longer available and has been deactivated.
XDAS_Void(* IRES_HDVICP2_Obj::configure)(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this, IRES_HDVICP2_CallbackFxn cbFunctionPtr, XDAS_Void *cbArgs)

Register a callback function with a HDVICP2 instance.

Remarks:
The callback is invoked when an interrupt fires after processing data.
It is the algorithm's responsibility to configure the HDVICP2 to process data and fire the interrupt when done.
XDAS_UInt32(* IRES_HDVICP2_Obj::wait)(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this, IRES_YieldContext *yieldCtxt)

Wait until the HDVICP2 is done processing and then return.

Remarks:
This is a blocking call, unless a positive timeout value is configured, inwhich case the call returns after timeout.
This function is passed a yieldContext, and will relinquish the processor while it waits for the HDVICP2 to finish the processing and return from wait.
Returns:
XDAS_TRUE Success
XDAS_FALSE Failure/Timeout
XDAS_Void(* IRES_HDVICP2_Obj::done)(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this)

Processing has completed.

Remarks:
This is called from within the interrupt handler function when processing completes, and is used to unblock the wait() API.
Typically, this is called from within the algortihm's callback function (see acquire() call).
XDAS_UInt32(* IRES_HDVICP2_Obj::reset)(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this)

Reset the HDVICP2.

Remarks:
This can be called by the algorithm to "reset" the HDVICP2, and is usually called when an acquired HDVICP2 is "dirty", i.e, it requires both program/data reload.
It works off a configured maximum reset cycle delay.
Returns:
XDAS_TRUE Success
XDAS_FALSE Failure
The documentation for this struct was generated from the following file:
  • ires_hdvicp2.h


Framework Components Application Programming Interface (API): IRES_HDVICP2_Properties Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IRES_HDVICP2_Properties Struct Reference
[IRES HDVICP2 Protocol]

Static Resource Properties. More...

#include <ires_hdvicp2.h>

Collaboration diagram for IRES_HDVICP2_Properties:
[legend]

Data Fields

int size
IRES_HDVICP2_RegisterLayer * globalRegs

Detailed Description

Static Resource Properties.

Field Documentation

int IRES_HDVICP2_Properties::size
IRES_HDVICP2_RegisterLayer* IRES_HDVICP2_Properties::globalRegs
The documentation for this struct was generated from the following file:
  • ires_hdvicp2.h


Framework Components Application Programming Interface (API): IRES_HDVICP2_ProtocolArgs Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IRES_HDVICP2_ProtocolArgs Struct Reference
[IRES HDVICP2 Protocol]

HDVICP2 Protocol Arguments definition. More...

#include <ires_hdvicp2.h>

Collaboration diagram for IRES_HDVICP2_ProtocolArgs:
[legend]

Data Fields

IRES_ProtocolArgs base
XDAS_Int32 id

Detailed Description

HDVICP2 Protocol Arguments definition.

Field Documentation

IRES_ProtocolArgs IRES_HDVICP2_ProtocolArgs::base

Base protocol Args

XDAS_Int32 IRES_HDVICP2_ProtocolArgs::id

HDVICP2 resource being requested.

Remarks:
Could be 0, 1, 2, IRES_HDVICP2_ID_ANY or IRES_HDVICP2_ID_LATE_ACQUIRE.
The documentation for this struct was generated from the following file:
  • ires_hdvicp2.h


Framework Components Application Programming Interface (API): IRES_HDVICP2_RegisterLayer Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IRES_HDVICP2_RegisterLayer Struct Reference
[IRES HDVICP2 Protocol]

HDVICP2 Register Layout. More...

#include <ires_hdvicp2.h>

Data Fields

int size

Detailed Description

HDVICP2 Register Layout.

Field Documentation

int IRES_HDVICP2_RegisterLayer::size
The documentation for this struct was generated from the following file:
  • ires_hdvicp2.h


Framework Components Application Programming Interface (API): IRES_HDVICP_Obj Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IRES_HDVICP_Obj Struct Reference
[IRES HDVICP Protocol]

IRES_HDVICP_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource. More...

#include <ires_hdvicp.h>

Collaboration diagram for IRES_HDVICP_Obj:
[legend]

Data Fields

IRES_Obj ires
Void * | info
Int | id
Void * | registerBaseAddress
Void * | memoryBaseAddress
unsigned int | pscRegisterSpace

Detailed Description

IRES_HDVICP_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource.

Field Documentation

IRES_Obj IRES_HDVICP_Obj::ires
Void* IRES_HDVICP_Obj::info

RSVD for future use

Int IRES_HDVICP_Obj::id

ID of the HDVICP being , granted, could be IRES_HDVICP_ID_0 or IRES_HDVICP_ID_1

Void* IRES_HDVICP_Obj::registerBaseAddress

Base address of reg space

Void* IRES_HDVICP_Obj::memoryBaseAddress

Mem address of mem space

unsigned int IRES_HDVICP_Obj::pscRegisterSpace

Base address of the PSC and system module register space

The documentation for this struct was generated from the following file:
  • ires_hdvicp.h


Framework Components Application Programming Interface (API): IRES_HDVICP_Properties Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IRES_HDVICP_Properties Struct Reference
[IRES HDVICP Protocol]

Static Resource Properties. More...

#include <ires_hdvicp.h>

Collaboration diagram for IRES_HDVICP_Properties:
[legend]

Data Fields

int size
IRES_HDVICP_RegisterLayer * globalRegs

Detailed Description

Static Resource Properties.

Field Documentation

int IRES_HDVICP_Properties::size
IRES_HDVICP_RegisterLayer* IRES_HDVICP_Properties::globalRegs
The documentation for this struct was generated from the following file:
  • ires_hdvicp.h


Framework Components Application Programming Interface (API): IRES_HDVICP_ProtocolArgs Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IRES_HDVICP_ProtocolArgs Struct Reference
[IRES HDVICP Protocol]

HDVICP Protocol Arguments definition. More...

#include <ires_hdvicp.h>

Collaboration diagram for IRES_HDVICP_ProtocolArgs:
[legend]

Data Fields

IRES_ProtocolArgs base
IRES_HDVICP_RequestType id

Detailed Description

HDVICP Protocol Arguments definition.

Field Documentation

IRES_ProtocolArgs IRES_HDVICP_ProtocolArgs::base
IRES_HDVICP_RequestType IRES_HDVICP_ProtocolArgs::id

ID of the HDVICP resource being requested, could be IRES_HDVICP_ID_0, IRES_HDVICP_ID_1 or IRES_HDVICP_ID_ANY

The documentation for this struct was generated from the following file:
  • ires_hdvicp.h


Framework Components Application Programming Interface (API): IRES_HDVICP_RegisterLayer Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IRES_HDVICP_RegisterLayer Struct Reference
[IRES HDVICP Protocol]

HDVICP Register Layout. More...

#include <ires_hdvicp.h>

Data Fields

int size

Detailed Description

HDVICP Register Layout.

Field Documentation

int IRES_HDVICP_RegisterLayer::size
The documentation for this struct was generated from the following file:
  • ires_hdvicp.h


Framework Components Application Programming Interface (API): IRES_Obj Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IRES_Obj Struct Reference

IRES_Obj holds the private state associated with each logical resource. More...

#include <ires_common.h>

Data Fields

Int32 | persistent
Void(* | getStaticProperties )(struct IRES_Obj *resourceHandle, IRES_Properties *resourceProperties)

Detailed Description

IRES_Obj holds the private state associated with each logical resource.

Field Documentation

Int32 IRES_Obj::persistent

Indicates if the resource has been allocated as persistent.

Void(* IRES_Obj::getStaticProperties)(struct IRES_Obj *resourceHandle, IRES_Properties *resourceProperties)

Obtain the static properties associated with this resource This could include information like the register layer of the device etc.

The documentation for this struct was generated from the following file:
  • ires_common.h


Framework Components Application Programming Interface (API): IRES_Properties Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IRES_Properties Struct Reference

Abstract Resource Properties structure/pointer definition. Actual resource protocol will supply the concrete property definitions. The list of attributes for the actual resource will expose the relevant features that needs to be known to a client to use the resource, such as: resource register base addresses and offsets, critical register and memory region addresses, ... More...

#include <ires_common.h>

Data Fields

Int32 size

Detailed Description

Abstract Resource Properties structure/pointer definition. Actual resource protocol will supply the concrete property definitions. The list of attributes for the actual resource will expose the relevant features that needs to be known to a client to use the resource, such as: resource register base addresses and offsets, critical register and memory region addresses, ...

Field Documentation

Int32 IRES_Properties::size

Size of this structure.

The documentation for this struct was generated from the following file:
  • ires_common.h


Framework Components Application Programming Interface (API): IRES_ProtocolArgs Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IRES_ProtocolArgs Struct Reference

Abstract Protocol Arguments structure definition. Actual arguments passed by the algorithm to request a resource from a specific IRES Protocol will extend and supply the concrete definitions. More...

#include <ires_common.h>

Data Fields

Int32 size
IRES_RequestMode mode

Detailed Description

Abstract Protocol Arguments structure definition. Actual arguments passed by the algorithm to request a resource from a specific IRES Protocol will extend and supply the concrete definitions.

Field Documentation

Int32 IRES_ProtocolArgs::size

Size of this structure.

IRES_RequestMode IRES_ProtocolArgs::mode

Resource request mode.

See also:
IRES_RequestMode
The documentation for this struct was generated from the following file:
  • ires_common.h


Framework Components Application Programming Interface (API): IRES_ProtocolRevision Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IRES_ProtocolRevision Struct Reference

Protocol revision type. Used to ensure the given 'protocol' revision can be validated. More...

#include <ires_common.h>

Data Fields

unsigned int | Major
unsigned int | Source
unsigned int | Radius

Detailed Description

Protocol revision type. Used to ensure the given 'protocol' revision can be validated.

Field Documentation

unsigned int IRES_ProtocolRevision::Major
unsigned int IRES_ProtocolRevision::Source
unsigned int IRES_ProtocolRevision::Radius
The documentation for this struct was generated from the following file:
  • ires_common.h


Framework Components Application Programming Interface (API): IRES_ResourceDescriptor Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IRES_ResourceDescriptor Struct Reference

Descriptor to Logical Resource. More...

#include <ires_common.h>

Collaboration diagram for IRES_ResourceDescriptor:
[legend]

Data Fields

String | resourceName
struct IRES_ProtocolArgs * | protocolArgs
Pointer to the Resource Protocol Arguments.
IRES_ProtocolRevision * revision
The revision of the IRES_ResourceProtocol Interface expected by the client algorithm.
struct IRES_Obj * | handle

Detailed Description

Descriptor to Logical Resource.

Field Documentation

String IRES_ResourceDescriptor::resourceName

String containing the package name to identify the resource.

struct IRES_ProtocolArgs* IRES_ResourceDescriptor::protocolArgs

Pointer to the Resource Protocol Arguments.

Remarks:
The Resource Manager selects the appropriate resource protocol based on the supplied resourceName, and uses the protocol to construct the IRES Resource Handle.
IRES_ProtocolRevision* IRES_ResourceDescriptor::revision

The revision of the IRES_ResourceProtocol Interface expected by the client algorithm.

Remarks:
Depending on the resource manager implementation, the returned resource may/may not coincide with the version being requested. Resource manager will update this field with the version of the handle it returns (and supports).
struct IRES_Obj* IRES_ResourceDescriptor::handle

The handle to the object representing the requested resource. The handle is initially set to 'null' by the requesting algorithm. The 'resource manager' allocates the resource and constructs the handle.

The documentation for this struct was generated from the following file:
  • ires_common.h


Framework Components Application Programming Interface (API): IRES_TILEDMEMORY_Obj Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IRES_TILEDMEMORY_Obj Struct Reference
[IRES TILEDMEMORY Protocol (Beta)]

IRES_TILEDMEMORY_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource. More...

#include <ires_tiledmemory.h>

Collaboration diagram for IRES_TILEDMEMORY_Obj:
[legend]

Data Fields

IRES_Obj ires
XDAS_Void * info
XDAS_Void * memoryBaseAddress
XDAS_UInt32 isTiledMemory
XDAS_UInt32 accessUnit
XDAS_Void * tilerBaseAddress
XDAS_Void * systemSpaceBaseAddress

Detailed Description

IRES_TILEDMEMORY_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource.

Field Documentation

IRES_Obj IRES_TILEDMEMORY_Obj::ires
XDAS_Void* IRES_TILEDMEMORY_Obj::info

RSVD for future use

XDAS_Void* IRES_TILEDMEMORY_Obj::memoryBaseAddress

Process-specific virtual base address of Tiler memory allocated.

XDAS_UInt32 IRES_TILEDMEMORY_Obj::isTiledMemory

Boolean value that identifies if returned memory is of type TILED memory or not.

Valid values for this field are XDAS_TRUE and XDAS_FALSE.

If XDAS_TRUE, accessUnit will describe the kind of TILED memory allocated.

XDAS_UInt32 IRES_TILEDMEMORY_Obj::accessUnit

Describes the kind of memory actually allocated in the TILER space of type,

Remarks:
Requestor MUST check the type of returned memory to ensure it is suitable for its purpose.
See also:
IRES_TILEDMEMORY_AccessUnit
XDAS_Void* IRES_TILEDMEMORY_Obj::tilerBaseAddress

Base address of TILER on SOC

XDAS_Void* IRES_TILEDMEMORY_Obj::systemSpaceBaseAddress

Tiler space base address of memory allocated

The documentation for this struct was generated from the following file:
  • ires_tiledmemory.h


Framework Components Application Programming Interface (API): IRES_TILEDMEMORY_Properties Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IRES_TILEDMEMORY_Properties Struct Reference
[IRES TILEDMEMORY Protocol (Beta)]

Static Resource Properties. More...

#include <ires_tiledmemory.h>

Data Fields

int size

Detailed Description

Static Resource Properties.

Field Documentation

int IRES_TILEDMEMORY_Properties::size
The documentation for this struct was generated from the following file:
  • ires_tiledmemory.h


Framework Components Application Programming Interface (API): IRES_TILEDMEMORY_ProtocolArgs Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IRES_TILEDMEMORY_ProtocolArgs Struct Reference
[IRES TILEDMEMORY Protocol (Beta)]

TILEDMEMORY Protocol Arguments definition. More...

#include <ires_tiledmemory.h>

Collaboration diagram for IRES_TILEDMEMORY_ProtocolArgs:
[legend]

Data Fields

IRES_ProtocolArgs base
XDAS_UInt32 accessDimension
XDAS_UInt32 accessUnit
int | sizeDim0
int | sizeDim1
int | alignment

Detailed Description

TILEDMEMORY Protocol Arguments definition.

Field Documentation

IRES_ProtocolArgs IRES_TILEDMEMORY_ProtocolArgs::base
XDAS_UInt32 IRES_TILEDMEMORY_ProtocolArgs::accessDimension

Access dimension of requested memory.

See also:
IRES_TILEDMEMORY_AccessDimension
XDAS_UInt32 IRES_TILEDMEMORY_ProtocolArgs::accessUnit

Access Unit for memory requested.

See also:
IRES_TILEDMEMORY_AccessUnit
int IRES_TILEDMEMORY_ProtocolArgs::sizeDim0

size of 1st Dimension (width) in number of bytes

int IRES_TILEDMEMORY_ProtocolArgs::sizeDim1

size of 2nd Dimension (height) in number of bytes when 2D access type

int IRES_TILEDMEMORY_ProtocolArgs::alignment

alignment in bytes for the memory base address to be allocated

The documentation for this struct was generated from the following file:
  • ires_tiledmemory.h


Framework Components Application Programming Interface (API): IRES_TILEDMEMORY_RegisterLayer Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IRES_TILEDMEMORY_RegisterLayer Struct Reference
[IRES TILEDMEMORY Protocol (Beta)]

TILEDMEMORY Register Layout. More...

#include <ires_tiledmemory.h>

Data Fields

int size

Detailed Description

TILEDMEMORY Register Layout.

Field Documentation

int IRES_TILEDMEMORY_RegisterLayer::size
The documentation for this struct was generated from the following file:
  • ires_tiledmemory.h


Framework Components Application Programming Interface (API): IRES_VICP2_Buffers Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IRES_VICP2_Buffers Struct Reference
[IRES VICP2 Protocol]

#include <ires_vicp2.h>

Data Fields

int | size
unsigned char * | vicp_cfg_base
unsigned char * | imgBufA_base
unsigned char * | imgBufB_base
unsigned char * | imgBufC_base
unsigned char * | imgBufD_base
unsigned char * | imgBufE_base
unsigned char * | imx0CoeffBuff_base
unsigned char * | imx0CmdBuf_base
unsigned char * | imx1CoeffBuff_base
unsigned char * | imx1CmdBuf_base
unsigned char * | babyImxCmdBuf_base
unsigned char * | babyImxOrigBuf_base
unsigned char * | babyImxRefBuf_base
unsigned char * | sequencerPmem_base
unsigned int * | qiqmem_base
unsigned int * | predmem_base
unsigned int * | mvmem
unsigned int * | huffmem
unsigned int * | seqBuf1
unsigned int * | seqBuf2
unsigned int * | seqBuf3
unsigned int * | seqBuf4
unsigned int * | sequencerDmem

Field Documentation

int IRES_VICP2_Buffers::size

Size of this structure.

unsigned char* IRES_VICP2_Buffers::vicp_cfg_base
unsigned char* IRES_VICP2_Buffers::imgBufA_base
unsigned char* IRES_VICP2_Buffers::imgBufB_base
unsigned char* IRES_VICP2_Buffers::imgBufC_base
unsigned char* IRES_VICP2_Buffers::imgBufD_base
unsigned char* IRES_VICP2_Buffers::imgBufE_base
unsigned char* IRES_VICP2_Buffers::imx0CoeffBuff_base
unsigned char* IRES_VICP2_Buffers::imx0CmdBuf_base
unsigned char* IRES_VICP2_Buffers::imx1CoeffBuff_base
unsigned char* IRES_VICP2_Buffers::imx1CmdBuf_base
unsigned char* IRES_VICP2_Buffers::babyImxCmdBuf_base

Not yet supported for DM365

unsigned char* IRES_VICP2_Buffers::babyImxOrigBuf_base

Not yet supported for DM365

unsigned char* IRES_VICP2_Buffers::babyImxRefBuf_base

Not yet supported for DM365

unsigned char* IRES_VICP2_Buffers::sequencerPmem_base
unsigned int* IRES_VICP2_Buffers::qiqmem_base

Not yet supported for DM365

unsigned int* IRES_VICP2_Buffers::predmem_base

Not yet supported for DM365

unsigned int* IRES_VICP2_Buffers::mvmem

Not yet supported for DM365

unsigned int* IRES_VICP2_Buffers::huffmem

Not yet supported for DM365

unsigned int* IRES_VICP2_Buffers::seqBuf1

Not yet supported for DM365

unsigned int* IRES_VICP2_Buffers::seqBuf2

Not yet supported for DM365

unsigned int* IRES_VICP2_Buffers::seqBuf3

Not yet supported for DM365

unsigned int* IRES_VICP2_Buffers::seqBuf4

Not yet supported for DM365

unsigned int* IRES_VICP2_Buffers::sequencerDmem

Not yet supported for DM365

The documentation for this struct was generated from the following file:
  • ires_vicp2.h


Framework Components Application Programming Interface (API): IRES_VICP2_Obj Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IRES_VICP2_Obj Struct Reference
[IRES VICP2 Protocol]

IRES_VICP2_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource. More...

#include <ires_vicp2.h>

Collaboration diagram for IRES_VICP2_Obj:
[legend]

Data Fields

IRES_Obj ires
short | assignedIMX0
short | assignedIMX1
short | assignedMJCP
short | assignedNSF
unsigned int | assignedIMCOPBuffers [16]
short | numMemBufs
unsigned int | assignedMemAddrs [16]
unsigned int | assignedMemSizes [16]
unsigned int | configBaseAddress
unsigned int | dmaViewConfigBaseAddr
unsigned int | pscRegisterSpace

Detailed Description

IRES_VICP2_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource.

Field Documentation

IRES_Obj IRES_VICP2_Obj::ires
short IRES_VICP2_Obj::assignedIMX0
short IRES_VICP2_Obj::assignedIMX1

Value of 1 to indicate resource was granted, 0 otherwise

short IRES_VICP2_Obj::assignedMJCP
short IRES_VICP2_Obj::assignedNSF
unsigned int IRES_VICP2_Obj::assignedIMCOPBuffers[16]

Addresses of Named buffers granted, index array with IMCOP_BUFFER_<>

short IRES_VICP2_Obj::numMemBufs

Number of individual memory buffers assigned

unsigned int IRES_VICP2_Obj::assignedMemAddrs[16]

Addresses of buffers assigned, only the first numBufs will hold valid addresses

unsigned int IRES_VICP2_Obj::assignedMemSizes[16]
unsigned int IRES_VICP2_Obj::configBaseAddress

Base address of config space

unsigned int IRES_VICP2_Obj::dmaViewConfigBaseAddr

Base address of DMA view of VICP buffers

unsigned int IRES_VICP2_Obj::pscRegisterSpace

Base address of the PSC and system module register space

The documentation for this struct was generated from the following file:
  • ires_vicp2.h


Framework Components Application Programming Interface (API): IRES_VICP2_Properties Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IRES_VICP2_Properties Struct Reference
[IRES VICP2 Protocol]

#include <ires_vicp2.h>

Collaboration diagram for IRES_VICP2_Properties:
[legend]

Data Fields

int size
IRES_VICP2_Buffers buffers

Field Documentation

int IRES_VICP2_Properties::size
IRES_VICP2_Buffers IRES_VICP2_Properties::buffers
The documentation for this struct was generated from the following file:
  • ires_vicp2.h


Framework Components Application Programming Interface (API): IRES_VICP2_ProtocolArgs Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IRES_VICP2_ProtocolArgs Struct Reference
[IRES VICP2 Protocol]

VICP Protocol Arguments definition. More...

#include <ires_vicp2.h>

Data Fields

int | size
IRES_RequestMode mode
short | requestIMX0
short | requestIMX1
short | requestMJCP
short | requestNSF
unsigned int | requestIMCOPBuffers
unsigned int | numMemoryRequests
unsigned int | memRequestSizes [16]

Detailed Description

VICP Protocol Arguments definition.

Field Documentation

int IRES_VICP2_ProtocolArgs::size

Size of this structure.

IRES_RequestMode IRES_VICP2_ProtocolArgs::mode

Resource requested as Persistent or Scratch. This mode applies to all the resources requested below

short IRES_VICP2_ProtocolArgs::requestIMX0
short IRES_VICP2_ProtocolArgs::requestIMX1

Value of 1 to indicate resource requested 0 otherwise

short IRES_VICP2_ProtocolArgs::requestMJCP

MJCP, same as VLCD

short IRES_VICP2_ProtocolArgs::requestNSF

NSF, Noise filter

unsigned int IRES_VICP2_ProtocolArgs::requestIMCOPBuffers

Bit# IMCOP_BUFFER_<> 0 or 1 bit indicating if access to particular buffer is required. ((0x1 << IMCOP_BUFFER_IMGBUF) | (0x1 << IMCOP_BUFFER_IMGBUF_A));

unsigned int IRES_VICP2_ProtocolArgs::numMemoryRequests

Number of individual memory buffers required

unsigned int IRES_VICP2_ProtocolArgs::memRequestSizes[16]

Sizes of buffers required

The documentation for this struct was generated from the following file:
  • ires_vicp2.h


Framework Components Application Programming Interface (API): IRES_VICP_Obj Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IRES_VICP_Obj Struct Reference
[IRES VICP Protocol]

IRES_VICP_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource. More...

#include <ires_vicp.h>

Collaboration diagram for IRES_VICP_Obj:
[legend]

Data Fields

IRES_Obj ires
short | assignedIMX
short | assignedVLCD
short | assignedSEQ

Detailed Description

IRES_VICP_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource.

Field Documentation

IRES_Obj IRES_VICP_Obj::ires
short IRES_VICP_Obj::assignedIMX
short IRES_VICP_Obj::assignedVLCD
short IRES_VICP_Obj::assignedSEQ
The documentation for this struct was generated from the following file:
  • ires_vicp.h


Framework Components Application Programming Interface (API): IRES_VICP_Properties Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IRES_VICP_Properties Struct Reference
[IRES VICP Protocol]

#include <ires_vicp.h>

Collaboration diagram for IRES_VICP_Properties:
[legend]

Data Fields

int size
IRES_VICP_Registers * globalRegs

Field Documentation

int IRES_VICP_Properties::size
IRES_VICP_Registers* IRES_VICP_Properties::globalRegs
The documentation for this struct was generated from the following file:
  • ires_vicp.h


Framework Components Application Programming Interface (API): IRES_VICP_ProtocolArgs Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IRES_VICP_ProtocolArgs Struct Reference
[IRES VICP Protocol]

VICP Protocol Arguments definition. More...

#include <ires_vicp.h>

Data Fields

int | size
IRES_RequestMode mode
short | requestIMX
short | requestVLCD
short | requestSEQ

Detailed Description

VICP Protocol Arguments definition.

Field Documentation

int IRES_VICP_ProtocolArgs::size

Size of this structure.

IRES_RequestMode IRES_VICP_ProtocolArgs::mode
short IRES_VICP_ProtocolArgs::requestIMX
short IRES_VICP_ProtocolArgs::requestVLCD
short IRES_VICP_ProtocolArgs::requestSEQ
The documentation for this struct was generated from the following file:
  • ires_vicp.h


Framework Components Application Programming Interface (API): IRES_VICP_Registers Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IRES_VICP_Registers Struct Reference
[IRES VICP Protocol]

#include <ires_vicp.h>

Data Fields

int | size
unsigned char * | vicp_umap1_base
unsigned char * | vicp_cfg_base
unsigned char * | imgBuf_base
unsigned char * | imgBufA_base
unsigned char * | imgBufB_base
unsigned char * | imxCoeffBuff_base
unsigned char * | imxCmdBuf_base
unsigned char * | vlcdDataBuf_base
unsigned char * | qiqBuf_base
unsigned char * | vlcdBuf_base
unsigned char * | seqProgMem_base
unsigned char * | seqDataMem_base
unsigned int | imgBuf_length
unsigned int | imgBufA_length
unsigned int | imgBufB_length
unsigned int | imxCoeffBuff_length
unsigned int | imxCmdBuf_length
unsigned int | vlcdDataBuf_length
unsigned int | qiqBuf_length
unsigned int | vlcdBuf_length
unsigned int | seqProgMem_length
unsigned int | seqDataMem_length

Field Documentation

int IRES_VICP_Registers::size

Size of this structure.

unsigned char* IRES_VICP_Registers::vicp_umap1_base
unsigned char* IRES_VICP_Registers::vicp_cfg_base
unsigned char* IRES_VICP_Registers::imgBuf_base
unsigned char* IRES_VICP_Registers::imgBufA_base
unsigned char* IRES_VICP_Registers::imgBufB_base
unsigned char* IRES_VICP_Registers::imxCoeffBuff_base
unsigned char* IRES_VICP_Registers::imxCmdBuf_base
unsigned char* IRES_VICP_Registers::vlcdDataBuf_base
unsigned char* IRES_VICP_Registers::qiqBuf_base
unsigned char* IRES_VICP_Registers::vlcdBuf_base
unsigned char* IRES_VICP_Registers::seqProgMem_base
unsigned char* IRES_VICP_Registers::seqDataMem_base
unsigned int IRES_VICP_Registers::imgBuf_length
unsigned int IRES_VICP_Registers::imgBufA_length
unsigned int IRES_VICP_Registers::imgBufB_length
unsigned int IRES_VICP_Registers::imxCoeffBuff_length
unsigned int IRES_VICP_Registers::imxCmdBuf_length
unsigned int IRES_VICP_Registers::vlcdDataBuf_length
unsigned int IRES_VICP_Registers::qiqBuf_length
unsigned int IRES_VICP_Registers::vlcdBuf_length
unsigned int IRES_VICP_Registers::seqProgMem_length
unsigned int IRES_VICP_Registers::seqDataMem_length
The documentation for this struct was generated from the following file:
  • ires_vicp.h


Framework Components Application Programming Interface (API): IRES_YieldContext Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IRES_YieldContext Struct Reference
[IRES]

Specifies the algorithm specific handles and context save & restore function pointers and arguments that the framework will call during a context switch. More...

#include <ires.h>

Collaboration diagram for IRES_YieldContext:
[legend]

Data Fields

IALG_Handle algHandle
IRES_Handle resourceHandle
IRES_ContextSaveFxn contextSave
IRES_ContextRestoreFxn contextRestore
Void * contextArgs

Detailed Description

Specifies the algorithm specific handles and context save & restore function pointers and arguments that the framework will call during a context switch.

Field Documentation

IALG_Handle IRES_YieldContext::algHandle

Handle of the algorithm instance issuing the "yield".

IRES_Handle IRES_YieldContext::resourceHandle

Optional resource handle that may be used to yield a particular IRES resource. May be NULL when some other resource or ALL resources associated with an algorithm are to be yielded.

IRES_ContextSaveFxn IRES_YieldContext::contextSave

The 'contextSave' function is implemented by the 'yielding' algorithm instance and must be called by the framework whenever the 'yield' results in a context switch. Any 'scratch' IRES, IALG or IDMA3 resource owned by the algorithm must be considered in volatile state during a 'yield' call, and must be re-initialized and activated following any context switch. The 'contextSave' function must save any volatile state information in its persistent memory that it needs in the subsequent 'contextRestore' function call to re-initialize and activate its scratch resources.

IRES_ContextRestoreFxn IRES_YieldContext::contextRestore

The 'contextRestore' function is implemented by the 'yielding' algorithm instance and must be called by the framework following a context switch which occured as a result of the 'yield', prior to returning from the framework supplied 'yield-function'.

Any 'scratch' IRES, IALG or IDMA3 resource owned by the algorithm must be considered in volatile state during a 'yield' call, and must be re-initialized and activated following any context swith. The 'contextRestore' function uses the saved context information in the preceeding 'contextSave' call to re-initialize and activate its scratch resources.

Void* IRES_YieldContext::contextArgs

The arguments that must be passed when calling the 'contextSave()' and 'contextRestore()' functions. The algorithm instance calling the 'yield function' optionally supplies any 'contextArgs' that it wants the framework to passed to the 'contextSave()' and 'contextRestore()' functions.

The documentation for this struct was generated from the following file:
  • ires.h


Framework Components Application Programming Interface (API): IRESMAN_ConstructArgs Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IRESMAN_ConstructArgs Struct Reference
[Resource manager interface]

Abstract Protocol Construct Arguments structure/pointer definition. Arguments passed by the Resource manager to request a resource from a specific IRES Protocol will extend and supply the concrete definition. More...

#include <iresman_protocol.h>

Data Fields

Int32 size

Detailed Description

Abstract Protocol Construct Arguments structure/pointer definition. Arguments passed by the Resource manager to request a resource from a specific IRES Protocol will extend and supply the concrete definition.

Field Documentation

Int32 IRESMAN_ConstructArgs::size
The documentation for this struct was generated from the following file:
  • iresman_protocol.h


Framework Components Application Programming Interface (API): IRESMAN_ConstructFxns Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IRESMAN_ConstructFxns Struct Reference

These functions are used to determine memory requirements for and initialize the IRES protocol's environment that will be allocated by the resource manager. More...

#include <iresman_protocol.h>

Collaboration diagram for IRESMAN_ConstructFxns:
[legend]

Data Fields

String(* | getName )()
IRES_ProtocolRevision *(* getRevision )()
IRES_Status(* | getMemRecs )(IRES_Handle handle, IRES_ProtocolArgs *protocolArgs, IALG_MemRec *memRecs)
Int(* | getNumMemRecs )(IRES_ProtocolArgs *protocolArgs)
IRES_Handle(* | constructHandle )(IRES_ProtocolArgs *protocolArgs, IALG_MemRec *memRecs, IRESMAN_ConstructArgs *constructHandleArgs, IRES_Status *status)
IRES_Status(* | destructHandle )(IRES_Handle handle)

Detailed Description

These functions are used to determine memory requirements for and initialize the IRES protocol's environment that will be allocated by the resource manager.

Remarks:
These fxns are implemented by the IRES protocol that is used for a given channel (e.g, ACPY3), and are passed in the IRES_ProtocolArgs and IRES_ResmanProtocolConstructArgs structure to request a logical resource.
getName() - Called by the resource manager to query the name of the protocol to return to the generic Resource Manager RMAN
getRevision() - Called by the resource manager to query the revision of the protocol to return to the generic Resource Manager RMAN
getMemRecs() - Called by the resource manager when creating a resource handle to query the specific resource protocol's memory requirements. Since IRES is an abstract interface, the actual size of the handle can be extended by the specific resource protocol.
getNumMemRecs() - Called by the resource manager when creating a logical resource handle to obtain the number of IALG memory request descriptors the protocol uses to request memory for the resource handle.
constructHandle() - Called by the resource manager after allocating memory for the handle, so that the resource specific custom protocol initializes the handle.
destructHandle() - Called by the resource manager just before the resource is freed, to allow the custom IRES protocol to perform any required de-initialization.

Field Documentation

String(* IRESMAN_ConstructFxns::getName)()

Query for identification for protocol

IRES_ProtocolRevision*(* IRESMAN_ConstructFxns::getRevision)()

Query for revision of the protocol

IRES_Status(* IRESMAN_ConstructFxns::getMemRecs)(IRES_Handle handle, IRES_ProtocolArgs *protocolArgs, IALG_MemRec *memRecs)

Obtain the memory requirements that must be allocated by the framework to construct a resource handle.

The 'protocol' determines the size and attributes of the memory that represents the logical resource. The size must be at least the size of IRES_Obj. The first sizeof(IRES_Obj) bytes are assigned by the Resource Manager, the protocol may request additional 'environment' memory to follow the IRES_Obj.

The "IRES_Handle handle" argument may be NULL, in which case the resource protocol fills in the memRecs with the attributes of the memory that is needed to create a handle.

Resource Manager may call this function anytime after the 'constructHandle()' call with a valid IRES_Handle to find out the memory assigned to the resource handle. Prior to the 'constructHandle()' call, or when a NULL IRES_Handle argument is supplied, the value(s) returned in the memRecs' IALG_MemRec::base fields are undefined.

Int(* IRESMAN_ConstructFxns::getNumMemRecs)(IRES_ProtocolArgs *protocolArgs)

Obtain the number of IALG memory request descriptors the protocol uses to request memory for the resource handle.

IRES_Handle(* IRESMAN_ConstructFxns::constructHandle)(IRES_ProtocolArgs *protocolArgs, IALG_MemRec *memRecs, IRESMAN_ConstructArgs *constructHandleArgs, IRES_Status *status)

Protocol specific initialization function to finalize the creation a resource object (handle). The protocol::constructHandle function can extend the IRES_Obj structure and must store any additional allocated 'environment' memory within the resource handle and return the IALG_MemRec descriptors in protocol::getResourceMemRecs() function.

Two types of arguments are passed to this function, protocolArgs that are forwarded from the IRES_Protocol and the constructHandleArgs that consists of information from the Resource Manager required to construct a Resource handle. Return valid resource handle on success, and set status to IRES_OK. Return NULL and indicate an IRES Error status otherwise.

IRES_Status(* IRESMAN_ConstructFxns::destructHandle)(IRES_Handle handle)

Perform any resource specific operations that may be required before the resource is reclaimed by the resource manager.

The documentation for this struct was generated from the following file:
  • iresman_protocol.h


Framework Components Application Programming Interface (API): IRESMAN_Edma3ChanParams Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IRESMAN_Edma3ChanParams Struct Reference
[IRESMAN EDMA3 -]

Configuration parameters for Edma3Chan resman implementation. More...

#include <iresman_edma3Chan.h>

Collaboration diagram for IRESMAN_Edma3ChanParams:
[legend]

Data Fields

IRESMAN_Params baseConfig

Detailed Description

Configuration parameters for Edma3Chan resman implementation.

Field Documentation

IRESMAN_Params IRESMAN_Edma3ChanParams::baseConfig

The base configuration information

The documentation for this struct was generated from the following file:
  • iresman_edma3Chan.h


Framework Components Application Programming Interface (API): IRESMAN_Fxns Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IRESMAN_Fxns Struct Reference
[Resource manager interface]

#include <iresman.h>

Collaboration diagram for IRESMAN_Fxns:
[legend]

Data Fields

String(* | getProtocolName )()
Function to query the name of the protocol.
IRES_ProtocolRevision *(* getProtocolRevision )()
Function to query the revision of hte protocol.
IRES_Status(* | init )(IRESMAN_Params *initArgs)
Function to create and initialize the device specific resource manager implementation.
IRES_Status(* exit )()
Function called when RESMAN is no longer needed. Use it to free memory allocated etc.
IRES_Handle(* | getHandle )(IALG_Handle algHandle, IRES_ResourceDescriptor *resDesc, Int scratchGroupId, IRES_Status *status)
Function that returns the IRES_Handle to resource requested using the IRES_ProtocolArgs.
IRES_Status(* | freeHandle )(IALG_Handle algHandle, IRES_Handle resourceHandle, IRES_ResourceDescriptor *resDesc, Int scratchGroupId)
Frees handles back to the resource pool.
Void(* | activateResource )(IALG_Handle algHandle, IRES_Fxns *resFxns)
Void(* | deactivateResource )(IALG_Handle algHandle, IRES_Fxns *resFxns)

Field Documentation

String(* IRESMAN_Fxns::getProtocolName)()

Function to query the name of the protocol.

IRES_ProtocolRevision*(* IRESMAN_Fxns::getProtocolRevision)()

Function to query the revision of hte protocol.

Return values:
Pointer to the protocol revision structure
IRES_Status(* IRESMAN_Fxns::init)(IRESMAN_Params *initArgs)

Function to create and initialize the device specific resource manager implementation.

Parameters:
[in] initArgs Initialization arguments maybe interpreted by device specific implementation
Return values:
IRESMAN_EOK Success IRESMAN_EEXISTS RESMAN already initialized IRESMAN_EERROR RESMAN could not be initialized
IRES_Status(* IRESMAN_Fxns::exit)()

Function called when RESMAN is no longer needed. Use it to free memory allocated etc.

Return values:
IRESMAN_EOK Success IRESMAN_ENOINIT RESMAN not initialized IRESMAN_EERROR RESMAN could not be reset
IRES_Handle(* IRESMAN_Fxns::getHandle)(IALG_Handle algHandle, IRES_ResourceDescriptor *resDesc, Int scratchGroupId, IRES_Status *status)

Function that returns the IRES_Handle to resource requested using the IRES_ProtocolArgs.

Parameters:
[in] | algHandle | Handle of the algorithm that is requesting the resources
[in] | resDesc | Arguments to be interpreted by IRES_Manager implementation to determine actual physical resources to obtain
[in] | scratchGroupId | Scratch Group Id where resources should be allocated
[out] | status | IRESMAN_EOK Success IRESMAN_ENORESOURCE Resource unavailable IRESMAN_EERROR Error obtaining handles
IRES_Status(* IRESMAN_Fxns::freeHandle)(IALG_Handle algHandle, IRES_Handle resourceHandle, IRES_ResourceDescriptor *resDesc, Int scratchGroupId)

Frees handles back to the resource pool.

Parameters:
[in] | algHandle | Handle of the algorithm that is releasing the resources
[in] | resourceHandle | Handle that is to be released
[in] | resDesc | Arguments that help determine which resources to free
Return values:
IRESMAN_EOK Success IRESMAN_EERROR Handle could not be freed
Void(* IRESMAN_Fxns::activateResource)(IALG_Handle algHandle, IRES_Fxns *resFxns)
Void(* IRESMAN_Fxns::deactivateResource)(IALG_Handle algHandle, IRES_Fxns *resFxns)
The documentation for this struct was generated from the following file:
  • iresman.h


Framework Components Application Programming Interface (API): IRESMAN_HdVicpParams Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IRESMAN_HdVicpParams Struct Reference
[IRESMAN PROTOCOL - HDVICP]

#include <iresman_hdvicp.h>

Collaboration diagram for IRESMAN_HdVicpParams:
[legend]

Data Fields

IRESMAN_Params baseConfig
int | numResources
Void * | info

Field Documentation

IRESMAN_Params IRESMAN_HdVicpParams::baseConfig
int IRESMAN_HdVicpParams::numResources
Void* IRESMAN_HdVicpParams::info
The documentation for this struct was generated from the following file:
  • iresman_hdvicp.h


Framework Components Application Programming Interface (API): IRESMAN_Params Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IRESMAN_Params Struct Reference
[Resource manager interface]

Configuration Parameters required by the Resource Manager implementation. These can be extended by individual resource managers if required. More...

#include <iresman.h>

Data Fields

Int32 size
IRESMAN_PersistentAllocFxn * allocFxn
Function to allocate memory required by the resource manager implementation and the protocol.
IRESMAN_PersistentFreeFxn * freeFxn
Function to free memory released by the resource manager implementation and the protocol.

Detailed Description

Configuration Parameters required by the Resource Manager implementation. These can be extended by individual resource managers if required.

Field Documentation

Int32 IRESMAN_Params::size

Size of this structure

IRESMAN_PersistentAllocFxn* IRESMAN_Params::allocFxn

Function to allocate memory required by the resource manager implementation and the protocol.

IRESMAN_PersistentFreeFxn* IRESMAN_Params::freeFxn

Function to free memory released by the resource manager implementation and the protocol.

The documentation for this struct was generated from the following file:
  • iresman.h


Framework Components Application Programming Interface (API): IRESMAN_TiledmemoryParams Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IRESMAN_TiledmemoryParams Struct Reference
[IRESMAN TILEDMEM]

#include <iresman_tiledmemory.h>

Collaboration diagram for IRESMAN_TiledmemoryParams:
[legend]

Data Fields

IRESMAN_Params baseConfig
int | numResources
Void * | info

Field Documentation

IRESMAN_Params IRESMAN_TiledmemoryParams::baseConfig
int IRESMAN_TiledmemoryParams::numResources
Void* IRESMAN_TiledmemoryParams::info
The documentation for this struct was generated from the following file:
  • iresman_tiledmemory.h


Framework Components Application Programming Interface (API): IRESMAN_VicpParams Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

IRESMAN_VicpParams Struct Reference
[IRESMAN PROTOCOL - VICP, IRESMAN PROTOCOL - VICP]

#include <iresman_vicp.h>

Collaboration diagram for IRESMAN_VicpParams:
[legend]

Data Fields

IRESMAN_Params baseConfig

Detailed Description

Field Documentation

IRESMAN_Params IRESMAN_VicpParams::baseConfig
The documentation for this struct was generated from the following files:
  • iresman_vicp.h
  • iresman_vicp2.h


Framework Components Application Programming Interface (API): RMAN_Params Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
Data Fields

RMAN_Params Struct Reference
[Resource Manager for IRES-based resources]

The module configuration structure for RMAN. It is set at design time by the system integrator to register the specific Resource Managers(IRESMAN implementations). More...

#include <rman.h>

Data Fields

short | numRegistries
Number of registry entries in the RMAN table.
IRESMAN_PersistentAllocFxn * allocFxn
Memory allocation function for all RMAN memory requirements.
IRESMAN_PersistentFreeFxn * freeFxn
Memory free function for all RMAN memory requirements.
IRES_YieldFxn yieldFxn
Yield function used to yield to same/higher priority algorithms. If yielding is supported set to valid function, * else NULL.
Bool | yieldSamePriority
Flag indicating if yield to same priority is okay.

Detailed Description

The module configuration structure for RMAN. It is set at design time by the system integrator to register the specific Resource Managers(IRESMAN implementations).

Remarks:
Typically, system integrators configure these settings using XDC config scripts. System integrators that use that method of configuration can ignore this structure definition. It's auto-generated during the config step by the XDC Tools.

Field Documentation

short RMAN_Params::numRegistries

Number of registry entries in the RMAN table.

IRESMAN_PersistentAllocFxn* RMAN_Params::allocFxn

Memory allocation function for all RMAN memory requirements.

IRESMAN_PersistentFreeFxn* RMAN_Params::freeFxn

Memory free function for all RMAN memory requirements.

IRES_YieldFxn RMAN_Params::yieldFxn

Yield function used to yield to same/higher priority algorithms. If yielding is supported set to valid function, * else NULL.

Bool RMAN_Params::yieldSamePriority

Flag indicating if yield to same priority is okay.

The documentation for this struct was generated from the following file:
  • rman.h


Framework Components Application Programming Interface (API): Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- a -

  • accessDimension : IRES_TILEDMEMORY_ProtocolArgs
  • accessUnit : IRES_TILEDMEMORY_ProtocolArgs , IRES_TILEDMEMORY_Obj
  • acnt : IRES_EDMA3CHAN_PaRamStruct
  • acquire : IRES_HDVICP2_Obj
  • activateAllResources : IRES_Fxns
  • activateResource : IRESMAN_Fxns , IRES_Fxns
  • AETCMD : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • AETCTL : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • AETSTAT : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • algActivate : IALG_Fxns
  • algAlloc : IALG_Fxns
  • algControl : IALG_Fxns
  • algDeactivate : IALG_Fxns
  • algFree : IALG_Fxns
  • algHandle : IRES_YieldContext
  • algInit : IALG_Fxns
  • algMoved : IALG_Fxns
  • algNumAlloc : IALG_Fxns
  • alignment : IALG_MemRec , IRES_TILEDMEMORY_ProtocolArgs
  • allocFxn : ECPY_CfgParams , IRESMAN_Params , RMAN_Params
  • assignedEdmaChannelIndex : IRES_EDMA3CHAN_Obj , IRES_EDMA3CHAN2_Obj
  • assignedIMCOPBuffers : IRES_VICP2_Obj
  • assignedIMX : IRES_VICP_Obj
  • assignedIMX0 : IRES_VICP2_Obj
  • assignedIMX1 : IRES_VICP2_Obj
  • assignedMemAddrs : IRES_VICP2_Obj
  • assignedMemSizes : IRES_VICP2_Obj
  • assignedMJCP : IRES_VICP2_Obj
  • assignedNSF : IRES_VICP2_Obj
  • assignedNumPaRams : IRES_EDMA3CHAN_Obj , IRES_EDMA3CHAN2_Obj
  • assignedNumTccs : IRES_EDMA3CHAN_Obj , IRES_EDMA3CHAN2_Obj
  • assignedPaRamAddresses : IRES_EDMA3CHAN2_Obj , IRES_EDMA3CHAN_Obj
  • assignedPaRamIndices : IRES_EDMA3CHAN_Obj , IRES_EDMA3CHAN2_Obj
  • assignedQdmaChannelIndex : IRES_EDMA3CHAN2_Obj , IRES_EDMA3CHAN_Obj
  • assignedSEQ : IRES_VICP_Obj
  • assignedTccIndices : IRES_EDMA3CHAN_Obj , IRES_EDMA3CHAN2_Obj
  • assignedVLCD : IRES_VICP_Obj
  • attrs : IALG_MemRec


Framework Components Application Programming Interface (API): File Index

  • File List
  • Globals

File List

Here is a list of all files with brief descriptions:
dskt2.h [code] | Provides services to support XDAIS algorithm instance objects
dskt2_qos.h [code] |
ecpy.h [code] | ECPY Definitions (C64P) - Functional DMA Library for use with the EDMA3 DMA peripheral. Provides a comprehensive list of DMA operations an algorithm can perform on logical DMA channels it acquires through the IRES_EDMA3CHAN protocol
ialg.h [code] | This header defines all types, constants, and functions defined by XDAIS for algorithms
ires.h [code] | IRES Interface Definitions - Allows algorithms to request and receive handles representing private logical resources
ires_common.h [code] | IRES Resource Protocol Definitions - IRES Resource
ires_edma3Chan.h [code] | IRES EDMA3CHAN PROTOCOL Interface Definitions - Allows algorithms to request and receive handles representing EDMA3 resources associated with a single EDMA3 channel
ires_hdvicp.h [code] | IRES PROTOCOL HDVICP Interface Definitions - Allows algorithms to request and receive handles representing the HDVICP resource
ires_hdvicp2.h [code] | IRES PROTOCOL HDVICP2 Interface Definitions - Allows algorithms to request and receive handles representing the HDVICP2 resource
ires_tiledmemory.h [code] | IRES PROTOCOL TILEDMEMORY Interface Definitions (Beta) - Allows algorithms to request and receive handles representing the TILEDMEMORY resource
ires_vicp.h [code] | IRES PROTOCOL VICP Interface Definitions - Allows algorithms to request and receive handles representing the VICP resource
ires_vicp2.h [code] | IRES PROTOCOL VICP2 Interface Definitions - Allows algorithms to request and receive handles representing the VICP resource
iresman.h [code] | Device specific Resource Manager Interface Definitions IRESMAN - Interface that needs to be implemented and registered with the generic RMAN Resource Registry that are called to manage corresponding IRES resources
iresman_edma3Chan.h [code] | IRESMAN EDMA3 specific Resource Manager Definitions - EDMA3 resource manager implementation
iresman_hdvicp.h [code] | IRESMAN
iresman_protocol.h [code] | IRES Resource Protocol Definitions (C64P) - IRES Resource specific protocol interface to construct logical handles. This interface is exposed only to IRESMAN
iresman_tiledmemory.h [code] | IRESMAN
iresman_vicp.h [code] | IRESMAN
iresman_vicp2.h [code] | IRESMAN
memutils.h [code] | MEMUTILS Interface Definitions - Memory and Cache related APIs
rman.h [code] | IRES generic Resource Manager RMAN Definitions - Generic Resource Manager that manages resource allocation for algorithms that implement the IRES interface
xdas.h [code] | This header defines all types and constants used in the XDAS interfaces


Framework Components Application Programming Interface (API): dskt2.h File Reference

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • dskt2
Functions | Defines | Typedefs | Variables

dskt2.h File Reference

Detailed Description

Provides services to support XDAIS algorithm instance objects.

#include <xdc/std.h>
#include <xdc/runtime/IHeap.h>
#include <ti/xdais/ialg.h>
#include <ti/xdais/ires.h>
#include <stddef.h>
Include dependency graph for dskt2.h:

Go to the source code of this file.

Functions

Void | DSKT2_activateAlg (Int scratchMutexId, IALG_Handle alg)
Prepares a XDAIS algorithm instance object to start using its scratch memory.
Int | DSKT2_controlAlg (IALG_Handle alg, IALG_Cmd cmd, IALG_Status *status)
This is a convenience API to call a XDAIS algorithm instance's algControl function.
IALG_Handle | DSKT2_createAlg (Int scratchMutexId, IALG_Fxns *fxns, IALG_Handle parent, IALG_Params *params)
Creates and initializes a XDAIS algorithm instance object.
IALG_Handle | DSKT2_createAlg2 (Int scratchMutexId, IALG_Fxns *fxns, IALG_Handle parent, IALG_Params *params, xdc_runtime_IHeap_Handle extHeapId)
Creates and initializes a XDAIS algorithm instance object.
IALG_Handle | DSKT2_createAlgExt (Int scratchId, IALG_Fxns *fxns, IALG_Handle parent, IALG_Params *params)
Creates and initializes a XDAIS algorithm instance object, allocating all algorithm memory in external memory.
Void | DSKT2_deactivateAlg (Int scratchMutexId, IALG_Handle alg)
Prepares a XDAIS algorithm instance object to give up using its scratch memory.
Int | DSKT2_deactivateAll ()
All algorithms that have been deactivated lazily are now really deactivate. Any algorithms that are still currently active will be left as is. The number of algorithms that are still active will be returned from this call.
Bool | DSKT2_freeAlg (Int scratchMutexId, IALG_Handle alg)
Deletes a XDAIS algorithm instance object and frees all persistent memory allocated for the instance object.
Bool | DSKT2_allocScratch (IALG_Handle alg, Int mutexId, IALG_MemRec *memTab, Int numRecs)
Alocates memory from a DSKT2 shared scratch group buffer.
Int | DSKT2_getScratchId (IALG_Handle alg)
Void | DSKT2_freeScratch (Int mutexId, Void *addr, UInt size)
Alocates memory from a DSKT2 shared scratch group buffer.
Bool | DSKT2_allocPersistent (IALG_MemRec *memTab, Int numRecs)
Alocates persistent memory to the requesting algorithm.
Void | DSKT2_freePersistent (IALG_MemRec *memTab, Int numRecs)
Frees persistent memory from the requesting algorithm.

Defines

#define | DSKT2_NUM_SCRATCH_GROUPS 20
#define | DSKT2_MAX_MEM_ALLOCATION_SIZE 0xFFFF
#define | DSKT2_NUM_SHAREDHEAPS 2
#define | DSKT2_MODNAME "ti.sdo.fc.dskt2"
Name to pass to Diags_setMask() to enable logging for DSKT2 functions. For example, Diags_setMask(DSKT2_MODNAME"+EX1234567"); turns on all Log statements in this module. Diags_setMask() must be called after initialization to take effect.

Typedefs

typedef Void(* | DSKT2_CacheWBInvFxn )(Ptr blockPtr, size_t byteCnt, Bool wait)
Function prototype of cache writeback function: Writes back the memory within the range of blockPtr and blockPtr + byteCnt.

Variables

__FAR__ DSKT2_CacheWBInvFxn | DSKT2_cacheWBInvFxn
Cache writeback function pointer used by DSKT2 if not NULL.
xdc_runtime_IHeap_Handle | DSKT2_daram0Heap
xdc_runtime_IHeap_Handle | DSKT2_daram1Heap
xdc_runtime_IHeap_Handle | DSKT2_daram2Heap
xdc_runtime_IHeap_Handle | DSKT2_saram0Heap
xdc_runtime_IHeap_Handle | DSKT2_saram1Heap
xdc_runtime_IHeap_Handle | DSKT2_saram2Heap
xdc_runtime_IHeap_Handle | DSKT2_iprogHeap
xdc_runtime_IHeap_Handle | DSKT2_eprogHeap
xdc_runtime_IHeap_Handle | DSKT2_esdataHeap
xdc_runtime_IHeap_Handle | _DSKT2_heap
__FAR__ UInt | _DSKT2_ALLOW_EXTERNAL_SCRATCH
UInt | _DSKT2_DARAM_SCRATCH_SIZES []
UInt | _DSKT2_SARAM_SCRATCH_SIZES []
__FAR__ Bool | ti_sdo_fc_dskt2_DSKT2_disableLazyDeactivate
Set this to TRUE to disable lazy deactivate feature in DSKT2.


Framework Components Application Programming Interface (API): dskt2_qos.h File Reference

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • dskt2
Functions | Typedefs | Enumerations

dskt2_qos.h File Reference

#include <xdc/std.h>
#include <xdc/runtime/Memory.h>
Include dependency graph for dskt2_qos.h:

Go to the source code of this file.

Functions

Void | DSKT2_QOS_getStat (UInt heapType, UInt mutexId, UInt *sizeSharedScratch, xdc_runtime_IHeap_Handle *inHeap)

Typedefs

typedef enum
DSKT2_QOS_TI_MsgArg1Types 		DSKT2_QOS_TI_MsgArg1Types
typedef enum
DSKT2_QOS_TI_GetSharedScratchMsgArg2 		DSKT2_QOS_TI_GetSharedScratchMsgArg2

Enumerations

enum DSKT2_QOS_TI_MsgArg1Types {
DSKT2_QOS_SHARED_SCRATCH_ALLHEAPS = 0x200,
DSKT2_QOS_SHARED_SCRATCH_DARAM = 0x201,
DSKT2_QOS_SHARED_SCRATCH_SARAM = 0x202
}
enum | DSKT2_QOS_TI_GetSharedScratchMsgArg2 { DSKT2_QOS_ALL_SCRATCHGROUPS = 0x100 }

Typedef Documentation

typedef enum DSKT2_QOS_TI_MsgArg1Types DSKT2_QOS_TI_MsgArg1Types
typedef enum DSKT2_QOS_TI_GetSharedScratchMsgArg2 DSKT2_QOS_TI_GetSharedScratchMsgArg2

Enumeration Type Documentation

enum DSKT2_QOS_TI_MsgArg1Types
Enumerator:
DSKT2_QOS_SHARED_SCRATCH_ALLHEAPS
DSKT2_QOS_SHARED_SCRATCH_DARAM
DSKT2_QOS_SHARED_SCRATCH_SARAM
enum DSKT2_QOS_TI_GetSharedScratchMsgArg2
Enumerator:
DSKT2_QOS_ALL_SCRATCHGROUPS

Function Documentation

Void DSKT2_QOS_getStat | ( | UInt | heapType,
 |  | UInt | mutexId,
 |  | UInt * | sizeSharedScratch,
 |  | xdc_runtime_IHeap_Handle * | inHeap
 | ) |  |


Framework Components Application Programming Interface (API): ecpy.h File Reference

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ecpy
Functions | Defines | Data Structures | Typedefs | Enumerations | Variables

ecpy.h File Reference

Detailed Description

ECPY Definitions (C64P) - Functional DMA Library for use with the EDMA3 DMA peripheral. Provides a comprehensive list of DMA operations an algorithm can perform on logical DMA channels it acquires through the IRES_EDMA3CHAN protocol.

Remarks:
ECPY library contains two sets of functions: direct and non-direct. The direct APIs are functions prefixed with 'ECPY_direct' and are faster due to less state maintanence, fewer checks and/or lack of PaRAM shadowing of the 1st transfer. As a result they are slightly harder and require the caller to ensure integrity of state, for example, to make sure each ECPY_directStart call is matched with exactly one ECPY_directWait call. Another example is the need to remember to re-configure first transfer following a linked transfer or single 3D transfer.

The non-direct APIs are slightly easier to use and maintain state and persistence of 1st transfer's settings across transfers.

It is important to *not* mix and match direct and non-direct functions for any given channel, as this may result in unexpected behavior.

#include <ti/sdo/fc/ires/edma3chan/ires_edma3Chan.h>
Include dependency graph for ecpy.h:

Go to the source code of this file.

Functions

Void | ECPY_configure (ECPY_Handle handle, ECPY_Params *restrict params, short transferNo)
Configures the DMA transfer settings for the transfer=transferNo of the logical channel. Except for transferNo==1, the physical EDMA3 PaRAM associated with the transfer is modified. For transferNo==1 a "shadow" of the PaRAM registers gets configured, so that the configuration of 1st transfer remains persistent following ECPY_startEdma() calls.
Void | ECPY_directConfigure (ECPY_Handle handle, ECPY_Params *restrict params, short transferNo)
Configure the DMA transfer settings of handle's 'transferNo' transfer. This function always directly configures the physical EDMA3 PaRAM associated with the transfer. Since no shadow is used for the 1st transfer, the configuration settings of the 1st transfer gets lost following linked transfers or when the 1st transfer is a 3D transfer (numFrames > 1).
Void | ECPY_configure16 (ECPY_Handle handle, ECPY_ParamField16b fieldId, unsigned short value, short transferNo)
Modify the 16-bit DMA transfer parameter, indicated by the parameter field id, fieldId, of the current channel settings.
Void | ECPY_directConfigure16 (ECPY_Handle handle, ECPY_ParamField16b fieldId, unsigned short value, short transferNo)
Modify the 16-bit DMA transfer parameter, indicated by the parameter field id, fieldId, of the current channel settings. This function always directly configures the physical EDMA3 PaRAM's 16-bit half of the 32-bit registered associated with the transfer & field . No shadow is used.
Void | ECPY_configure32 (ECPY_Handle handle, ECPY_ParamField32b fieldId, unsigned int value, short transferNo)
Modify the 32-bit DMA transfer parameter, indicated by the parameter field id, fieldId, of the current channel settings.
Void | ECPY_directConfigure32 (ECPY_Handle handle, ECPY_ParamField32b fieldId, unsigned int value, short transferNo)
Modify the 32-bit DMA transfer parameter, indicated by the parameter field id, fieldId, of the current channel settings.
Void | ECPY_setFinal (ECPY_Handle handle, short transferNo)
Indicate that a given transfer will be the last in a sequence of linked transfers.
Void | ECPY_directSetFinal (ECPY_Handle handle, short transferNo)
Indicate that a given transfer will be the last in a sequence of linked transfers.
Void | ECPY_setDestinationMemoryMode (ECPY_Handle handle, short mode)
Indicate the memory space that DMA transfers submitted to the channel associated with the handle will modify. This information can be used for channel to TC Queue mapping for avoiding known Silicon GEM lockup issues or for performance improvements.
Void | ECPY_start (ECPY_Handle handle)
Submit a single or linked transfer using the most recently configured transfer parameter settings.
Void | ECPY_directStartEdma (ECPY_Handle handle)
Submit a single or linked transfer using the most recently 'direct' configured transfer parameter settings.
Void | ECPY_directStartQdma (ECPY_Handle handle)
ECPY_directStartQdma has not been implemented.
Void | ECPY_wait (ECPY_Handle handle)
Wait for all data transfers on a logical channel to complete.
Void | ECPY_directWait (ECPY_Handle handle)
Wait for all EDMA data transfers submitted to the logical channel via ECPY_directStartEdma to complete.
Void | ECPY_activate (ECPY_Handle handle)
Activate the given channel.
ECPY_Handle | ECPY_createHandle (IRES_EDMA3CHAN2_Handle handle, IALG_Handle alg)
Create an ECPY Handle using the supplied IRES_EDMA3CHAN handle.
Void | ECPY_deleteHandle (ECPY_Handle handle)
Delete ECPY_Handle.
Void | ECPY_deactivate (ECPY_Handle handle)
Deactivates the given channel.
Void | ECPY_setEarlyCompletionMode (ECPY_Handle handle, short enabled)
Setting the TCCMODE (Early or Normal) affects only the 'intermediate transfers' of the linked transfers submitted using this channel. All subsequent direct and non-direct ECPY_configure* calls using this ecpyHandle will program the OPT's TCCMODE to select Early or Normal completion mode based on the 'enabled' argument.
Void | ECPY_init (Void)
Initialize the ECPY module. Called by framework.
Void | ECPY_exit (Void)
Finalization of the ECPY module.

Defines

#define | ti_sdo_fc_ires_NOPROTOCOLREV
#define | ECPY_GTNAME "ti.sdo.fc.ecpy"
#define | ECPY_MODNAME "ti.sdo.fc.ecpy"
Name to pass to Diags_setMask() to enable logging for ECPY functions. For example, Diags_setMask(ECPY_MODNAME"+EX1234567"); turns on all Log statements in this module. Diags_setMask() must be called after initialization to take effect.

Data Structures

struct | ECPY_Params
DMA transfer specific parameters. Defines the configuration of a logical channel. More...
struct | ECPY_CfgParams
The module configuration structure for ECPY. It is set at design time by the system integrator to register customize memory allocation/free implementations. More...

Typedefs

typedef enum ECPY_ParamField16b | ECPY_ParamField16b
ECPY 16-bit param field structure. These values are passed to ECPY_configure16() to indicate the field of the ECPY_Params structure to be changed.
typedef enum ECPY_ParamField32b | ECPY_ParamField32b
ECPY 32-bit param field structure. These values are passed to ECPY_configure32() to indicate the field of the ECPY_Params structure to be changed.
typedef enum ECPY_TransferType | ECPY_TransferType
ECPY DMA Transfer Types:
typedef struct ECPY_Obj * | ECPY_Handle
Handle to "logical" ECPY Channel.
typedef struct ECPY_Params | ECPY_Params
DMA transfer specific parameters. Defines the configuration of a logical channel.
typedef Bool( | ECPY_PersistentAllocFxn )(IALG_MemRec *memTab, Int numRecs)
Memory allocation function signature for module configuration.
typedef Void( | ECPY_PersistentFreeFxn )(IALG_MemRec *memTab, Int numRecs)
Memory deallocation function signature for module configuration.
typedef Bool( | ECPY_ScratchAllocFxn )(IALG_Handle alg, Int scratchId, IALG_MemRec *memTab, Int numRecs)
Scratch Memory allocation function for all shared scratch ECPY handle state.
typedef Void( | ECPY_ScratchFreeFxn )(Int mutexId, Void *addr, UInt size)
Scratch Memory free function for all scratch allocated memory in ECPY Handle.
typedef Int( | ECPY_getScratchIdFxn )(IALG_Handle alg)
Function, when supplied, returns the scratchId associated with the algorithm instance whose handle is passed.
typedef struct ECPY_CfgParams | ECPY_CfgParams
The module configuration structure for ECPY. It is set at design time by the system integrator to register customize memory allocation/free implementations.

Enumerations

enum ECPY_ParamField16b {
ECPY_PARAMFIELD_ELEMENTSIZE = 8,
ECPY_PARAMFIELD_NUMELEMENTS = 10,
ECPY_PARAMFIELD_ELEMENTINDEX_SRC = 16,
ECPY_PARAMFIELD_ELEMENTINDEX_DST = 18,
ECPY_PARAMFIELD_FRAMEINDEX_SRC = 24,
ECPY_PARAMFIELD_FRAMEINDEX_DST = 26,
ECPY_PARAMFIELD_NUMFRAMES = 28
}

ECPY 16-bit param field structure. These values are passed to ECPY_configure16() to indicate the field of the ECPY_Params structure to be changed.

More...
enum ECPY_ParamField32b {
ECPY_PARAMFIELD_SRCADDR = 4,
ECPY_PARAMFIELD_DSTADDR = 12,
ECPY_PARAMFIELD_ELEMENTINDEXES = 16,
ECPY_PARAMFIELD_FRAMEINDEXES = 24
}

ECPY 32-bit param field structure. These values are passed to ECPY_configure32() to indicate the field of the ECPY_Params structure to be changed.

More...
enum ECPY_TransferType {
ECPY_1D1D,
ECPY_1D2D,
ECPY_2D1D,
ECPY_2D2D
}

ECPY DMA Transfer Types:

More...

Variables

__FAR__ ECPY_CfgParams | ECPY_CFG_PARAMS
Initialization parameters for the ECPY module.


Framework Components Application Programming Interface (API): ialg.h File Reference

  • File List
  • Globals
  • fctools
  • packages
  • ti
  • xdais
Defines | Data Structures | Typedefs | Enumerations

ialg.h File Reference

Detailed Description

This header defines all types, constants, and functions defined by XDAIS for algorithms.

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define | IALG_DEFMEMRECS 4
#define | IALG_OBJMEMREC 0
#define | IALG_SYSCMD 256
#define | IALG_EOK 0
#define | IALG_EFAIL (-1)
#define | IALG_CUSTOMFAILBASE (-2048)
#define | IALG_CUSTOMFAILEND (-256)
#define | IALG_MPROG 0x0008
#define | IALG_MXTRN 0x0010
#define | IALG_isProg(s)
#define | IALG_isOffChip(s)

Data Structures

struct | IALG_MemRec
Memory records. More...
struct | IALG_Obj
Algorithm instance object definition. More...
struct | IALG_Params
Algorithm instance creation parameters. More...
struct | IALG_Status
Pointer to algorithm specific status structure. More...
struct | IALG_Fxns
Defines the fields and methods that must be supplied by all XDAIS algorithms. More...

Typedefs

typedef enum IALG_MemAttrs | IALG_MemAttrs
Memory attributes.
typedef enum IALG_MemSpace | IALG_MemSpace
Defined memory spaces.
typedef struct IALG_MemRec | IALG_MemRec
Memory records.
typedef struct IALG_Obj | IALG_Obj
Algorithm instance object definition.
typedef struct IALG_Obj * | IALG_Handle
Handle to an algorithm instance object.
typedef struct IALG_Params | IALG_Params
Algorithm instance creation parameters.
typedef struct IALG_Status | IALG_Status
Pointer to algorithm specific status structure.
typedef unsigned int | IALG_Cmd
Algorithm specific command.
typedef struct IALG_Fxns | IALG_Fxns
Defines the fields and methods that must be supplied by all XDAIS algorithms.

Enumerations

enum IALG_MemAttrs {
IALG_SCRATCH,
IALG_PERSIST,
IALG_WRITEONCE
}

Memory attributes.

More...
enum IALG_MemSpace {
IALG_EPROG,
IALG_IPROG,
IALG_ESDATA,
IALG_EXTERNAL,
IALG_DARAM0 = 0,
IALG_DARAM1 = 1,
IALG_SARAM = 2,
IALG_SARAM0 = 2,
IALG_SARAM1 = 3,
IALG_DARAM2 = 4,
IALG_SARAM2 = 5
}

Defined memory spaces.

More...


Framework Components Application Programming Interface (API): ires.h File Reference

  • File List
  • Globals
  • fctools
  • packages
  • ti
  • xdais
Data Structures | Typedefs | Enumerations

ires.h File Reference

Detailed Description

IRES Interface Definitions - Allows algorithms to request and receive handles representing private logical resources.

#include "ires_common.h"
Include dependency graph for ires.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct | IRES_YieldContext
Specifies the algorithm specific handles and context save & restore function pointers and arguments that the framework will call during a context switch. More...
struct | IRES_Fxns
These fxns are used to query/grant the resources requested by the algorithm at initialization time, and to change these resources at runtime. All these fxns are implemented by the algorithm, and called by the client of the algorithm. More...

Typedefs

typedef enum IRES_YieldResourceType | IRES_YieldResourceType
typedef Void(* | IRES_ContextSaveFxn )(IALG_Handle algHandle, Void *contextArgs)
typedef Void(* | IRES_ContextRestoreFxn )(IALG_Handle algHandle, Void *contextArgs)
typedef struct IRES_YieldContext | IRES_YieldContext
Specifies the algorithm specific handles and context save & restore function pointers and arguments that the framework will call during a context switch.
typedef IRES_YieldContext * | IRES_YieldContextHandle
typedef Void * | IRES_YieldArgs
typedef Void(* | IRES_YieldFxn )(IRES_YieldResourceType resourceType, IRES_YieldContextHandle algYieldContext, IRES_YieldArgs yieldArgs)
The 'yield function' pointer and 'yield arguments' are supplied to an algorithm during its IRES interface 'initialization'. The algorithm optionally calls the yield function during its 'process' stages for co-operative multi-tasking and pre-emption by a higher priority algorithm.
typedef struct IRES_Fxns | IRES_Fxns
These fxns are used to query/grant the resources requested by the algorithm at initialization time, and to change these resources at runtime. All these fxns are implemented by the algorithm, and called by the client of the algorithm.

Enumerations

enum IRES_YieldResourceType {
IRES_ALL = 0,
IRES_SCRATCHMEMORY,
IRES_SCRATCHDMA,
IRES_RESOURCEHANDLE
}


Framework Components Application Programming Interface (API): ires_common.h File Reference

  • File List
  • Globals
  • fctools
  • packages
  • ti
  • xdais
Data Structures

ires_common.h File Reference

Detailed Description

IRES Resource Protocol Definitions - IRES Resource.

#include "ialg.h"
Include dependency graph for ires_common.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct | IRES_ProtocolRevision
Protocol revision type. Used to ensure the given 'protocol' revision can be validated. More...
struct | IRES_ProtocolArgs
Abstract Protocol Arguments structure definition. Actual arguments passed by the algorithm to request a resource from a specific IRES Protocol will extend and supply the concrete definitions. More...
struct | IRES_ResourceDescriptor
Descriptor to Logical Resource. More...
struct | IRES_Properties
Abstract Resource Properties structure/pointer definition. Actual resource protocol will supply the concrete property definitions. The list of attributes for the actual resource will expose the relevant features that needs to be known to a client to use the resource, such as: resource register base addresses and offsets, critical register and memory region addresses, ... More...
struct | IRES_Obj
IRES_Obj holds the private state associated with each logical resource. More...

enum IRES_Status {
IRES_OK = 0,
IRES_EALG = 1,
IRES_EEXISTS = 2,
IRES_EFAIL = 3,
IRES_EINIT = 4,
IRES_ENOINIT = 5,
IRES_ENOMEM = 6,
IRES_ENORESOURCE = 7,
IRES_ENOTFOUND = 8
}

IRES_Status defines the standard error and success codes returned by IRES APIs.

More...
enum IRES_RequestMode {
IRES_SCRATCH,
IRES_PERSISTENT,
IRES_LATEACQUIRE
}

Mode in which resources can be requested.

More...
typedef enum IRES_Status | IRES_Status
IRES_Status defines the standard error and success codes returned by IRES APIs.
typedef struct
IRES_ProtocolRevision 		IRES_ProtocolRevision
Protocol revision type. Used to ensure the given 'protocol' revision can be validated.
typedef enum IRES_RequestMode | IRES_RequestMode
Mode in which resources can be requested.
typedef struct IRES_ProtocolArgs | IRES_ProtocolArgs
Abstract Protocol Arguments structure definition. Actual arguments passed by the algorithm to request a resource from a specific IRES Protocol will extend and supply the concrete definitions.
typedef struct
IRES_ResourceDescriptor 		IRES_ResourceDescriptor
Descriptor to Logical Resource.
typedef struct IRES_Properties | IRES_Properties
Abstract Resource Properties structure/pointer definition. Actual resource protocol will supply the concrete property definitions. The list of attributes for the actual resource will expose the relevant features that needs to be known to a client to use the resource, such as: resource register base addresses and offsets, critical register and memory region addresses, ...
typedef struct IRES_Obj | IRES_Obj
IRES_Obj holds the private state associated with each logical resource.
typedef struct IRES_Obj * | IRES_Handle
Handle to "logical" resource.


Framework Components Application Programming Interface (API): ires_edma3Chan.h File Reference

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • edma3chan
Defines | Data Structures | Typedefs | Enumerations

ires_edma3Chan.h File Reference

Detailed Description

IRES EDMA3CHAN PROTOCOL Interface Definitions - Allows algorithms to request and receive handles representing EDMA3 resources associated with a single EDMA3 channel.

#include <ti/xdais/xdas.h>
#include <ti/xdais/ires_common.h>
Include dependency graph for ires_edma3Chan.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define | IRES_EDMA3CHAN_PROTOCOLNAME "ti.sdo.fc.ires.edma3chan"
Name used to describe this protocol.
#define | EDMA3CHAN_MODNAME "ti.sdo.fc.ires.edma3chan"
Name to pass to Diags_setMask() to enable logging for EDMA3CHAN functions.
#define | IRES_EDMA3CHAN_PROTOCOLREVISION_1_0_0 {1, 0, 0}
Protocol Revision for the 1.0.0 version of resource.
#define | IRES_EDMA3CHAN_SETPROTOCOLREVISION_1_0_0(rev)
#define | IRES_EDMA3CHAN_PROTOCOLREVISION_2_0_0 {2, 0, 0}
Protocol Revision for the 2.0.0 version of resource.
#define | IRES_EDMA3CHAN_SETPROTOCOLREVISION_2_0_0(rev)
#define | IRES_EDMA3CHAN_MAXPARAMS 512
Maximum number of params and tccs that can be requested in one handle.
#define | IRES_EDMA3CHAN_MAXTCCS 32
#define | IRES_EDMA3CHAN_NUMDESTTYPES 8
#define | IRES_EDMA3CHAN_PARAM_ANY 512
Macros to represent different PaRam, Channel and tcc types.
#define | IRES_EDMA3CHAN_PARAM_NONE 513
#define | IRES_EDMA3CHAN_TCC_ANY 514
#define | IRES_EDMA3CHAN_TCC_NONE 515
#define | IRES_EDMA3CHAN_EDMACHAN_ANY 516
#define | IRES_EDMA3CHAN_QDMACHAN_ANY 516
#define | IRES_EDMA3CHAN_CHAN_NONE 518

Data Structures

struct | IRES_EDMA3CHAN_PaRamStruct
Representation of actual PaRam hardware registers. More...
struct | IRES_EDMA3CHAN_ProtocolArgs
EDMA3 Linked Transfer Protocol Arguments definition. More...
struct | IRES_EDMA3CHAN_Obj
Object returned to the algorithm requesting EDMA3 resources. More...
struct | IRES_EDMA3CHAN_EDMA3ShadowRegister
Defines the shadow register part of the EDMA3 CC Register Layer. More...
struct | IRES_EDMA3CHAN_EDMA3DraeRegister
Defines the Region Enable register part of the EDMA3 CC Register Layer. More...
struct | IRES_EDMA3CHAN_EDMA3RegisterLayer
Defines the EDMA3 CC Register Layout. More...
struct | IRES_EDMA3CHAN_Properties
Static Resource Properties. More...
struct | IRES_EDMA3CHAN2_Obj
Object returned to the algorithm requesting EDMA3 resources. More...

Typedefs

typedef struct IRES_EDMA3CHAN_Obj * | IRES_EDMA3CHAN_Handle
Handle to "logical" EDMA3CHAN resource, version {1,0,0}.
typedef struct
IRES_EDMA3CHAN2_Obj * 		IRES_EDMA3CHAN2_Handle
Handle to "logical" EDMA3CHAN resource, version {2,0,0}.
typedef struct
IRES_EDMA3CHAN_PaRamStruct 		IRES_EDMA3CHAN_PaRamStruct
Representation of actual PaRam hardware registers.
typedef struct
IRES_EDMA3CHAN_ProtocolArgs 		IRES_EDMA3CHAN_ProtocolArgs
EDMA3 Linked Transfer Protocol Arguments definition.
typedef struct IRES_EDMA3CHAN_Obj | IRES_EDMA3CHAN_Obj
Object returned to the algorithm requesting EDMA3 resources.
typedef struct
IRES_EDMA3CHAN_EDMA3ShadowRegister 		IRES_EDMA3CHAN_EDMA3ShadowRegister
Defines the shadow register part of the EDMA3 CC Register Layer.
typedef struct
IRES_EDMA3CHAN_EDMA3DraeRegister 		IRES_EDMA3CHAN_EDMA3DraeRegister
Defines the Region Enable register part of the EDMA3 CC Register Layer.
typedef struct
IRES_EDMA3CHAN_EDMA3RegisterLayer 		IRES_EDMA3CHAN_EDMA3RegisterLayer
Defines the EDMA3 CC Register Layout.
typedef struct
IRES_EDMA3CHAN_Properties 		IRES_EDMA3CHAN_Properties
Static Resource Properties.
typedef enum
IRES_EDMA3CHAN_DmaDestType 		IRES_EDMA3CHAN_DmaDestType
Describes the Destination type of DMA writes This information is used to distribute different types of DMA writes to different EDMA3 Queues.
typedef struct IRES_EDMA3CHAN2_Obj | IRES_EDMA3CHAN2_Obj
Object returned to the algorithm requesting EDMA3 resources.

Enumerations

enum IRES_EDMA3CHAN_DmaDestType {
INTMEMORY0 = 0,
INTMEMORY1 = 1,
INTMEMORY2 = 2,
EXTMEMORY0 = 3,
EXTMEMORY1 = 4,
EXTMEMORY2 = 5,
OTHER0 = 6,
OTHER1 = 7
}

Describes the Destination type of DMA writes This information is used to distribute different types of DMA writes to different EDMA3 Queues.

More...


Framework Components Application Programming Interface (API): ires_hdvicp.h File Reference

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • hdvicp
Defines | Data Structures | Typedefs | Enumerations

ires_hdvicp.h File Reference

Detailed Description

IRES PROTOCOL HDVICP Interface Definitions - Allows algorithms to request and receive handles representing the HDVICP resource.

#include <ti/xdais/ires_common.h>
Include dependency graph for ires_hdvicp.h:

Go to the source code of this file.

Defines

#define | IRES_HDVICP_PROTOCOLNAME "ti.sdo.fc.ires.hdvicp"
Name used to describe this protocol.
#define | HDVICP_MODNAME "ti.sdo.fc.ires.hdvicp"
Name to pass to Diags_setMask() to enable logging for HDVICP functions. For example, Diags_setMask(HDVICP_MODNAME"+EX1234567"); turns on all Log statements in this module. Diags_setMask() must be called after initialization to take effect.

Data Structures

struct | IRES_HDVICP_ProtocolArgs
HDVICP Protocol Arguments definition. More...
struct | IRES_HDVICP_Obj
IRES_HDVICP_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource. More...
struct | IRES_HDVICP_RegisterLayer
HDVICP Register Layout. More...
struct | IRES_HDVICP_Properties
Static Resource Properties. More...

Typedefs

typedef struct IRES_HDVICP_Obj * | IRES_HDVICP_Handle
Handle to "logical" resource.
typedef enum
IRES_HDVICP_RequestType 		IRES_HDVICP_RequestType
Type of resource that can be requested.
typedef struct
IRES_HDVICP_ProtocolArgs 		IRES_HDVICP_ProtocolArgs
HDVICP Protocol Arguments definition.
typedef struct IRES_HDVICP_Obj | IRES_HDVICP_Obj
IRES_HDVICP_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource.
typedef struct
IRES_HDVICP_RegisterLayer 		IRES_HDVICP_RegisterLayer
HDVICP Register Layout.
typedef struct
IRES_HDVICP_Properties 		IRES_HDVICP_Properties
Static Resource Properties.

Enumerations

enum IRES_HDVICP_RequestType {
IRES_HDVICP_ID_0 = 0,
IRES_HDVICP_ID_1 = 1,
IRES_HDVICP_ID_ANY = 2
}

Type of resource that can be requested.

More...


Framework Components Application Programming Interface (API): ires_hdvicp2.h File Reference

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • hdvicp
Defines | Data Structures | Typedefs | Enumerations | Variables

ires_hdvicp2.h File Reference

Detailed Description

IRES PROTOCOL HDVICP2 Interface Definitions - Allows algorithms to request and receive handles representing the HDVICP2 resource.

#include <ti/xdais/xdas.h>
#include <ti/xdais/ires_common.h>
#include <ti/xdais/ires.h>
Include dependency graph for ires_hdvicp2.h:

Go to the source code of this file.

Defines

#define | IRES_HDVICP2_PROTOCOLNAME "ti.sdo.fc.ires.hdvicp.hdvicp2"
Name used to describe this protocol.
#define | HDVICP2_MODNAME "ti.sdo.fc.ires.hdvicp2"
HDVICP2 module name.
#define | IRES_HDVICP2_ID_ANY -2
Used to specify the resource required in the protocol args, resource manager will return an HDVICP2 resource that is available to the scratch group.
#define | IRES_HDVICP2_ID_LATE_ACQUIRE -1
Used to specify the resource required for protocol args, late acquire implies that no resource is to be returned right now, resource will be acquired later in the process call, using the acquire fxn returned via the IRES_HDVICP2_Handle.
#define | IRES_HDVICP2_INVALID_ADDR 0xFFFFFFFF
Invalid address.
#define | IRES_HDVICP2_TIMEOUTFOREVER ((UInt)(-1))
Wait forever (never timeout)
#define | IRES_HDVICP2_UNKNOWNLATEACQUIREARG (-1)
Unknown late acquire argument.

Data Structures

struct | IRES_HDVICP2_ProtocolArgs
HDVICP2 Protocol Arguments definition. More...
struct | IRES_HDVICP2_Obj
IRES_HDVICP2_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource. More...
struct | IRES_HDVICP2_RegisterLayer
HDVICP2 Register Layout. More...
struct | IRES_HDVICP2_Properties
Static Resource Properties. More...

Typedefs

typedef struct IRES_HDVICP2_Obj * | IRES_HDVICP2_Handle
Handle to "logical" resource.
typedef IRES_YieldArgs(* | ti_sdo_fc_ires_hdvicp_HDVICP2_GetYieldArgsFxn )(Int scratchId)
typedef Void(* | ti_sdo_fc_ires_hdvicp_HDVICP2_YieldFxn )(IRES_YieldResourceType resource, IRES_YieldContextHandle ctxt, IRES_YieldArgs args)
typedef struct
IRES_HDVICP2_ProtocolArgs 		IRES_HDVICP2_ProtocolArgs
HDVICP2 Protocol Arguments definition.
typedef void(* | IRES_HDVICP2_CallbackFxn )(IALG_Handle handle, Void *args)
Callback function signature, used by the IRES_HDVICP2_ Handle's configure function.
typedef enum IRES_HDVICP2_Status | IRES_HDVICP2_Status
Describes the status/history of the HDVICP2 unit that is returned by the acquire call. This information can be used by the codec to avoid reloading the data memory or the program memory in the HDVICP2.
typedef struct IRES_HDVICP2_Obj | IRES_HDVICP2_Obj
IRES_HDVICP2_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource.
typedef struct
IRES_HDVICP2_RegisterLayer 		IRES_HDVICP2_RegisterLayer
HDVICP2 Register Layout.
typedef struct
IRES_HDVICP2_Properties 		IRES_HDVICP2_Properties
Static Resource Properties.
typedef IRES_Status(* | ti_sdo_fc_ires_hdvicp_HDVICP2_GetHdvicp2Fxn )(XDAS_Int32 *Id, IALG_Handle alg, IRES_HDVICP2_Handle handle)
typedef IRES_Status(* | ti_sdo_fc_ires_hdvicp_HDVICP2_FreeHdvicp2Fxn )(XDAS_Int32 Id, IALG_Handle alg, IRES_HDVICP2_Handle handle)

Enumerations

enum IRES_HDVICP2_Status {
SAMECODEC = 0,
SAMECODECTYPE = 1,
DIFFERENTCODEC = 2
}

Describes the status/history of the HDVICP2 unit that is returned by the acquire call. This information can be used by the codec to avoid reloading the data memory or the program memory in the HDVICP2.

More...

Variables

unsigned int | ti_sdo_fc_ires_hdvicp_HDVICP2_timeoutVal
Timeout value to be used by implementation of IRES_HDVICP2_Handle:wait function.


Framework Components Application Programming Interface (API): ires_tiledmemory.h File Reference

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • tiledmemory
Defines | Data Structures | Typedefs | Enumerations

ires_tiledmemory.h File Reference

Detailed Description

IRES PROTOCOL TILEDMEMORY Interface Definitions (Beta) - Allows algorithms to request and receive handles representing the TILEDMEMORY resource.

#include <ti/xdais/xdas.h>
#include <ti/xdais/ires_common.h>
#include <ti/xdais/ires.h>
Include dependency graph for ires_tiledmemory.h:

Go to the source code of this file.

Defines

#define | IRES_TILEDMEMORY_PROTOCOLNAME "ti.sdo.fc.ires.tiledmemory"
Name used to describe this protocol.
#define | TILEDMEMORY_MODNAME "ti.sdo.fc.ires.tiledmemory"
Name to pass to Diags_setMask() to enable logging for TILEDMEMORY functions. For example, Diags_setMask(TILEDMEMORY_MODNAME"+EX1234567"); turns on all Log statements in this module. Diags_setMask() must be called after initialization to take effect.

Data Structures

struct | IRES_TILEDMEMORY_ProtocolArgs
TILEDMEMORY Protocol Arguments definition. More...
struct | IRES_TILEDMEMORY_Obj
IRES_TILEDMEMORY_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource. More...
struct | IRES_TILEDMEMORY_RegisterLayer
TILEDMEMORY Register Layout. More...
struct | IRES_TILEDMEMORY_Properties
Static Resource Properties. More...

Typedefs

typedef struct
IRES_TILEDMEMORY_Obj * 		IRES_TILEDMEMORY_Handle
Handle to "logical" resource.
typedef enum
IRES_TILEDMEMORY_AccessDimension 		IRES_TILEDMEMORY_AccessDimension
Indicates whether requested/granted memory is of type 1D or 2D.
typedef enum
IRES_TILEDMEMORY_AccessUnit 		IRES_TILEDMEMORY_AccessUnit
Indicates the size of the Tiler elements requested by the codec.
typedef struct
IRES_TILEDMEMORY_ProtocolArgs 		IRES_TILEDMEMORY_ProtocolArgs
TILEDMEMORY Protocol Arguments definition.
typedef struct IRES_TILEDMEMORY_Obj | IRES_TILEDMEMORY_Obj
IRES_TILEDMEMORY_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource.
typedef struct
IRES_TILEDMEMORY_RegisterLayer 		IRES_TILEDMEMORY_RegisterLayer
TILEDMEMORY Register Layout.
typedef struct
IRES_TILEDMEMORY_Properties 		IRES_TILEDMEMORY_Properties
Static Resource Properties.

Enumerations

enum IRES_TILEDMEMORY_AccessDimension {
IRES_TILEDMEMORY_1D = 0,
IRES_TILEDMEMORY_2D = 1
}

Indicates whether requested/granted memory is of type 1D or 2D.

More...
enum IRES_TILEDMEMORY_AccessUnit {
IRES_TILEDMEMORY_RAW = 0,
IRES_TILEDMEMORY_PAGE = 1,
IRES_TILEDMEMORY_8BIT = 2,
IRES_TILEDMEMORY_16BIT = 3,
IRES_TILEDMEMORY_32BIT = 4
}

Indicates the size of the Tiler elements requested by the codec.

More...


Framework Components Application Programming Interface (API): ires_vicp.h File Reference

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • vicp
Defines | Data Structures | Typedefs

ires_vicp.h File Reference

Detailed Description

IRES PROTOCOL VICP Interface Definitions - Allows algorithms to request and receive handles representing the VICP resource.

#include <ti/xdais/ires_common.h>
Include dependency graph for ires_vicp.h:

Go to the source code of this file.

Defines

#define | IRES_VICP_MAXRESOURCES 1
#define | IRES_VICP_PROTOCOLNAME "ti.sdo.fc.ires.vicp"
Name used to describe this protocol.
#define | VICP_MODNAME "ti.sdo.fc.ires.vicp"
Name to pass to Diags_setMask() to enable logging for VICP functions. For example, Diags_setMask(VICP_MODNAME"+EX1234567"); turns on all Log statements in this module. Diags_setMask() must be called after initialization to take effect.

Data Structures

struct | IRES_VICP_ProtocolArgs
VICP Protocol Arguments definition. More...
struct | IRES_VICP_Obj
IRES_VICP_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource. More...
struct | IRES_VICP_Registers
struct | IRES_VICP_Properties

Typedefs

typedef struct IRES_VICP_Obj * | IRES_VICP_Handle
Handle to "logical" resource.
typedef struct
IRES_VICP_ProtocolArgs 		IRES_VICP_ProtocolArgs
VICP Protocol Arguments definition.
typedef struct IRES_VICP_Obj | IRES_VICP_Obj
IRES_VICP_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource.
typedef struct IRES_VICP_Registers | IRES_VICP_Registers
typedef struct IRES_VICP_Properties | IRES_VICP_Properties


Framework Components Application Programming Interface (API): ires_vicp2.h File Reference

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • vicp
Defines | Data Structures | Typedefs

ires_vicp2.h File Reference

Detailed Description

IRES PROTOCOL VICP2 Interface Definitions - Allows algorithms to request and receive handles representing the VICP resource.

#include <ti/xdais/ires.h>
Include dependency graph for ires_vicp2.h:

Go to the source code of this file.

Defines

#define | IRES_VICP2_MAXRESOURCES 1
Maximum number of VICP resources(components) to be managed.
#define | IRES_VICP2_PROTOCOLNAME "ti.sdo.fc.ires.vicp2"
Name used to describe this protocol.
#define | VICP2_MODNAME "ti.sdo.fc.ires.vicp2"
Name to pass to Diags_setMask() to enable logging for VICP2 functions. For example, Diags_setMask(VICP2_MODNAME"+EX1234567"); turns on all Log statements in this module. Diags_setMask() must be called after initialization to take effect.
#define | IRES_VICP2_NUMBUFFERS 16
Maximum number of VICP buffers to be managed.
#define | IRES_VICP2_BADRESOURCE 0xFFFFFFFF
Value indicating a bad VICP resource was returned.
#define | IMCOP_BUFFER_IMGBUF_A 0x0
VICP Buffer resources(components) to be managed.
#define | IMCOP_BUFFER_IMGBUF_B 0x1
#define | IMCOP_BUFFER_IMGBUF_C 0x2
#define | IMCOP_BUFFER_IMGBUF_D 0x3
#define | IMCOP_BUFFER_IMGBUF_E 0x4
#define | IMCOP_BUFFER_IMX0COEFFBUF 0x5
#define | IMCOP_BUFFER_IMX0CMDBUF 0x6
#define | IMCOP_BUFFER_IMX1COEFFBUF 0x7
#define | IMCOP_BUFFER_IMX1CMDBUF 0x8
#define | IMCOP_BUFFER_BABYIMXCMDBUFFER 0x9
#define | IMCOP_BUFFER_BABYIMXORIGBUFFER 0xA
#define | IMCOP_BUFFER_BABYIMXREFBUFFER 0xB
#define | IMCOP_BUFFER_SEQUENCERPMEM 0xC
#define | IMCOP_BUFFER_QIQMEM 0xD
#define | IMCOP_BUFFER_HUFFMEM 0xE
#define | IMCOP_BUFFER_SEQBUF4 0xF

Data Structures

struct | IRES_VICP2_ProtocolArgs
VICP Protocol Arguments definition. More...
struct | IRES_VICP2_Obj
IRES_VICP2_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource. More...
struct | IRES_VICP2_Buffers
struct | IRES_VICP2_Properties

Typedefs

typedef struct IRES_VICP2_Obj * | IRES_VICP2_Handle
Handle to "logical" resource.
typedef struct
IRES_VICP2_ProtocolArgs 		IRES_VICP2_ProtocolArgs
VICP Protocol Arguments definition.
typedef struct IRES_VICP2_Obj | IRES_VICP2_Obj
IRES_VICP2_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource.
typedef struct IRES_VICP2_Buffers | IRES_VICP2_Buffers
typedef struct
IRES_VICP2_Properties 		IRES_VICP2_Properties


Framework Components Application Programming Interface (API): iresman.h File Reference

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
Data Structures | Typedefs

iresman.h File Reference

Detailed Description

Device specific Resource Manager Interface Definitions IRESMAN - Interface that needs to be implemented and registered with the generic RMAN Resource Registry that are called to manage corresponding IRES resources.

#include <ti/xdais/ires_common.h>
#include <ti/xdais/ires.h>
Include dependency graph for iresman.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct | IRESMAN_Params
Configuration Parameters required by the Resource Manager implementation. These can be extended by individual resource managers if required. More...
struct | IRESMAN_Fxns

Typedefs

typedef Bool( | IRESMAN_PersistentAllocFxn )(IALG_MemRec *memTab, Int numRecs)
Memory allocation function for all of ResMan and other IRES protocol's memory requirements.
typedef Void( | IRESMAN_PersistentFreeFxn )(IALG_MemRec *memTab, Int numRecs)
Memory free functions for all of ResMan and other IRES protocol's memory requirements.
typedef struct IRESMAN_Params | IRESMAN_Params
Configuration Parameters required by the Resource Manager implementation. These can be extended by individual resource managers if required.
typedef struct IRESMAN_Fxns | IRESMAN_Fxns


Framework Components Application Programming Interface (API): iresman_edma3Chan.h File Reference

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • edma3chan
Functions | Data Structures | Typedefs | Variables

iresman_edma3Chan.h File Reference

Detailed Description

IRESMAN EDMA3 specific Resource Manager Definitions - EDMA3 resource manager implementation.

#include <ti/sdo/fc/ires/iresman.h>
#include <ti/sdo/fc/ires/iresman_protocol.h>
#include "iresman_protocol_edma3Chan.h"
Include dependency graph for iresman_edma3Chan.h:

Go to the source code of this file.

Functions

String | IRESMAN_EDMA3CHAN_getProtocolName ()
Function to return the name of the protocol.
IRES_ProtocolRevision * IRESMAN_EDMA3CHAN_getProtocolRevision ()
Function to return the revision of the protocol.
IRES_Status | IRESMAN_EDMA3CHAN_init (IRESMAN_Params *initArgs)
Function to initialize the device specific resource manager implementation.
IRES_Status IRESMAN_EDMA3CHAN_exit ()
Function called when RESMAN is no longer needed. Use it to free memory allocated etc.
IRES_Handle | IRESMAN_EDMA3CHAN_getHandles (IALG_Handle algHandle, IRES_ResourceDescriptor *resDesc, Int scratchGroupId, IRES_Status *status)
Function that returns the IRES_Handle to the resource requested using the IRES_ResourceProtocolArgs.
IRES_Status | IRESMAN_EDMA3CHAN_freeHandle (IALG_Handle algHandle, IRES_Handle algResourceHandle, IRES_ResourceDescriptor *resDesc, Int scratchGroupId)
Frees handles back to the resource pool.

Data Structures

struct | IRESMAN_Edma3ChanParams
Configuration parameters for Edma3Chan resman implementation. More...

Typedefs

typedef struct
IRESMAN_Edma3ChanParams 		IRESMAN_Edma3ChanParams
Configuration parameters for Edma3Chan resman implementation.

Variables

__FAR__ IRESMAN_PersistentAllocFxn | _RMAN_allocPersistent
Memory allocation functions for all of RMANs and other IRES rotocol's memory requirements.
__FAR__ IRESMAN_PersistentFreeFxn | _RMAN_freePersistent
Memory free functions for all of RMANs and other IRES protocol's memory requirements.
IRESMAN_Fxns IRESMAN_EDMA3CHAN
IRES RESMAN implementation for EDMA3 Linked transfers.


Framework Components Application Programming Interface (API): iresman_hdvicp.h File Reference

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • hdvicp
Functions | Defines | Data Structures | Typedefs | Variables

iresman_hdvicp.h File Reference

Detailed Description

IRESMAN.

#include <ti/sdo/fc/ires/iresman.h>
Include dependency graph for iresman_hdvicp.h:

Go to the source code of this file.

Functions

String | IRESMAN_HDVICP_getProtocolName ()
Function to return the name of the protocol.
IRES_ProtocolRevision * IRESMAN_HDVICP_getProtocolRevision ()
Function to return the revision of the protocol.
IRES_Status | IRESMAN_HDVICP_init (IRESMAN_Params *initArgs)
Function to initialize the device specific resource manager implementation.
IRES_Status IRESMAN_HDVICP_exit ()
Function called when RESMAN is no longer needed. Use it to free memory allocated etc.
IRES_Handle | IRESMAN_HDVICP_getHandles (IALG_Handle algHandle, IRES_ResourceDescriptor *resDesc, Int scratchGroupId, IRES_Status *status)
Function that returns the IRES_Handle to the resource requested using the IRES_ResourceProtocolArgs.
IRES_Status | IRESMAN_HDVICP_freeHandles (IALG_Handle algHandle, IRES_Handle algResourceHandle, IRES_ResourceDescriptor *resDesc, Int scratchGroupId)
Frees handles back to the resource pool.

Defines

#define | IRES_HDVICP_MAXRESOURCES 10

Data Structures

struct | IRESMAN_HdVicpParams

Typedefs

typedef struct IRESMAN_HdVicpParams | IRESMAN_HdVicpParams

Variables

__FAR__ IRESMAN_PersistentAllocFxn | _RMAN_allocPersistent
Memory allocation functions for all of RMANs and other IRES protocol's memory requirements.
__FAR__ IRESMAN_PersistentFreeFxn | _RMAN_freePersistent
Memory free functions for all of RMANs and other IRES protocol's memory requirements.
IRESMAN_Fxns IRESMAN_HDVICP
IRES RESMAN implementation for HDVICP.


Framework Components Application Programming Interface (API): iresman_protocol.h File Reference

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
Data Structures

iresman_protocol.h File Reference

Detailed Description

IRES Resource Protocol Definitions (C64P) - IRES Resource specific protocol interface to construct logical handles. This interface is exposed only to IRESMAN.

#include <ti/xdais/ires_common.h>
Include dependency graph for iresman_protocol.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct | IRESMAN_ConstructArgs
Abstract Protocol Construct Arguments structure/pointer definition. Arguments passed by the Resource manager to request a resource from a specific IRES Protocol will extend and supply the concrete definition. More...
struct | IRESMAN_ConstructFxns
These functions are used to determine memory requirements for and initialize the IRES protocol's environment that will be allocated by the resource manager. More...

Typedefs

typedef struct
IRESMAN_ConstructArgs 		IRESMAN_ConstructArgs
Abstract Protocol Construct Arguments structure/pointer definition. Arguments passed by the Resource manager to request a resource from a specific IRES Protocol will extend and supply the concrete definition.
typedef struct
IRESMAN_ConstructFxns 		IRESMAN_ConstructFxns
These functions are used to determine memory requirements for and initialize the IRES protocol's environment that will be allocated by the resource manager.


Framework Components Application Programming Interface (API): iresman_tiledmemory.h File Reference

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • tiledmemory
Functions | Defines | Data Structures | Typedefs | Variables

iresman_tiledmemory.h File Reference

Detailed Description

IRESMAN.

#include <ti/sdo/fc/ires/iresman.h>
Include dependency graph for iresman_tiledmemory.h:

Go to the source code of this file.

Functions

String | IRESMAN_TILEDMEMORY_getProtocolName ()
Function to return the name of the protocol.
IRES_ProtocolRevision * IRESMAN_TILEDMEMORY_getProtocolRevision ()
Function to return the revision of the protocol.
IRES_Status | IRESMAN_TILEDMEMORY_init (IRESMAN_Params *initArgs)
Function to initialize the device specific resource manager implementation.
IRES_Status IRESMAN_TILEDMEMORY_exit ()
Function called when RESMAN is no longer needed. Use it to free memory allocated etc.
IRES_Handle | IRESMAN_TILEDMEMORY_getHandles (IALG_Handle algHandle, IRES_ResourceDescriptor *resDesc, Int scratchGroupId, IRES_Status *status)
Function that returns the IRES_Handle to the resource requested using the IRES_ResourceProtocolArgs.
IRES_Status | IRESMAN_TILEDMEMORY_freeHandles (IALG_Handle algHandle, IRES_Handle algResourceHandle, IRES_ResourceDescriptor *resDesc, Int scratchGroupId)
Frees handles back to the resource pool.

Defines

#define | IRES_TILEDMEMORY_MAXRESOURCES 10

Data Structures

struct | IRESMAN_TiledmemoryParams

Typedefs

typedef struct
IRESMAN_TiledmemoryParams 		IRESMAN_TiledmemoryParams

Variables

__FAR__ IRESMAN_PersistentAllocFxn | _RMAN_allocPersistent
Memory allocation functions for all of RMANs and other IRES protocol's memory requirements.
__FAR__ IRESMAN_PersistentFreeFxn | _RMAN_freePersistent
Memory free functions for all of RMANs and other IRES protocol's memory requirements.
IRESMAN_Fxns IRESMAN_TILEDMEMORY
IRES RESMAN implementation for TILEDMEMORY.


Framework Components Application Programming Interface (API): iresman_vicp.h File Reference

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • vicp
Functions | Data Structures | Typedefs | Variables

iresman_vicp.h File Reference

Detailed Description

IRESMAN.

#include <ti/sdo/fc/ires/iresman.h>
Include dependency graph for iresman_vicp.h:

Go to the source code of this file.

Functions

String | IRESMAN_VICP_getProtocolName ()
Function to return the name of the protocol.
IRES_ProtocolRevision * IRESMAN_VICP_getProtocolRevision ()
Function to return the revision of the protocol.
IRES_Status | IRESMAN_VICP_init (IRESMAN_Params *initArgs)
Function to initialize the device specific resource manager implementation.
IRES_Status IRESMAN_VICP_exit ()
Function called when RESMAN is no longer needed. Use it to free memory allocated etc.
IRES_Handle | IRESMAN_VICP_getHandles (IALG_Handle algHandle, IRES_ResourceDescriptor *resDesc, Int scratchGroupId, IRES_Status *status)
Function that returns the IRES_Handle to the resource requested using the IRES_ResourceProtocolArgs.
IRES_Status | IRESMAN_VICP_freeHandles (IALG_Handle algHandle, IRES_Handle algResourceHandle, IRES_ResourceDescriptor *resDesc, Int scratchGroupId)
Frees handles back to the resource pool.

Data Structures

struct | IRESMAN_VicpParams

Typedefs

typedef struct IRESMAN_VicpParams | IRESMAN_VicpParams

Variables

__FAR__ IRESMAN_PersistentAllocFxn | _RMAN_allocPersistent
Memory allocation functions for all of RMANs and other IRES protocol's memory requirements.
__FAR__ IRESMAN_PersistentFreeFxn | _RMAN_freePersistent
Memory free functions for all of RMANs and other IRES protocol's memory requirements.
IRESMAN_Fxns IRESMAN_VICP
IRES RESMAN implementation for VICP.


Framework Components Application Programming Interface (API): iresman_vicp2.h File Reference

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • vicp
Functions | Data Structures | Typedefs | Variables

iresman_vicp2.h File Reference

Detailed Description

IRESMAN.

#include <ti/sdo/fc/ires/iresman.h>
Include dependency graph for iresman_vicp2.h:

Go to the source code of this file.

Functions

String | IRESMAN_VICP2_getProtocolName ()
Function to return the name of the protocol.
IRES_ProtocolRevision * IRESMAN_VICP2_getProtocolRevision ()
Function to return the revision of the protocol.
IRES_Status | IRESMAN_VICP2_init (IRESMAN_Params *initArgs)
Function to initialize the device specific resource manager implementation.
IRES_Status IRESMAN_VICP2_exit ()
Function called when RESMAN is no longer needed. Use it to free memory allocated etc.
IRES_Handle | IRESMAN_VICP2_getHandles (IALG_Handle algHandle, IRES_ResourceDescriptor *resDesc, Int scratchGroupId, IRES_Status *status)
Function that returns the IRES_Handle to the resource requested using the IRES_ResourceProtocolArgs.
IRES_Status | IRESMAN_VICP2_freeHandles (IALG_Handle algHandle, IRES_Handle algResourceHandle, IRES_ResourceDescriptor *resDesc, Int scratchGroupId)
Frees handles back to the resource pool.

Data Structures

struct | IRESMAN_VicpParams

Typedefs

typedef struct IRESMAN_VicpParams | IRESMAN_VicpParams

Variables

__FAR__ IRESMAN_PersistentAllocFxn | _RMAN_allocPersistent
Memory allocation functions for all of RMANs and other IRES protocol's memory requirements.
__FAR__ IRESMAN_PersistentFreeFxn | _RMAN_freePersistent
Memory free functions for all of RMANs and other IRES protocol's memory requirements.
IRESMAN_Fxns IRESMAN_VICP2
IRES RESMAN implementation for VICP.


Framework Components Application Programming Interface (API): memutils.h File Reference

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • memutils
Functions | Defines

memutils.h File Reference

Detailed Description

MEMUTILS Interface Definitions - Memory and Cache related APIs.

Go to the source code of this file.

Functions

Void | MEMUTILS_cacheInv (Ptr addr, Int sizeInBytes)
Invalidate a range of cache.
Void | MEMUTILS_cacheWb (Ptr addr, Int sizeInBytes)
Write back cache.
Void | MEMUTILS_cacheWbInv (Ptr addr, Int sizeInBytes)
Write back and invalidate cache.
Void * | MEMUTILS_getPhysicalAddr (Ptr addr)
Obtain physical (hardware specific) address.

Defines

#define | MEMUTILS_MODNAME "ti.sdo.fc.memutils"
Name used to identify the module for setting xdc.runtime.Diags masks.


Framework Components Application Programming Interface (API): rman.h File Reference

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • rman
Functions | Defines | Data Structures | Typedefs | Variables

rman.h File Reference

Detailed Description

IRES generic Resource Manager RMAN Definitions - Generic Resource Manager that manages resource allocation for algorithms that implement the IRES interface.

#include <ti/xdais/ires.h>
#include <ti/sdo/fc/ires/iresman.h>
Include dependency graph for rman.h:

Go to the source code of this file.

Functions

IRES_Status | RMAN_init (Void)
Initialize the RMAN object with static information from the headers/configuration etc. This function has to return successfully before the other APIs are called.
IRES_Status | RMAN_exit (Void)
Delete the generic IRES RMAN and release memory back.
IRES_Status | RMAN_register (IRESMAN_Fxns *resmanFxns, IRESMAN_Params *initArgs)
Register the protocol/protocol revision and the device specific resource manager implementation with the Resource Registry of the RMAN.
IRES_Status | RMAN_unregister (IRESMAN_Fxns *resmanFxns)
Unregister the protocol and the corresponding resource manager implementation from the Resource Registry.
IRES_Status | RMAN_assignResources (IALG_Handle algHandle, IRES_Fxns *resFxns, Int scratchGroupId)
Assign resources to the algorithm indicated by algHandle. The resource requirements can be determined by using the IRES_Fxns implementation.
IRES_Status | RMAN_allocateResources (Int requestId, IRES_ResourceDescriptor *resDesc, Int numResources, Int scratchGroupId)
Directly allocate IRES resources by client without implementing IRES_Fxns.
IRES_Status | RMAN_freeResources (IALG_Handle algHandle, IRES_Fxns *resFxns, Int scratchGroupId)
Free resources held by the algorithm resource handle.
IRES_Status | RMAN_freeAllocatedResources (Int requestId, IRES_ResourceDescriptor *resDesc, Int numResources, Int scratchGroupId)
Free resources held by the algorithm resource handle.
IRES_Status | RMAN_activateResource (IALG_Handle algHandle, IRES_Handle resourceHandle, IRES_Fxns *resFxns, Int scratchGroupId)
Activate resource identified by the resourceHandle held by the algorithm.
IRES_Status | RMAN_activateAllResources (IALG_Handle algHandle, IRES_Fxns *resFxns, Int scratchGroupId)
Activate all resources held by the algorithm.
IRES_Status | RMAN_deactivateResource (IALG_Handle algHandle, IRES_Handle resourceHandle, IRES_Fxns *resFxns, Int scratchGroupId)
Deactivate resource identified by the resourceHandle held by the algorithm.
IRES_Status | RMAN_deactivateAllResources (IALG_Handle algHandle, IRES_Fxns *resFxns, Int scratchGroupId)
Deactivate all resources held by the algorithm.
void | RMAN_yield (IRES_YieldResourceType resource, IRES_YieldContextHandle algYieldContext, IRES_YieldArgs yieldArgs)
Yield function specifically for use when DSKT2 based algorithms need cooperative preemption and multi-tasking support This function is called by the algorithm at pre-determined points during its execution, to allow another algorithm of same, or higher prioirty to preempt its execution.

Defines

#define | ti_sdo_fc_ires_NOPROTOCOLREV
#define | RMAN_MODNAME "ti.sdo.fc.rman"
Name to pass to Diags_setMask() to enable logging for RMAN functions. For example, Diags_setMask(RMAN_MODNAME"+EX1234567"); turns on all Log statements in this module. Diags_setMask() must be called after initialization to take effect.
#define | RMAN_GTNAME "ti.sdo.fc.rman"
Name used to identify the GT module.
#define | RMAN_PROTOCOLNAMESIZE 200
Size of the Protocol Name in the Resource Registry Table.

Data Structures

struct | RMAN_Params
The module configuration structure for RMAN. It is set at design time by the system integrator to register the specific Resource Managers(IRESMAN implementations). More...

Typedefs

typedef struct Sem_Obj * | RMAN_SemHandle
Declare abstract handle for Semaphore object.
typedef IRES_YieldArgs(* | ti_sdo_fc_rman_RMAN_YieldArgsFxn )(Int scratchId, Bool yieldFlag)
Type declaration for the "yield fxn" which is required if if RMAN has been configured to yield execution to same/higher priority algorithms.
typedef struct RMAN_Params | RMAN_Params
The module configuration structure for RMAN. It is set at design time by the system integrator to register the specific Resource Managers(IRESMAN implementations).

Variables

__FAR__ RMAN_Params | RMAN_PARAMS
Initialization parameters for the generic Resource Manager.
__FAR__ IRESMAN_Fxns * | RMAN_TABLE []
RMAN Table to hold IRESMAN registrations.
__FAR__ short | RMAN_FREE_ENTRIES []
Free Table to hold entries freed from RMAN Table.
__FAR__ short | RMAN_numRegistryEntries
Number of entries statically configured for the Resource Registry table. Set this variable to zero if no static configuration is required.
__FAR__ IRESMAN_Fxns ** | RMAN_registryEntries
To allow for static configuration of the Resource Registry table this can be set to a valid configuration table or to NULL. Set this variable to NULL if no static configuration is required.
__FAR__ IRESMAN_Params ** | RMAN_registryResmanArgs
Initialization arguments for the entries to be registered Set this variable to NULL if no static configuration is required.
__FAR__ unsigned int ** | RMAN_iresVTable
Table that holds the mapping from algorithms IALG_Fxns to IRES_Fxns.
__FAR__ unsigned int | ti_sdo_fc_rman_RMAN_MAXALGS
Maximum number of algorithm instances that will use RMAN.
UInt32 | ti_sdo_fc_rman_RMAN_ipcKey
Base key value ofr RMAN Linux IPC Objects.
ti_sdo_fc_rman_RMAN_YieldArgsFxn ti_sdo_fc_rman_RMAN_setYieldArgs
Function to set yield arguments to pass to yield function set in RMAN_PARAMS.

Define Documentation

#define ti_sdo_fc_ires_NOPROTOCOLREV


Framework Components Application Programming Interface (API): xdas.h File Reference

  • File List
  • Globals
  • fctools
  • packages
  • ti
  • xdais
Defines | Typedefs

xdas.h File Reference

Detailed Description

This header defines all types and constants used in the XDAS interfaces.

Remarks:
The types are mapped to the types defined in std.h.
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define | XDAS_TRUE 1
#define | XDAS_FALSE 0

Typedefs

typedef Void | XDAS_Void
typedef Uint8 | XDAS_Bool
typedef Int8 | XDAS_Int8
typedef Uint8 | XDAS_UInt8
typedef Int16 | XDAS_Int16
typedef Uint16 | XDAS_UInt16
typedef Int32 | XDAS_Int32
typedef Uint32 | XDAS_UInt32


Framework Components Application Programming Interface (API): Directory Hierarchy

Directories

This directory hierarchy is sorted roughly, but not completely, alphabetically:
  • fctools
    • packages
      • ti
        • xdais
  • packages
    • ti
      • sdo
        • fc
          • dskt2
          • ecpy
          • ires
            • edma3chan
            • hdvicp
            • tiledmemory
            • vicp
          • memutils
          • rman


Framework Components Application Programming Interface (API): fctools/ Directory Reference

  • fctools

fctools Directory Reference

Directory dependency graph for fctools/:

Directories

directory packages


Framework Components Application Programming Interface (API): fctools/packages/ Directory Reference

  • fctools
  • packages

packages Directory Reference

Directory dependency graph for fctools/packages/:

Directories

directory ti


Framework Components Application Programming Interface (API): fctools/packages/ti/ Directory Reference

  • fctools
  • packages
  • ti

ti Directory Reference

Directory dependency graph for fctools/packages/ti/:

Directories

directory xdais


Framework Components Application Programming Interface (API): fctools/packages/ti/xdais/ Directory Reference

  • fctools
  • packages
  • ti
  • xdais

xdais Directory Reference

Directory dependency graph for fctools/packages/ti/xdais/:

Files

file | ialg.h [code]

This header defines all types, constants, and functions defined by XDAIS for algorithms.

file | ires.h [code]

IRES Interface Definitions - Allows algorithms to request and receive handles representing private logical resources.

file | ires_common.h [code]

IRES Resource Protocol Definitions - IRES Resource.

file | xdas.h [code]

This header defines all types and constants used in the XDAS interfaces.


Framework Components Application Programming Interface (API): packages/ Directory Reference

  • packages

packages Directory Reference

Directory dependency graph for packages/:

Directories

directory ti


Framework Components Application Programming Interface (API): packages/ti/ Directory Reference

  • packages
  • ti

ti Directory Reference

Directory dependency graph for packages/ti/:

Directories

directory sdo


Framework Components Application Programming Interface (API): packages/ti/sdo/ Directory Reference

  • packages
  • ti
  • sdo

sdo Directory Reference

Directory dependency graph for packages/ti/sdo/:

Directories

directory fc


Framework Components Application Programming Interface (API): packages/ti/sdo/fc/ Directory Reference

  • packages
  • ti
  • sdo
  • fc

fc Directory Reference

Directory dependency graph for packages/ti/sdo/fc/:

Directories

directory | dskt2
directory | ecpy
directory | ires
directory | memutils
directory | rman


Framework Components Application Programming Interface (API): packages/ti/sdo/fc/dskt2/ Directory Reference

  • packages
  • ti
  • sdo
  • fc
  • dskt2

dskt2 Directory Reference

Directory dependency graph for packages/ti/sdo/fc/dskt2/:

Files

file | dskt2.h [code]

Provides services to support XDAIS algorithm instance objects.

file | dskt2_qos.h [code]


Framework Components Application Programming Interface (API): packages/ti/sdo/fc/ecpy/ Directory Reference

  • packages
  • ti
  • sdo
  • fc
  • ecpy

ecpy Directory Reference

Directory dependency graph for packages/ti/sdo/fc/ecpy/:

Files

file ecpy.h [code]

ECPY Definitions (C64P) - Functional DMA Library for use with the EDMA3 DMA peripheral. Provides a comprehensive list of DMA operations an algorithm can perform on logical DMA channels it acquires through the IRES_EDMA3CHAN protocol.


Framework Components Application Programming Interface (API): packages/ti/sdo/fc/ires/ Directory Reference

  • packages
  • ti
  • sdo
  • fc
  • ires

ires Directory Reference

Directory dependency graph for packages/ti/sdo/fc/ires/:

Directories

directory | edma3chan
directory | hdvicp
directory | tiledmemory
directory | vicp

Files

file | iresman.h [code]

Device specific Resource Manager Interface Definitions IRESMAN - Interface that needs to be implemented and registered with the generic RMAN Resource Registry that are called to manage corresponding IRES resources.

file | iresman_protocol.h [code]

IRES Resource Protocol Definitions (C64P) - IRES Resource specific protocol interface to construct logical handles. This interface is exposed only to IRESMAN.


Framework Components Application Programming Interface (API): packages/ti/sdo/fc/ires/edma3chan/ Directory Reference

  • packages
  • ti
  • sdo
  • fc
  • ires
  • edma3chan

edma3chan Directory Reference

Directory dependency graph for packages/ti/sdo/fc/ires/edma3chan/:

Files

file | ires_edma3Chan.h [code]

IRES EDMA3CHAN PROTOCOL Interface Definitions - Allows algorithms to request and receive handles representing EDMA3 resources associated with a single EDMA3 channel.

file | iresman_edma3Chan.h [code]

IRESMAN EDMA3 specific Resource Manager Definitions - EDMA3 resource manager implementation.


Framework Components Application Programming Interface (API): packages/ti/sdo/fc/ires/hdvicp/ Directory Reference

  • packages
  • ti
  • sdo
  • fc
  • ires
  • hdvicp

hdvicp Directory Reference

Directory dependency graph for packages/ti/sdo/fc/ires/hdvicp/:

Files

file | ires_hdvicp.h [code]

IRES PROTOCOL HDVICP Interface Definitions - Allows algorithms to request and receive handles representing the HDVICP resource.

file | ires_hdvicp2.h [code]

IRES PROTOCOL HDVICP2 Interface Definitions - Allows algorithms to request and receive handles representing the HDVICP2 resource.

file | iresman_hdvicp.h [code]

IRESMAN.


Framework Components Application Programming Interface (API): packages/ti/sdo/fc/ires/tiledmemory/ Directory Reference

  • packages
  • ti
  • sdo
  • fc
  • ires
  • tiledmemory

tiledmemory Directory Reference

Directory dependency graph for packages/ti/sdo/fc/ires/tiledmemory/:

Files

file | ires_tiledmemory.h [code]

IRES PROTOCOL TILEDMEMORY Interface Definitions (Beta) - Allows algorithms to request and receive handles representing the TILEDMEMORY resource.

file | iresman_tiledmemory.h [code]

IRESMAN.


Framework Components Application Programming Interface (API): packages/ti/sdo/fc/ires/vicp/ Directory Reference

  • packages
  • ti
  • sdo
  • fc
  • ires
  • vicp

vicp Directory Reference

Directory dependency graph for packages/ti/sdo/fc/ires/vicp/:

Files

file | ires_vicp.h [code]

IRES PROTOCOL VICP Interface Definitions - Allows algorithms to request and receive handles representing the VICP resource.

file | ires_vicp2.h [code]

IRES PROTOCOL VICP2 Interface Definitions - Allows algorithms to request and receive handles representing the VICP resource.

file | iresman_vicp.h [code]

IRESMAN.

file | iresman_vicp2.h [code]

IRESMAN.


Framework Components Application Programming Interface (API): packages/ti/sdo/fc/memutils/ Directory Reference

  • packages
  • ti
  • sdo
  • fc
  • memutils

memutils Directory Reference

Directory dependency graph for packages/ti/sdo/fc/memutils/:

Files

file memutils.h [code]

MEMUTILS Interface Definitions - Memory and Cache related APIs.


Framework Components Application Programming Interface (API): packages/ti/sdo/fc/rman/ Directory Reference

  • packages
  • ti
  • sdo
  • fc
  • rman

rman Directory Reference

Directory dependency graph for packages/ti/sdo/fc/rman/:

Files

file rman.h [code]

IRES generic Resource Manager RMAN Definitions - Generic Resource Manager that manages resource allocation for algorithms that implement the IRES interface.


Framework Components Application Programming Interface (API): Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • d
  • e
  • h
  • i
  • m
  • o
  • r
  • s
  • t
  • v
  • x
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- _ -

  • _DSKT2_ALLOW_EXTERNAL_SCRATCH : dskt2.h
  • _DSKT2_DARAM_SCRATCH_SIZES : dskt2.h
  • _DSKT2_heap : dskt2.h
  • _DSKT2_SARAM_SCRATCH_SIZES : dskt2.h
  • _RMAN_allocPersistent : iresman_vicp.h , iresman_vicp2.h , iresman_edma3Chan.h , iresman_hdvicp.h , iresman_tiledmemory.h
  • _RMAN_freePersistent : iresman_vicp.h , iresman_edma3Chan.h , iresman_hdvicp.h , iresman_vicp2.h , iresman_tiledmemory.h


Framework Components Application Programming Interface (API): Alphabetical List

  • Data Structures
  • Data Structure Index
  • Data Fields

Data Structure Index

E | I | R
E
IRES_EDMA3CHAN_EDMA3RegisterLayer IRES_HDVICP_Obj IRES_TILEDMEMORY_ProtocolArgs IRESMAN_ConstructArgs
ECPY_CfgParams IRES_EDMA3CHAN_EDMA3ShadowRegister IRES_HDVICP_Properties IRES_TILEDMEMORY_RegisterLayer IRESMAN_ConstructFxns
ECPY_Params IRES_EDMA3CHAN_Obj IRES_HDVICP_ProtocolArgs IRES_VICP2_Buffers IRESMAN_Edma3ChanParams
I
IRES_EDMA3CHAN_PaRamStruct IRES_HDVICP_RegisterLayer IRES_VICP2_Obj IRESMAN_Fxns
IALG_Fxns IRES_EDMA3CHAN_Properties IRES_Obj IRES_VICP2_Properties IRESMAN_HdVicpParams
IALG_MemRec IRES_EDMA3CHAN_ProtocolArgs IRES_Properties IRES_VICP2_ProtocolArgs IRESMAN_Params
IALG_Obj IRES_Fxns IRES_ProtocolArgs IRES_VICP_Obj IRESMAN_TiledmemoryParams
IALG_Params IRES_HDVICP2_Obj IRES_ProtocolRevision IRES_VICP_Properties IRESMAN_VicpParams
IALG_Status IRES_HDVICP2_Properties IRES_ResourceDescriptor IRES_VICP_ProtocolArgs
R
IRES_EDMA3CHAN2_Obj IRES_HDVICP2_ProtocolArgs IRES_TILEDMEMORY_Obj IRES_VICP_Registers RMAN_Params
IRES_EDMA3CHAN_EDMA3DraeRegister IRES_HDVICP2_RegisterLayer IRES_TILEDMEMORY_Properties IRES_YieldContext
E | I | R
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines


Framework Components Application Programming Interface (API): packages/ti/ -> fctools Relation

  • packages
  • ti

ti → fctools Relation

File in packages/ti | Includes file in fctools
sdo / fc / dskt2 / dskt2.h | packages / ti / xdais / ialg.h
sdo / fc / dskt2 / dskt2.h | packages / ti / xdais / ires.h
sdo / fc / ires / edma3chan / ires_edma3Chan.h | packages / ti / xdais / ires_common.h
sdo / fc / ires / edma3chan / ires_edma3Chan.h | packages / ti / xdais / xdas.h
sdo / fc / ires / hdvicp / ires_hdvicp.h | packages / ti / xdais / ires_common.h
sdo / fc / ires / hdvicp / ires_hdvicp2.h | packages / ti / xdais / ires.h
sdo / fc / ires / hdvicp / ires_hdvicp2.h | packages / ti / xdais / ires_common.h
sdo / fc / ires / hdvicp / ires_hdvicp2.h | packages / ti / xdais / xdas.h
sdo / fc / ires / tiledmemory / ires_tiledmemory.h | packages / ti / xdais / ires.h
sdo / fc / ires / tiledmemory / ires_tiledmemory.h | packages / ti / xdais / ires_common.h
sdo / fc / ires / tiledmemory / ires_tiledmemory.h | packages / ti / xdais / xdas.h
sdo / fc / ires / vicp / ires_vicp.h | packages / ti / xdais / ires_common.h
sdo / fc / ires / vicp / ires_vicp2.h | packages / ti / xdais / ires.h
sdo / fc / ires / iresman.h | packages / ti / xdais / ires.h
sdo / fc / ires / iresman.h | packages / ti / xdais / ires_common.h
sdo / fc / ires / iresman_protocol.h | packages / ti / xdais / ires_common.h
sdo / fc / rman / rman.h | packages / ti / xdais / ires.h
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines


Framework Components Application Programming Interface (API): packages/ti/sdo/ -> fctools Relation

  • packages
  • ti
  • sdo

sdo → fctools Relation

File in packages/ti/sdo | Includes file in fctools
fc / dskt2 / dskt2.h | packages / ti / xdais / ialg.h
fc / dskt2 / dskt2.h | packages / ti / xdais / ires.h
fc / ires / edma3chan / ires_edma3Chan.h | packages / ti / xdais / ires_common.h
fc / ires / edma3chan / ires_edma3Chan.h | packages / ti / xdais / xdas.h
fc / ires / hdvicp / ires_hdvicp.h | packages / ti / xdais / ires_common.h
fc / ires / hdvicp / ires_hdvicp2.h | packages / ti / xdais / ires.h
fc / ires / hdvicp / ires_hdvicp2.h | packages / ti / xdais / ires_common.h
fc / ires / hdvicp / ires_hdvicp2.h | packages / ti / xdais / xdas.h
fc / ires / tiledmemory / ires_tiledmemory.h | packages / ti / xdais / ires.h
fc / ires / tiledmemory / ires_tiledmemory.h | packages / ti / xdais / ires_common.h
fc / ires / tiledmemory / ires_tiledmemory.h | packages / ti / xdais / xdas.h
fc / ires / vicp / ires_vicp.h | packages / ti / xdais / ires_common.h
fc / ires / vicp / ires_vicp2.h | packages / ti / xdais / ires.h
fc / ires / iresman.h | packages / ti / xdais / ires.h
fc / ires / iresman.h | packages / ti / xdais / ires_common.h
fc / ires / iresman_protocol.h | packages / ti / xdais / ires_common.h
fc / rman / rman.h | packages / ti / xdais / ires.h
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines


Framework Components Application Programming Interface (API): packages/ti/sdo/fc/ -> fctools Relation

  • packages
  • ti
  • sdo
  • fc

fc → fctools Relation

File in packages/ti/sdo/fc | Includes file in fctools
dskt2 / dskt2.h | packages / ti / xdais / ialg.h
dskt2 / dskt2.h | packages / ti / xdais / ires.h
ires / edma3chan / ires_edma3Chan.h | packages / ti / xdais / ires_common.h
ires / edma3chan / ires_edma3Chan.h | packages / ti / xdais / xdas.h
ires / hdvicp / ires_hdvicp.h | packages / ti / xdais / ires_common.h
ires / hdvicp / ires_hdvicp2.h | packages / ti / xdais / ires.h
ires / hdvicp / ires_hdvicp2.h | packages / ti / xdais / ires_common.h
ires / hdvicp / ires_hdvicp2.h | packages / ti / xdais / xdas.h
ires / tiledmemory / ires_tiledmemory.h | packages / ti / xdais / ires.h
ires / tiledmemory / ires_tiledmemory.h | packages / ti / xdais / ires_common.h
ires / tiledmemory / ires_tiledmemory.h | packages / ti / xdais / xdas.h
ires / vicp / ires_vicp.h | packages / ti / xdais / ires_common.h
ires / vicp / ires_vicp2.h | packages / ti / xdais / ires.h
ires / iresman.h | packages / ti / xdais / ires.h
ires / iresman.h | packages / ti / xdais / ires_common.h
ires / iresman_protocol.h | packages / ti / xdais / ires_common.h
rman / rman.h | packages / ti / xdais / ires.h
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines


Framework Components Application Programming Interface (API): packages/ti/sdo/fc/dskt2/ -> fctools Relation

  • packages
  • ti
  • sdo
  • fc
  • dskt2

dskt2 → fctools Relation

File in packages/ti/sdo/fc/dskt2 Includes file in fctools


Framework Components Application Programming Interface (API): packages/ti/sdo/fc/ecpy/ -> ires Relation

  • packages
  • ti
  • sdo
  • fc
  • ecpy

ecpy → ires Relation

File in packages/ti/sdo/fc/ecpy Includes file in packages/ti/sdo/fc/ires


Framework Components Application Programming Interface (API): packages/ti/sdo/fc/ires/ -> fctools Relation

  • packages
  • ti
  • sdo
  • fc
  • ires

ires → fctools Relation

File in packages/ti/sdo/fc/ires | Includes file in fctools
edma3chan / ires_edma3Chan.h | packages / ti / xdais / ires_common.h
edma3chan / ires_edma3Chan.h | packages / ti / xdais / xdas.h
hdvicp / ires_hdvicp.h | packages / ti / xdais / ires_common.h
hdvicp / ires_hdvicp2.h | packages / ti / xdais / ires.h
hdvicp / ires_hdvicp2.h | packages / ti / xdais / ires_common.h
hdvicp / ires_hdvicp2.h | packages / ti / xdais / xdas.h
tiledmemory / ires_tiledmemory.h | packages / ti / xdais / ires.h
tiledmemory / ires_tiledmemory.h | packages / ti / xdais / ires_common.h
tiledmemory / ires_tiledmemory.h | packages / ti / xdais / xdas.h
vicp / ires_vicp.h | packages / ti / xdais / ires_common.h
vicp / ires_vicp2.h | packages / ti / xdais / ires.h
iresman.h | packages / ti / xdais / ires.h
iresman.h | packages / ti / xdais / ires_common.h
iresman_protocol.h | packages / ti / xdais / ires_common.h
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines


Framework Components Application Programming Interface (API): packages/ti/sdo/fc/ires/edma3chan/ -> fctools Relation

  • packages
  • ti
  • sdo
  • fc
  • ires
  • edma3chan

edma3chan → fctools Relation

File in packages/ti/sdo/fc/ires/edma3chan Includes file in fctools


Framework Components Application Programming Interface (API): packages/ti/sdo/fc/ires/hdvicp/ -> fctools Relation

  • packages
  • ti
  • sdo
  • fc
  • ires
  • hdvicp

hdvicp → fctools Relation

File in packages/ti/sdo/fc/ires/hdvicp | Includes file in fctools
ires_hdvicp.h | packages / ti / xdais / ires_common.h
ires_hdvicp2.h | packages / ti / xdais / ires.h
ires_hdvicp2.h | packages / ti / xdais / ires_common.h
ires_hdvicp2.h | packages / ti / xdais / xdas.h
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines


Framework Components Application Programming Interface (API): packages/ti/sdo/fc/ires/tiledmemory/ -> fctools Relation

  • packages
  • ti
  • sdo
  • fc
  • ires
  • tiledmemory

tiledmemory → fctools Relation

File in packages/ti/sdo/fc/ires/tiledmemory | Includes file in fctools
ires_tiledmemory.h | packages / ti / xdais / ires.h
ires_tiledmemory.h | packages / ti / xdais / ires_common.h
ires_tiledmemory.h | packages / ti / xdais / xdas.h
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines


Framework Components Application Programming Interface (API): packages/ti/sdo/fc/ires/vicp/ -> fctools Relation

  • packages
  • ti
  • sdo
  • fc
  • ires
  • vicp

vicp → fctools Relation

File in packages/ti/sdo/fc/ires/vicp Includes file in fctools


Framework Components Application Programming Interface (API): packages/ti/sdo/fc/rman/ -> fctools Relation

  • packages
  • ti
  • sdo
  • fc
  • rman

rman → fctools Relation

File in packages/ti/sdo/fc/rman Includes file in fctools


Framework Components Application Programming Interface (API): packages/ti/sdo/fc/rman/ -> ires Relation

  • packages
  • ti
  • sdo
  • fc
  • rman

rman → ires Relation

File in packages/ti/sdo/fc/rman Includes file in packages/ti/sdo/fc/ires


Framework Components Application Programming Interface (API): disclaimer.dox File Reference

  • File List
  • Globals

disclaimer.dox File Reference

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines


Framework Components Application Programming Interface (API): doxygen.txt File Reference

  • File List
  • Globals

doxygen.txt File Reference

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines


Framework Components Application Programming Interface (API): dskt2.h Source File

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • dskt2

dskt2.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2012, Texas Instruments Incorporated
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * *  Redistributions of source code must retain the above copyright
00010  *    notice, this list of conditions and the following disclaimer.
00011  *
00012  * *  Redistributions in binary form must reproduce the above copyright
00013  *    notice, this list of conditions and the following disclaimer in the
00014  *    documentation and/or other materials provided with the distribution.
00015  *
00016  * *  Neither the name of Texas Instruments Incorporated nor the names of
00017  *    its contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00021  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00022  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00023  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00024  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00025  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00026  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00027  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00028  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00029  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00030  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031  *
00032  */
00048 #ifndef DSKT2_
00049 #define DSKT2_
00050
00051 #ifdef __cplusplus
00052 extern "C" {
00053 #endif
00054
00057
00058 #include <xdc/std.h>
00059 #include <xdc/runtime/IHeap.h>
00060
00061 #include <ti/xdais/ialg.h>
00062 #include <ti/xdais/ires.h>
00063 #include <stddef.h>
00064
00065 #define DSKT2_NUM_SCRATCH_GROUPS 20
00069 #define DSKT2_MAX_MEM_ALLOCATION_SIZE  0xFFFF
00073 /* NOTE: DO NOT Change NUM_SHAREDHEAPS*/
00074 #define DSKT2_NUM_SHAREDHEAPS 2
00075
00084 #define DSKT2_MODNAME  "ti.sdo.fc.dskt2"
00085
00093 typedef Void (*DSKT2_CacheWBInvFxn)(Ptr blockPtr, size_t byteCnt, Bool wait);
00094
00095
00099 extern __FAR__ DSKT2_CacheWBInvFxn DSKT2_cacheWBInvFxn;
00100
00101 /* TODO: Should these be declared here ? User should know they can initialize
00102          these entries */
00103 extern xdc_runtime_IHeap_Handle DSKT2_daram0Heap;
00104 extern xdc_runtime_IHeap_Handle DSKT2_daram1Heap;
00105 extern xdc_runtime_IHeap_Handle DSKT2_daram2Heap;
00106 extern xdc_runtime_IHeap_Handle DSKT2_saram0Heap;
00107 extern xdc_runtime_IHeap_Handle DSKT2_saram1Heap;
00108 extern xdc_runtime_IHeap_Handle DSKT2_saram2Heap;
00109 extern xdc_runtime_IHeap_Handle DSKT2_iprogHeap;
00110 extern xdc_runtime_IHeap_Handle DSKT2_eprogHeap;
00111 extern xdc_runtime_IHeap_Handle DSKT2_esdataHeap;
00112 extern xdc_runtime_IHeap_Handle _DSKT2_heap;
00113
00114 extern __FAR__ UInt _DSKT2_ALLOW_EXTERNAL_SCRATCH;
00115
00116 extern UInt _DSKT2_DARAM_SCRATCH_SIZES[];
00117 extern UInt _DSKT2_SARAM_SCRATCH_SIZES[];
00118
00119 /* ENDTODO */
00120
00124 extern __FAR__ Bool ti_sdo_fc_dskt2_DSKT2_disableLazyDeactivate;
00125
00190 extern Void DSKT2_activateAlg(Int scratchMutexId, IALG_Handle alg);
00191
00192
00225 extern Int DSKT2_controlAlg(IALG_Handle alg, IALG_Cmd cmd,
00226     IALG_Status *status);
00227
00228
00307 extern IALG_Handle DSKT2_createAlg(Int scratchMutexId, IALG_Fxns * fxns,
00308     IALG_Handle parent, IALG_Params * params);
00309
00310
00404 extern IALG_Handle DSKT2_createAlg2(Int scratchMutexId, IALG_Fxns * fxns,
00405         IALG_Handle parent, IALG_Params * params,
00406         xdc_runtime_IHeap_Handle extHeapId);
00407
00408
00484 IALG_Handle DSKT2_createAlgExt(Int scratchId, IALG_Fxns * fxns,
00485         IALG_Handle parent, IALG_Params * params);
00486
00539 extern Void DSKT2_deactivateAlg(Int scratchMutexId, IALG_Handle alg);
00540
00552 extern Int DSKT2_deactivateAll();
00553
00588 extern Bool DSKT2_freeAlg(Int scratchMutexId, IALG_Handle alg);
00589
00619 extern Bool DSKT2_allocScratch(IALG_Handle alg,Int mutexId, IALG_MemRec *memTab,
00620         Int numRecs);
00621
00622 extern Int DSKT2_getScratchId(IALG_Handle alg);
00623
00647 extern Void DSKT2_freeScratch(Int mutexId, Void *addr, UInt size);
00648
00661 extern Bool DSKT2_allocPersistent(IALG_MemRec *memTab, Int numRecs);
00662
00675 extern Void DSKT2_freePersistent(IALG_MemRec *memTab, Int numRecs);
00676
00677 /*
00678  * Functions below are friend functions that are used by RMAN and some IRES
00679  * implementations to cooperatively yield to higher priority algorithms.
00680  */
00688 Void DSKT2_yield(IRES_YieldResourceType resource,
00689         IRES_YieldContextHandle algYieldContext, IRES_YieldArgs yieldArgs);
00690
00695 IRES_YieldArgs DSKT2_getYieldArgs(Int scratchId);
00696
00701 IRES_YieldArgs DSKT2_setYieldArgs(Int scratchId, Bool yieldFlag);
00702
00703
00704 Void DSKT2_contextRelease(IRES_YieldResourceType resource,
00705         IRES_YieldContextHandle algYieldContext, IRES_YieldArgs yieldArgs);
00706
00707 Void DSKT2_contextAcquire(IRES_YieldResourceType resource,
00708         IRES_YieldContextHandle algYieldContext, IRES_YieldArgs yieldArgs);
00709
00715 Int DSKT2_getNumAlgs();
00716
00727 Int DSKT2_getAlgList(IALG_Handle * algList, Int * scratchIds);
00728
00732
00733 #ifdef __cplusplus
00734 }
00735 #endif /* extern "C" */
00736
00737 #endif  /* DSKT2_ */
00738
00739 /*
00740  *  @(#) ti.sdo.fc.dskt2; 1, 0, 4,3; 8-28-2012 20:32:37; /db/atree/library/trees/fc/fc-r14/src/ xlibrary
00741
00742  */
00743


Framework Components Application Programming Interface (API): dskt2_qos.h Source File

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • dskt2

dskt2_qos.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2012, Texas Instruments Incorporated
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * *  Redistributions of source code must retain the above copyright
00010  *    notice, this list of conditions and the following disclaimer.
00011  *
00012  * *  Redistributions in binary form must reproduce the above copyright
00013  *    notice, this list of conditions and the following disclaimer in the
00014  *    documentation and/or other materials provided with the distribution.
00015  *
00016  * *  Neither the name of Texas Instruments Incorporated nor the names of
00017  *    its contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00021  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00022  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00023  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00024  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00025  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00026  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00027  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00028  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00029  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00030  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031  *
00032  */
00033 /*
00034  *  ======== dskt2_qos.h ========
00035  *  DSKT2 QOS support library definitions.
00036  *
00037  */
00038
00039 #ifndef DSKT2_QOS_H
00040 #define DSKT2_QOS_H
00041
00042 #include <xdc/std.h>
00043 #include <xdc/runtime/Memory.h>
00044
00045 typedef enum DSKT2_QOS_TI_MsgArg1Types {
00046     DSKT2_QOS_SHARED_SCRATCH_ALLHEAPS = 0x200,
00047     DSKT2_QOS_SHARED_SCRATCH_DARAM = 0x201,
00048     DSKT2_QOS_SHARED_SCRATCH_SARAM = 0x202
00049 } DSKT2_QOS_TI_MsgArg1Types;
00050
00051 typedef enum DSKT2_QOS_TI_GetSharedScratchMsgArg2   {
00052     /*
00053      * If Arg2 is NOT ALL_SCRATCHGROUPS then  the assigned value
00054      * is Scratch Group/Mutex Id
00055      */
00056     DSKT2_QOS_ALL_SCRATCHGROUPS = 0x100
00057 } DSKT2_QOS_TI_GetSharedScratchMsgArg2;
00058
00059 extern Void  DSKT2_QOS_getStat(UInt heapType, UInt mutexId,
00060         UInt *sizeSharedScratch, xdc_runtime_IHeap_Handle *inHeap);
00061
00062 #endif
00063
00064 /*
00065  *  @(#) ti.sdo.fc.dskt2; 1, 0, 4,3; 8-28-2012 20:32:37; /db/atree/library/trees/fc/fc-r14/src/ xlibrary
00066
00067  */
00068


Framework Components Application Programming Interface (API): ecpy.h Source File

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ecpy

ecpy.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2012, Texas Instruments Incorporated
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * *  Redistributions of source code must retain the above copyright
00010  *    notice, this list of conditions and the following disclaimer.
00011  *
00012  * *  Redistributions in binary form must reproduce the above copyright
00013  *    notice, this list of conditions and the following disclaimer in the
00014  *    documentation and/or other materials provided with the distribution.
00015  *
00016  * *  Neither the name of Texas Instruments Incorporated nor the names of
00017  *    its contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00021  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00022  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00023  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00024  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00025  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00026  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00027  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00028  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00029  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00030  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031  *
00032  */
00074 #ifndef ti_sdo_fc_ecpy_ECPY_
00075 #define ti_sdo_fc_ecpy_ECPY_
00076
00077
00078 #ifdef __cplusplus
00079 extern "C" {
00080 #endif
00081
00084
00085 #define ti_sdo_fc_ires_NOPROTOCOLREV
00086 #include <ti/sdo/fc/ires/edma3chan/ires_edma3Chan.h>
00087
00088 #define ECPY_GTNAME "ti.sdo.fc.ecpy"
00089
00098 #define ECPY_MODNAME "ti.sdo.fc.ecpy"
00099
00100
00106 typedef enum ECPY_ParamField16b {
00107
00108     ECPY_PARAMFIELD_ELEMENTSIZE =  8,
00109     ECPY_PARAMFIELD_NUMELEMENTS = 10 ,
00110     ECPY_PARAMFIELD_ELEMENTINDEX_SRC = 16,
00111     ECPY_PARAMFIELD_ELEMENTINDEX_DST = 18,
00112     ECPY_PARAMFIELD_FRAMEINDEX_SRC =  24,
00113     ECPY_PARAMFIELD_FRAMEINDEX_DST =  26,
00114     ECPY_PARAMFIELD_NUMFRAMES = 28
00115
00116 } ECPY_ParamField16b;
00117
00123 typedef enum ECPY_ParamField32b {
00124
00125     ECPY_PARAMFIELD_SRCADDR = 4,
00126     ECPY_PARAMFIELD_DSTADDR = 12,
00127     ECPY_PARAMFIELD_ELEMENTINDEXES = 16,
00128     ECPY_PARAMFIELD_FRAMEINDEXES = 24
00129
00130 } ECPY_ParamField32b;
00131
00142 typedef enum ECPY_TransferType {
00143
00149     ECPY_1D1D,
00150
00164     ECPY_1D2D,
00165
00177     ECPY_2D1D,
00178
00190     ECPY_2D2D
00191 } ECPY_TransferType;
00192
00196 typedef struct ECPY_Obj *ECPY_Handle;
00197
00198
00203 typedef struct ECPY_Params {
00204
00206     ECPY_TransferType transferType;
00207
00209     Void *         srcAddr;
00210
00212     Void *         dstAddr;
00213
00215     unsigned short elementSize;
00216
00218     unsigned short numElements;
00219
00221     unsigned short numFrames ;
00222
00227     short srcElementIndex;
00228
00233     short dstElementIndex;
00234
00240     short srcFrameIndex;
00241
00247     short dstFrameIndex;
00248
00249 } ECPY_Params;
00250
00251
00274 Void ECPY_configure(ECPY_Handle handle, ECPY_Params * restrict params,
00275     short transferNo);
00276
00299 Void ECPY_directConfigure(ECPY_Handle handle, ECPY_Params * restrict params,
00300     short transferNo);
00301
00302
00339 #if defined(ECPY_CONFIGURE16) || defined(ECPY_INLINE_ALL)
00340 #include <ti/sdo/fc/ecpy/ecpy_configure16.h>
00341 #else
00342 Void ECPY_configure16(ECPY_Handle handle, ECPY_ParamField16b fieldId,
00343         unsigned short value, short transferNo);
00344
00383 Void ECPY_directConfigure16(ECPY_Handle handle, ECPY_ParamField16b fieldId,
00384         unsigned short value, short transferNo);
00385 #endif
00386
00424 #if defined(ECPY_CONFIGURE32_INLINE) || defined(ECPY_INLINE_ALL)
00425 #include <ti/sdo/fc/ecpy/ecpy_configure32.h>
00426 #else
00427 Void ECPY_configure32(ECPY_Handle handle, ECPY_ParamField32b fieldId,
00428         unsigned int value, short transferNo);
00429
00468 Void ECPY_directConfigure32(ECPY_Handle handle, ECPY_ParamField32b fieldId,
00469         unsigned int value, short transferNo);
00470 #endif
00471
00494 #if defined(ECPY_SETFINAL_INLINE) || defined(ECPY_INLINE_ALL)
00495 #include <ti/sdo/fc/ecpy/ecpy_setfinal.h>
00496 #else
00497 Void ECPY_setFinal(ECPY_Handle handle, short transferNo);
00498
00521 Void ECPY_directSetFinal(ECPY_Handle handle, short transferNo);
00522 #endif
00523
00535 Void ECPY_setDestinationMemoryMode(ECPY_Handle handle, short mode);
00536
00564 Void ECPY_start(ECPY_Handle handle);
00565
00566
00600 Void ECPY_directStartEdma(ECPY_Handle handle);
00601
00605 Void ECPY_directStartQdma(ECPY_Handle handle);
00606
00607
00634 #if defined(ECPY_WAIT_INLINE) || defined(ECPY_INLINE_ALL)
00635 #include <ti/sdo/fc/ecpy/ecpy_wait.h>
00636 #else
00637 Void ECPY_wait(ECPY_Handle handle);
00638 #endif
00639
00672 #if defined(ECPY_DIRECTWAIT_INLINE) || defined(ECPY_INLINE_ALL)
00673 #include <ti/sdo/fc/ecpy/ecpy_directwait.h>
00674 #else
00675 Void ECPY_directWait(ECPY_Handle handle);
00676 #endif
00677
00693 Void ECPY_activate(ECPY_Handle handle);
00694
00708 ECPY_Handle ECPY_createHandle(IRES_EDMA3CHAN2_Handle handle, IALG_Handle alg);
00709
00718 Void ECPY_deleteHandle(ECPY_Handle handle);
00719
00734 Void ECPY_deactivate(ECPY_Handle handle);
00735
00759 Void ECPY_setEarlyCompletionMode(ECPY_Handle handle, short enabled);
00760
00764 Void ECPY_init(Void);
00765
00769 Void ECPY_exit(Void);
00770
00774 typedef Bool (ECPY_PersistentAllocFxn)(IALG_MemRec *memTab, Int numRecs);
00775
00779 typedef Void (ECPY_PersistentFreeFxn)(IALG_MemRec *memTab, Int numRecs);
00780
00785 typedef Bool (ECPY_ScratchAllocFxn)(IALG_Handle alg, Int scratchId,
00786                                     IALG_MemRec *memTab, Int numRecs);
00791 typedef Void (ECPY_ScratchFreeFxn)(Int mutexId, Void *addr, UInt size);
00792
00797 typedef Int  (ECPY_getScratchIdFxn)(IALG_Handle alg);
00798
00799
00810 typedef struct ECPY_CfgParams {
00811
00815     ECPY_PersistentAllocFxn * allocFxn;
00816
00820     ECPY_PersistentFreeFxn * freeFxn;
00821
00826     ECPY_ScratchAllocFxn * scratchAllocFxn;
00827
00832     ECPY_ScratchFreeFxn * scratchFreeFxn;
00833
00838     ECPY_getScratchIdFxn *getScratchIdFxn;
00839 } ECPY_CfgParams;
00840
00844 extern __FAR__ ECPY_CfgParams ECPY_CFG_PARAMS;
00845
00848 #ifdef __cplusplus
00849 }
00850 #endif /* extern "C" */
00851
00852
00853 #endif /* ti_sdo_fc_ecpy_ECPY_ */
00854
00855 /*
00856  *  @(#) ti.sdo.fc.ecpy; 1, 0, 1,3; 8-28-2012 20:33:31; /db/atree/library/trees/fc/fc-r14/src/ xlibrary
00857
00858  */
00859


Framework Components Application Programming Interface (API): Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- l -

  • link : IRES_EDMA3CHAN_PaRamStruct


Framework Components Application Programming Interface (API): Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- m -

  • Major : IRES_ProtocolRevision
  • memoryBaseAddress : IRES_HDVICP_Obj , IRES_TILEDMEMORY_Obj , IRES_HDVICP2_Obj
  • memProtectionExists : IRES_EDMA3CHAN_Properties
  • memRequestSizes : IRES_VICP2_ProtocolArgs
  • mode : IRES_EDMA3CHAN_ProtocolArgs , IRES_VICP_ProtocolArgs , IRES_VICP2_ProtocolArgs , IRES_ProtocolArgs
  • MPFAR : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • MPFCR : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • MPFSR : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • MPPA : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • MPPAG : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • mvmem : IRES_VICP2_Buffers


Framework Components Application Programming Interface (API): Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- n -

  • numDmaChannels : IRES_EDMA3CHAN_Properties
  • numElements : ECPY_Params
  • numEvtQueue : IRES_EDMA3CHAN_Properties
  • numFrames : ECPY_Params
  • numMemBufs : IRES_VICP2_Obj
  • numMemoryRequests : IRES_VICP2_ProtocolArgs
  • numPaRams : IRES_EDMA3CHAN_ProtocolArgs
  • numPaRAMSets : IRES_EDMA3CHAN_Properties
  • numQdmaChannels : IRES_EDMA3CHAN_Properties
  • numRegions : IRES_EDMA3CHAN_Properties
  • numRegistries : RMAN_Params
  • numResourceDescriptors : IRES_Fxns
  • numResources : IRESMAN_TiledmemoryParams , IRESMAN_HdVicpParams
  • numTccs : IRES_EDMA3CHAN_Properties , IRES_EDMA3CHAN_ProtocolArgs
  • numTcs : IRES_EDMA3CHAN_Properties


Framework Components Application Programming Interface (API): Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- o -

  • opt : IRES_EDMA3CHAN_PaRamStruct


Framework Components Application Programming Interface (API): Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- b -

  • babyImxCmdBuf_base : IRES_VICP2_Buffers
  • babyImxOrigBuf_base : IRES_VICP2_Buffers
  • babyImxRefBuf_base : IRES_VICP2_Buffers
  • base : IALG_MemRec , IRES_HDVICP_ProtocolArgs , IRES_HDVICP2_ProtocolArgs , IRES_TILEDMEMORY_ProtocolArgs
  • baseConfig : IRESMAN_VicpParams , IRESMAN_Edma3ChanParams , IRESMAN_TiledmemoryParams , IRESMAN_HdVicpParams
  • bcnt : IRES_EDMA3CHAN_PaRamStruct
  • bCntrld : IRES_EDMA3CHAN_PaRamStruct
  • buffers : IRES_VICP2_Properties


Framework Components Application Programming Interface (API): Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- c -

  • CCCFG : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • CCERR : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • CCERRCLR : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • ccnt : IRES_EDMA3CHAN_PaRamStruct
  • CCSTAT : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • CER : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • CERH : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • configBaseAddress : IRES_VICP2_Obj
  • configure : IRES_HDVICP2_Obj
  • constructHandle : IRESMAN_ConstructFxns
  • contextArgs : IRES_YieldContext
  • contextRestore : IRES_YieldContext
  • contextSave : IRES_YieldContext
  • contiguousAllocation : IRES_EDMA3CHAN_ProtocolArgs


Framework Components Application Programming Interface (API): Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- d -

  • DCHMAP : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • deactivateAllResources : IRES_Fxns
  • deactivateResource : IRESMAN_Fxns , IRES_Fxns
  • deinitResources : IRES_Fxns
  • destructHandle : IRESMAN_ConstructFxns
  • dmaChPaRAMMapExists : IRES_EDMA3CHAN_Properties
  • DMAQNUM : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • dmaViewConfigBaseAddr : IRES_VICP2_Obj
  • done : IRES_HDVICP2_Obj
  • DRA : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • DRAE : IRES_EDMA3CHAN_EDMA3DraeRegister
  • DRAEH : IRES_EDMA3CHAN_EDMA3DraeRegister
  • dst : IRES_EDMA3CHAN_PaRamStruct
  • dstAddr : ECPY_Params
  • dstElementIndex : IRES_EDMA3CHAN_PaRamStruct , ECPY_Params
  • dstFrameIndex : ECPY_Params , IRES_EDMA3CHAN_PaRamStruct


Framework Components Application Programming Interface (API): Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- e -

  • ECR : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • ECRH : IRES_EDMA3CHAN_EDMA3RegisterLayer , IRES_EDMA3CHAN_EDMA3ShadowRegister
  • edmaChan : IRES_EDMA3CHAN_ProtocolArgs
  • EECR : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • EECRH : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • EER : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • EERH : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • EESR : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • EESRH : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • EEVAL : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • elementSize : ECPY_Params
  • EMCR : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • EMCRH : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • EMR : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • EMRH : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • ER : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • ERH : IRES_EDMA3CHAN_EDMA3RegisterLayer , IRES_EDMA3CHAN_EDMA3ShadowRegister
  • ESR : IRES_EDMA3CHAN_EDMA3RegisterLayer , IRES_EDMA3CHAN_EDMA3ShadowRegister
  • esrBitMaskH : IRES_EDMA3CHAN_Obj , IRES_EDMA3CHAN2_Obj
  • esrBitMaskL : IRES_EDMA3CHAN_Obj , IRES_EDMA3CHAN2_Obj
  • ESRH : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • exit : IRESMAN_Fxns


Framework Components Application Programming Interface (API): Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- f -

  • freeFxn : ECPY_CfgParams , IRESMAN_Params , RMAN_Params
  • freeHandle : IRESMAN_Fxns
  • fxns : IALG_Obj


Framework Components Application Programming Interface (API): Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- g -

  • getHandle : IRESMAN_Fxns
  • getMemRecs : IRESMAN_ConstructFxns
  • getName : IRESMAN_ConstructFxns
  • getNumMemRecs : IRESMAN_ConstructFxns
  • getProtocolName : IRESMAN_Fxns
  • getProtocolRevision : IRESMAN_Fxns
  • getResourceDescriptors : IRES_Fxns
  • getRevision : IRESMAN_ConstructFxns
  • getScratchIdFxn : ECPY_CfgParams
  • getStaticProperties : IRES_Obj
  • globalRegs : IRES_HDVICP_Properties , IRES_VICP_Properties , IRES_EDMA3CHAN_Properties , IRES_HDVICP2_Properties


Framework Components Application Programming Interface (API): Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- h -

  • handle : IRES_ResourceDescriptor
  • huffmem : IRES_VICP2_Buffers


Framework Components Application Programming Interface (API): Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- i -

  • ICR : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • ICRH : IRES_EDMA3CHAN_EDMA3RegisterLayer , IRES_EDMA3CHAN_EDMA3ShadowRegister
  • id : IRES_HDVICP2_Obj , IRES_HDVICP_ProtocolArgs , IRES_HDVICP_Obj , IRES_HDVICP2_ProtocolArgs
  • IECR : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • IECRH : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • IER : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • IERH : IRES_EDMA3CHAN_EDMA3RegisterLayer , IRES_EDMA3CHAN_EDMA3ShadowRegister
  • IESR : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • IESRH : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • IEVAL : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • imgBuf_base : IRES_VICP_Registers
  • imgBuf_length : IRES_VICP_Registers
  • imgBufA_base : IRES_VICP_Registers , IRES_VICP2_Buffers
  • imgBufA_length : IRES_VICP_Registers
  • imgBufB_base : IRES_VICP_Registers , IRES_VICP2_Buffers
  • imgBufB_length : IRES_VICP_Registers
  • imgBufC_base : IRES_VICP2_Buffers
  • imgBufD_base : IRES_VICP2_Buffers
  • imgBufE_base : IRES_VICP2_Buffers
  • implementationId : IALG_Fxns , IRES_Fxns
  • imx0CmdBuf_base : IRES_VICP2_Buffers
  • imx0CoeffBuff_base : IRES_VICP2_Buffers
  • imx1CmdBuf_base : IRES_VICP2_Buffers
  • imx1CoeffBuff_base : IRES_VICP2_Buffers
  • imxCmdBuf_base : IRES_VICP_Registers
  • imxCmdBuf_length : IRES_VICP_Registers
  • imxCoeffBuff_base : IRES_VICP_Registers
  • imxCoeffBuff_length : IRES_VICP_Registers
  • info : IRES_HDVICP2_Obj , IRES_TILEDMEMORY_Obj , IRES_HDVICP_Obj , IRESMAN_HdVicpParams , IRESMAN_TiledmemoryParams
  • init : IRESMAN_Fxns
  • initResources : IRES_Fxns
  • IPR : IRES_EDMA3CHAN_EDMA3RegisterLayer , IRES_EDMA3CHAN_EDMA3ShadowRegister
  • iprBitMaskH : IRES_EDMA3CHAN2_Obj , IRES_EDMA3CHAN_Obj
  • iprBitMaskL : IRES_EDMA3CHAN2_Obj , IRES_EDMA3CHAN_Obj
  • IPRH : IRES_EDMA3CHAN_EDMA3RegisterLayer , IRES_EDMA3CHAN_EDMA3ShadowRegister
  • ires : IRES_VICP_Obj , IRES_EDMA3CHAN_Obj , IRES_VICP2_Obj , IRES_TILEDMEMORY_Obj , IRES_HDVICP_Obj , IRES_EDMA3CHAN2_Obj , IRES_HDVICP2_Obj
  • isTiledMemory : IRES_TILEDMEMORY_Obj


Framework Components Application Programming Interface (API): Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- p -

  • PARAMENTRY : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • paRamIndex : IRES_EDMA3CHAN_ProtocolArgs
  • persistent : IRES_Obj
  • predmem_base : IRES_VICP2_Buffers
  • protocolArgs : IRES_ResourceDescriptor
  • pscRegisterSpace : IRES_HDVICP_Obj , IRES_VICP2_Obj


Framework Components Application Programming Interface (API): Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- q -

  • QCHMAP : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • qdmaChan : IRES_EDMA3CHAN_ProtocolArgs
  • QDMAQNUM : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • QEECR : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • QEER : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • QEESR : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • QEMCR : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • QEMR : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • QER : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • qiqBuf_base : IRES_VICP_Registers
  • qiqBuf_length : IRES_VICP_Registers
  • qiqmem_base : IRES_VICP2_Buffers
  • QRAE : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • QSECR : IRES_EDMA3CHAN_EDMA3RegisterLayer , IRES_EDMA3CHAN_EDMA3ShadowRegister
  • QSER : IRES_EDMA3CHAN_EDMA3RegisterLayer , IRES_EDMA3CHAN_EDMA3ShadowRegister
  • QSTAT : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • QUEEVTENTRY : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • QUEPRI : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • QUETCMAP : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • queueMap : IRES_EDMA3CHAN2_Obj
  • QWMTHRA : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • QWMTHRB : IRES_EDMA3CHAN_EDMA3RegisterLayer


Framework Components Application Programming Interface (API): Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- r -

  • Radius : IRES_ProtocolRevision
  • reacquireIfOwner : IRES_HDVICP2_Obj
  • registerBaseAddress : IRES_HDVICP2_Obj , IRES_HDVICP_Obj
  • reinitResources : IRES_Fxns
  • release : IRES_HDVICP2_Obj
  • requestIMCOPBuffers : IRES_VICP2_ProtocolArgs
  • requestIMX : IRES_VICP_ProtocolArgs
  • requestIMX0 : IRES_VICP2_ProtocolArgs
  • requestIMX1 : IRES_VICP2_ProtocolArgs
  • requestMJCP : IRES_VICP2_ProtocolArgs
  • requestNSF : IRES_VICP2_ProtocolArgs
  • requestSEQ : IRES_VICP_ProtocolArgs
  • requestVLCD : IRES_VICP_ProtocolArgs
  • reset : IRES_HDVICP2_Obj
  • resetControlAddress : IRES_HDVICP2_Obj
  • resourceHandle : IRES_YieldContext
  • resourceName : IRES_ResourceDescriptor
  • REV : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • revision : IRES_ResourceDescriptor
  • rsvd : IRES_EDMA3CHAN_PaRamStruct
  • RSVD0 : IRES_EDMA3CHAN_EDMA3RegisterLayer , IRES_EDMA3CHAN_EDMA3ShadowRegister
  • RSVD1 : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • RSVD10 : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • RSVD11 : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • RSVD12 : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • RSVD13 : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • RSVD2 : IRES_EDMA3CHAN_EDMA3RegisterLayer , IRES_EDMA3CHAN_EDMA3ShadowRegister
  • RSVD3 : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • RSVD4 : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • RSVD5 : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • RSVD6 : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • RSVD7 : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • RSVD8 : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • RSVD9 : IRES_EDMA3CHAN_EDMA3RegisterLayer


Framework Components Application Programming Interface (API): Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- s -

  • scratchAllocFxn : ECPY_CfgParams
  • scratchFreeFxn : ECPY_CfgParams
  • SECR : IRES_EDMA3CHAN_EDMA3RegisterLayer , IRES_EDMA3CHAN_EDMA3ShadowRegister
  • SECRH : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • seqBuf1 : IRES_VICP2_Buffers
  • seqBuf2 : IRES_VICP2_Buffers
  • seqBuf3 : IRES_VICP2_Buffers
  • seqBuf4 : IRES_VICP2_Buffers
  • seqDataMem_base : IRES_VICP_Registers
  • seqDataMem_length : IRES_VICP_Registers
  • seqProgMem_base : IRES_VICP_Registers
  • seqProgMem_length : IRES_VICP_Registers
  • sequencerDmem : IRES_VICP2_Buffers
  • sequencerPmem_base : IRES_VICP2_Buffers
  • SER : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • SERH : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • SHADOW : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • shadowPaRams : IRES_EDMA3CHAN_Obj , IRES_EDMA3CHAN2_Obj
  • shadowPaRamsAllocation : IRES_EDMA3CHAN_ProtocolArgs
  • size : IRES_VICP_ProtocolArgs , IRES_HDVICP_RegisterLayer , IRES_HDVICP_Properties , IRES_Properties , IRES_HDVICP2_RegisterLayer , IRES_HDVICP2_Properties , IRESMAN_ConstructArgs , IRES_TILEDMEMORY_RegisterLayer , IRES_VICP_Properties , IRESMAN_Params , IRES_TILEDMEMORY_Properties , IRES_VICP_Registers , IRES_VICP2_ProtocolArgs , IRES_VICP2_Properties , IALG_MemRec , IALG_Params , IALG_Status , IRES_EDMA3CHAN_ProtocolArgs , IRES_VICP2_Buffers , IRES_ProtocolArgs
  • sizeDim0 : IRES_TILEDMEMORY_ProtocolArgs
  • sizeDim1 : IRES_TILEDMEMORY_ProtocolArgs
  • Source : IRES_ProtocolRevision
  • space : IALG_MemRec
  • src : IRES_EDMA3CHAN_PaRamStruct
  • srcAddr : ECPY_Params
  • srcElementIndex : IRES_EDMA3CHAN_PaRamStruct , ECPY_Params
  • srcFrameIndex : IRES_EDMA3CHAN_PaRamStruct , ECPY_Params
  • systemSpaceBaseAddress : IRES_TILEDMEMORY_Obj


Framework Components Application Programming Interface (API): Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- t -

  • tccIndex : IRES_EDMA3CHAN_ProtocolArgs
  • tilerBaseAddress : IRES_TILEDMEMORY_Obj
  • transferType : ECPY_Params


Framework Components Application Programming Interface (API): Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- v -

  • vicp_cfg_base : IRES_VICP_Registers , IRES_VICP2_Buffers
  • vicp_umap1_base : IRES_VICP_Registers
  • vlcdBuf_base : IRES_VICP_Registers
  • vlcdBuf_length : IRES_VICP_Registers
  • vlcdDataBuf_base : IRES_VICP_Registers
  • vlcdDataBuf_length : IRES_VICP_Registers


Framework Components Application Programming Interface (API): Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- w -

  • wait : IRES_HDVICP2_Obj


Framework Components Application Programming Interface (API): Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- y -

  • yieldFxn : RMAN_Params
  • yieldSamePriority : RMAN_Params


Framework Components Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- a -

  • accessDimension : IRES_TILEDMEMORY_ProtocolArgs
  • accessUnit : IRES_TILEDMEMORY_ProtocolArgs , IRES_TILEDMEMORY_Obj
  • acnt : IRES_EDMA3CHAN_PaRamStruct
  • acquire : IRES_HDVICP2_Obj
  • activateAllResources : IRES_Fxns
  • activateResource : IRESMAN_Fxns , IRES_Fxns
  • AETCMD : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • AETCTL : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • AETSTAT : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • algActivate : IALG_Fxns
  • algAlloc : IALG_Fxns
  • algControl : IALG_Fxns
  • algDeactivate : IALG_Fxns
  • algFree : IALG_Fxns
  • algHandle : IRES_YieldContext
  • algInit : IALG_Fxns
  • algMoved : IALG_Fxns
  • algNumAlloc : IALG_Fxns
  • alignment : IALG_MemRec , IRES_TILEDMEMORY_ProtocolArgs
  • allocFxn : ECPY_CfgParams , IRESMAN_Params , RMAN_Params
  • assignedEdmaChannelIndex : IRES_EDMA3CHAN_Obj , IRES_EDMA3CHAN2_Obj
  • assignedIMCOPBuffers : IRES_VICP2_Obj
  • assignedIMX : IRES_VICP_Obj
  • assignedIMX0 : IRES_VICP2_Obj
  • assignedIMX1 : IRES_VICP2_Obj
  • assignedMemAddrs : IRES_VICP2_Obj
  • assignedMemSizes : IRES_VICP2_Obj
  • assignedMJCP : IRES_VICP2_Obj
  • assignedNSF : IRES_VICP2_Obj
  • assignedNumPaRams : IRES_EDMA3CHAN_Obj , IRES_EDMA3CHAN2_Obj
  • assignedNumTccs : IRES_EDMA3CHAN_Obj , IRES_EDMA3CHAN2_Obj
  • assignedPaRamAddresses : IRES_EDMA3CHAN2_Obj , IRES_EDMA3CHAN_Obj
  • assignedPaRamIndices : IRES_EDMA3CHAN_Obj , IRES_EDMA3CHAN2_Obj
  • assignedQdmaChannelIndex : IRES_EDMA3CHAN2_Obj , IRES_EDMA3CHAN_Obj
  • assignedSEQ : IRES_VICP_Obj
  • assignedTccIndices : IRES_EDMA3CHAN_Obj , IRES_EDMA3CHAN2_Obj
  • assignedVLCD : IRES_VICP_Obj
  • attrs : IALG_MemRec


Framework Components Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- l -

  • link : IRES_EDMA3CHAN_PaRamStruct


Framework Components Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- m -

  • Major : IRES_ProtocolRevision
  • memoryBaseAddress : IRES_HDVICP_Obj , IRES_TILEDMEMORY_Obj , IRES_HDVICP2_Obj
  • memProtectionExists : IRES_EDMA3CHAN_Properties
  • memRequestSizes : IRES_VICP2_ProtocolArgs
  • mode : IRES_EDMA3CHAN_ProtocolArgs , IRES_VICP_ProtocolArgs , IRES_VICP2_ProtocolArgs , IRES_ProtocolArgs
  • MPFAR : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • MPFCR : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • MPFSR : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • MPPA : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • MPPAG : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • mvmem : IRES_VICP2_Buffers


Framework Components Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- n -

  • numDmaChannels : IRES_EDMA3CHAN_Properties
  • numElements : ECPY_Params
  • numEvtQueue : IRES_EDMA3CHAN_Properties
  • numFrames : ECPY_Params
  • numMemBufs : IRES_VICP2_Obj
  • numMemoryRequests : IRES_VICP2_ProtocolArgs
  • numPaRams : IRES_EDMA3CHAN_ProtocolArgs
  • numPaRAMSets : IRES_EDMA3CHAN_Properties
  • numQdmaChannels : IRES_EDMA3CHAN_Properties
  • numRegions : IRES_EDMA3CHAN_Properties
  • numRegistries : RMAN_Params
  • numResourceDescriptors : IRES_Fxns
  • numResources : IRESMAN_TiledmemoryParams , IRESMAN_HdVicpParams
  • numTccs : IRES_EDMA3CHAN_Properties , IRES_EDMA3CHAN_ProtocolArgs
  • numTcs : IRES_EDMA3CHAN_Properties


Framework Components Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- o -

  • opt : IRES_EDMA3CHAN_PaRamStruct


Framework Components Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- b -

  • babyImxCmdBuf_base : IRES_VICP2_Buffers
  • babyImxOrigBuf_base : IRES_VICP2_Buffers
  • babyImxRefBuf_base : IRES_VICP2_Buffers
  • base : IALG_MemRec , IRES_HDVICP_ProtocolArgs , IRES_HDVICP2_ProtocolArgs , IRES_TILEDMEMORY_ProtocolArgs
  • baseConfig : IRESMAN_VicpParams , IRESMAN_Edma3ChanParams , IRESMAN_TiledmemoryParams , IRESMAN_HdVicpParams
  • bcnt : IRES_EDMA3CHAN_PaRamStruct
  • bCntrld : IRES_EDMA3CHAN_PaRamStruct
  • buffers : IRES_VICP2_Properties


Framework Components Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- c -

  • CCCFG : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • CCERR : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • CCERRCLR : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • ccnt : IRES_EDMA3CHAN_PaRamStruct
  • CCSTAT : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • CER : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • CERH : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • configBaseAddress : IRES_VICP2_Obj
  • configure : IRES_HDVICP2_Obj
  • constructHandle : IRESMAN_ConstructFxns
  • contextArgs : IRES_YieldContext
  • contextRestore : IRES_YieldContext
  • contextSave : IRES_YieldContext
  • contiguousAllocation : IRES_EDMA3CHAN_ProtocolArgs


Framework Components Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- d -

  • DCHMAP : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • deactivateAllResources : IRES_Fxns
  • deactivateResource : IRESMAN_Fxns , IRES_Fxns
  • deinitResources : IRES_Fxns
  • destructHandle : IRESMAN_ConstructFxns
  • dmaChPaRAMMapExists : IRES_EDMA3CHAN_Properties
  • DMAQNUM : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • dmaViewConfigBaseAddr : IRES_VICP2_Obj
  • done : IRES_HDVICP2_Obj
  • DRA : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • DRAE : IRES_EDMA3CHAN_EDMA3DraeRegister
  • DRAEH : IRES_EDMA3CHAN_EDMA3DraeRegister
  • dst : IRES_EDMA3CHAN_PaRamStruct
  • dstAddr : ECPY_Params
  • dstElementIndex : IRES_EDMA3CHAN_PaRamStruct , ECPY_Params
  • dstFrameIndex : ECPY_Params , IRES_EDMA3CHAN_PaRamStruct


Framework Components Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- e -

  • ECR : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • ECRH : IRES_EDMA3CHAN_EDMA3RegisterLayer , IRES_EDMA3CHAN_EDMA3ShadowRegister
  • edmaChan : IRES_EDMA3CHAN_ProtocolArgs
  • EECR : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • EECRH : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • EER : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • EERH : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • EESR : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • EESRH : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • EEVAL : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • elementSize : ECPY_Params
  • EMCR : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • EMCRH : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • EMR : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • EMRH : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • ER : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • ERH : IRES_EDMA3CHAN_EDMA3RegisterLayer , IRES_EDMA3CHAN_EDMA3ShadowRegister
  • ESR : IRES_EDMA3CHAN_EDMA3RegisterLayer , IRES_EDMA3CHAN_EDMA3ShadowRegister
  • esrBitMaskH : IRES_EDMA3CHAN_Obj , IRES_EDMA3CHAN2_Obj
  • esrBitMaskL : IRES_EDMA3CHAN_Obj , IRES_EDMA3CHAN2_Obj
  • ESRH : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • exit : IRESMAN_Fxns


Framework Components Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- f -

  • freeFxn : ECPY_CfgParams , IRESMAN_Params , RMAN_Params
  • freeHandle : IRESMAN_Fxns
  • fxns : IALG_Obj


Framework Components Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- g -

  • getHandle : IRESMAN_Fxns
  • getMemRecs : IRESMAN_ConstructFxns
  • getName : IRESMAN_ConstructFxns
  • getNumMemRecs : IRESMAN_ConstructFxns
  • getProtocolName : IRESMAN_Fxns
  • getProtocolRevision : IRESMAN_Fxns
  • getResourceDescriptors : IRES_Fxns
  • getRevision : IRESMAN_ConstructFxns
  • getScratchIdFxn : ECPY_CfgParams
  • getStaticProperties : IRES_Obj
  • globalRegs : IRES_HDVICP_Properties , IRES_VICP_Properties , IRES_EDMA3CHAN_Properties , IRES_HDVICP2_Properties


Framework Components Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- h -

  • handle : IRES_ResourceDescriptor
  • huffmem : IRES_VICP2_Buffers


Framework Components Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- i -

  • ICR : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • ICRH : IRES_EDMA3CHAN_EDMA3RegisterLayer , IRES_EDMA3CHAN_EDMA3ShadowRegister
  • id : IRES_HDVICP2_Obj , IRES_HDVICP_ProtocolArgs , IRES_HDVICP_Obj , IRES_HDVICP2_ProtocolArgs
  • IECR : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • IECRH : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • IER : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • IERH : IRES_EDMA3CHAN_EDMA3RegisterLayer , IRES_EDMA3CHAN_EDMA3ShadowRegister
  • IESR : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • IESRH : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • IEVAL : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • imgBuf_base : IRES_VICP_Registers
  • imgBuf_length : IRES_VICP_Registers
  • imgBufA_base : IRES_VICP_Registers , IRES_VICP2_Buffers
  • imgBufA_length : IRES_VICP_Registers
  • imgBufB_base : IRES_VICP_Registers , IRES_VICP2_Buffers
  • imgBufB_length : IRES_VICP_Registers
  • imgBufC_base : IRES_VICP2_Buffers
  • imgBufD_base : IRES_VICP2_Buffers
  • imgBufE_base : IRES_VICP2_Buffers
  • implementationId : IALG_Fxns , IRES_Fxns
  • imx0CmdBuf_base : IRES_VICP2_Buffers
  • imx0CoeffBuff_base : IRES_VICP2_Buffers
  • imx1CmdBuf_base : IRES_VICP2_Buffers
  • imx1CoeffBuff_base : IRES_VICP2_Buffers
  • imxCmdBuf_base : IRES_VICP_Registers
  • imxCmdBuf_length : IRES_VICP_Registers
  • imxCoeffBuff_base : IRES_VICP_Registers
  • imxCoeffBuff_length : IRES_VICP_Registers
  • info : IRES_HDVICP2_Obj , IRES_TILEDMEMORY_Obj , IRES_HDVICP_Obj , IRESMAN_HdVicpParams , IRESMAN_TiledmemoryParams
  • init : IRESMAN_Fxns
  • initResources : IRES_Fxns
  • IPR : IRES_EDMA3CHAN_EDMA3RegisterLayer , IRES_EDMA3CHAN_EDMA3ShadowRegister
  • iprBitMaskH : IRES_EDMA3CHAN2_Obj , IRES_EDMA3CHAN_Obj
  • iprBitMaskL : IRES_EDMA3CHAN2_Obj , IRES_EDMA3CHAN_Obj
  • IPRH : IRES_EDMA3CHAN_EDMA3RegisterLayer , IRES_EDMA3CHAN_EDMA3ShadowRegister
  • ires : IRES_VICP_Obj , IRES_EDMA3CHAN_Obj , IRES_VICP2_Obj , IRES_TILEDMEMORY_Obj , IRES_HDVICP_Obj , IRES_EDMA3CHAN2_Obj , IRES_HDVICP2_Obj
  • isTiledMemory : IRES_TILEDMEMORY_Obj


Framework Components Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- p -

  • PARAMENTRY : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • paRamIndex : IRES_EDMA3CHAN_ProtocolArgs
  • persistent : IRES_Obj
  • predmem_base : IRES_VICP2_Buffers
  • protocolArgs : IRES_ResourceDescriptor
  • pscRegisterSpace : IRES_HDVICP_Obj , IRES_VICP2_Obj


Framework Components Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- q -

  • QCHMAP : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • qdmaChan : IRES_EDMA3CHAN_ProtocolArgs
  • QDMAQNUM : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • QEECR : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • QEER : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • QEESR : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • QEMCR : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • QEMR : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • QER : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • qiqBuf_base : IRES_VICP_Registers
  • qiqBuf_length : IRES_VICP_Registers
  • qiqmem_base : IRES_VICP2_Buffers
  • QRAE : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • QSECR : IRES_EDMA3CHAN_EDMA3RegisterLayer , IRES_EDMA3CHAN_EDMA3ShadowRegister
  • QSER : IRES_EDMA3CHAN_EDMA3RegisterLayer , IRES_EDMA3CHAN_EDMA3ShadowRegister
  • QSTAT : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • QUEEVTENTRY : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • QUEPRI : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • QUETCMAP : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • queueMap : IRES_EDMA3CHAN2_Obj
  • QWMTHRA : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • QWMTHRB : IRES_EDMA3CHAN_EDMA3RegisterLayer


Framework Components Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- r -

  • Radius : IRES_ProtocolRevision
  • reacquireIfOwner : IRES_HDVICP2_Obj
  • registerBaseAddress : IRES_HDVICP2_Obj , IRES_HDVICP_Obj
  • reinitResources : IRES_Fxns
  • release : IRES_HDVICP2_Obj
  • requestIMCOPBuffers : IRES_VICP2_ProtocolArgs
  • requestIMX : IRES_VICP_ProtocolArgs
  • requestIMX0 : IRES_VICP2_ProtocolArgs
  • requestIMX1 : IRES_VICP2_ProtocolArgs
  • requestMJCP : IRES_VICP2_ProtocolArgs
  • requestNSF : IRES_VICP2_ProtocolArgs
  • requestSEQ : IRES_VICP_ProtocolArgs
  • requestVLCD : IRES_VICP_ProtocolArgs
  • reset : IRES_HDVICP2_Obj
  • resetControlAddress : IRES_HDVICP2_Obj
  • resourceHandle : IRES_YieldContext
  • resourceName : IRES_ResourceDescriptor
  • REV : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • revision : IRES_ResourceDescriptor
  • rsvd : IRES_EDMA3CHAN_PaRamStruct
  • RSVD0 : IRES_EDMA3CHAN_EDMA3RegisterLayer , IRES_EDMA3CHAN_EDMA3ShadowRegister
  • RSVD1 : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • RSVD10 : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • RSVD11 : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • RSVD12 : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • RSVD13 : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • RSVD2 : IRES_EDMA3CHAN_EDMA3RegisterLayer , IRES_EDMA3CHAN_EDMA3ShadowRegister
  • RSVD3 : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • RSVD4 : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • RSVD5 : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • RSVD6 : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • RSVD7 : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • RSVD8 : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • RSVD9 : IRES_EDMA3CHAN_EDMA3RegisterLayer


Framework Components Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- s -

  • scratchAllocFxn : ECPY_CfgParams
  • scratchFreeFxn : ECPY_CfgParams
  • SECR : IRES_EDMA3CHAN_EDMA3RegisterLayer , IRES_EDMA3CHAN_EDMA3ShadowRegister
  • SECRH : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • seqBuf1 : IRES_VICP2_Buffers
  • seqBuf2 : IRES_VICP2_Buffers
  • seqBuf3 : IRES_VICP2_Buffers
  • seqBuf4 : IRES_VICP2_Buffers
  • seqDataMem_base : IRES_VICP_Registers
  • seqDataMem_length : IRES_VICP_Registers
  • seqProgMem_base : IRES_VICP_Registers
  • seqProgMem_length : IRES_VICP_Registers
  • sequencerDmem : IRES_VICP2_Buffers
  • sequencerPmem_base : IRES_VICP2_Buffers
  • SER : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • SERH : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • SHADOW : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • shadowPaRams : IRES_EDMA3CHAN_Obj , IRES_EDMA3CHAN2_Obj
  • shadowPaRamsAllocation : IRES_EDMA3CHAN_ProtocolArgs
  • size : IRES_VICP_ProtocolArgs , IRES_HDVICP_RegisterLayer , IRES_HDVICP_Properties , IRES_Properties , IRES_HDVICP2_RegisterLayer , IRES_HDVICP2_Properties , IRESMAN_ConstructArgs , IRES_TILEDMEMORY_RegisterLayer , IRES_VICP_Properties , IRESMAN_Params , IRES_TILEDMEMORY_Properties , IRES_VICP_Registers , IRES_VICP2_ProtocolArgs , IRES_VICP2_Properties , IALG_MemRec , IALG_Params , IALG_Status , IRES_EDMA3CHAN_ProtocolArgs , IRES_VICP2_Buffers , IRES_ProtocolArgs
  • sizeDim0 : IRES_TILEDMEMORY_ProtocolArgs
  • sizeDim1 : IRES_TILEDMEMORY_ProtocolArgs
  • Source : IRES_ProtocolRevision
  • space : IALG_MemRec
  • src : IRES_EDMA3CHAN_PaRamStruct
  • srcAddr : ECPY_Params
  • srcElementIndex : IRES_EDMA3CHAN_PaRamStruct , ECPY_Params
  • srcFrameIndex : IRES_EDMA3CHAN_PaRamStruct , ECPY_Params
  • systemSpaceBaseAddress : IRES_TILEDMEMORY_Obj


Framework Components Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- t -

  • tccIndex : IRES_EDMA3CHAN_ProtocolArgs
  • tilerBaseAddress : IRES_TILEDMEMORY_Obj
  • transferType : ECPY_Params


Framework Components Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- v -

  • vicp_cfg_base : IRES_VICP_Registers , IRES_VICP2_Buffers
  • vicp_umap1_base : IRES_VICP_Registers
  • vlcdBuf_base : IRES_VICP_Registers
  • vlcdBuf_length : IRES_VICP_Registers
  • vlcdDataBuf_base : IRES_VICP_Registers
  • vlcdDataBuf_length : IRES_VICP_Registers


Framework Components Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- w -

  • wait : IRES_HDVICP2_Obj


Framework Components Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- y -

  • yieldFxn : RMAN_Params
  • yieldSamePriority : RMAN_Params


Framework Components Application Programming Interface (API): Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • d
  • e
  • h
  • i
  • m
  • o
  • r
  • s
  • t
  • v
  • x
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- m -

  • MEMUTILS_cacheInv() : memutils.h
  • MEMUTILS_cacheWb() : memutils.h
  • MEMUTILS_cacheWbInv() : memutils.h
  • MEMUTILS_getPhysicalAddr() : memutils.h
  • MEMUTILS_MODNAME : memutils.h


Framework Components Application Programming Interface (API): Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • d
  • e
  • h
  • i
  • m
  • o
  • r
  • s
  • t
  • v
  • x
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- o -

  • OTHER0 : ires_edma3Chan.h
  • OTHER1 : ires_edma3Chan.h


Framework Components Application Programming Interface (API): Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • d
  • e
  • h
  • i
  • m
  • o
  • r
  • s
  • t
  • v
  • x
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- d -

  • DIFFERENTCODEC : ires_hdvicp2.h
  • DSKT2_activateAlg() : dskt2.h
  • DSKT2_allocPersistent() : dskt2.h
  • DSKT2_allocScratch() : dskt2.h
  • DSKT2_cacheWBInvFxn : dskt2.h
  • DSKT2_CacheWBInvFxn : dskt2.h
  • DSKT2_controlAlg() : dskt2.h
  • DSKT2_createAlg() : dskt2.h
  • DSKT2_createAlg2() : dskt2.h
  • DSKT2_createAlgExt() : dskt2.h
  • DSKT2_daram0Heap : dskt2.h
  • DSKT2_daram1Heap : dskt2.h
  • DSKT2_daram2Heap : dskt2.h
  • DSKT2_deactivateAlg() : dskt2.h
  • DSKT2_deactivateAll() : dskt2.h
  • DSKT2_eprogHeap : dskt2.h
  • DSKT2_esdataHeap : dskt2.h
  • DSKT2_freeAlg() : dskt2.h
  • DSKT2_freePersistent() : dskt2.h
  • DSKT2_freeScratch() : dskt2.h
  • DSKT2_getScratchId() : dskt2.h
  • DSKT2_iprogHeap : dskt2.h
  • DSKT2_MAX_MEM_ALLOCATION_SIZE : dskt2.h
  • DSKT2_MODNAME : dskt2.h
  • DSKT2_NUM_SCRATCH_GROUPS : dskt2.h
  • DSKT2_NUM_SHAREDHEAPS : dskt2.h
  • DSKT2_QOS_ALL_SCRATCHGROUPS : dskt2_qos.h
  • DSKT2_QOS_getStat() : dskt2_qos.h
  • DSKT2_QOS_SHARED_SCRATCH_ALLHEAPS : dskt2_qos.h
  • DSKT2_QOS_SHARED_SCRATCH_DARAM : dskt2_qos.h
  • DSKT2_QOS_SHARED_SCRATCH_SARAM : dskt2_qos.h
  • DSKT2_QOS_TI_GetSharedScratchMsgArg2 : dskt2_qos.h
  • DSKT2_QOS_TI_MsgArg1Types : dskt2_qos.h
  • DSKT2_saram0Heap : dskt2.h
  • DSKT2_saram1Heap : dskt2.h
  • DSKT2_saram2Heap : dskt2.h


Framework Components Application Programming Interface (API): Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • d
  • e
  • h
  • i
  • m
  • o
  • r
  • s
  • t
  • v
  • x
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- e -

  • ECPY_1D1D : ecpy.h
  • ECPY_1D2D : ecpy.h
  • ECPY_2D1D : ecpy.h
  • ECPY_2D2D : ecpy.h
  • ECPY_activate() : ecpy.h
  • ECPY_CFG_PARAMS : ecpy.h
  • ECPY_CfgParams : ecpy.h
  • ECPY_configure() : ecpy.h
  • ECPY_configure16() : ecpy.h
  • ECPY_configure32() : ecpy.h
  • ECPY_createHandle() : ecpy.h
  • ECPY_deactivate() : ecpy.h
  • ECPY_deleteHandle() : ecpy.h
  • ECPY_directConfigure() : ecpy.h
  • ECPY_directConfigure16() : ecpy.h
  • ECPY_directConfigure32() : ecpy.h
  • ECPY_directSetFinal() : ecpy.h
  • ECPY_directStartEdma() : ecpy.h
  • ECPY_directStartQdma() : ecpy.h
  • ECPY_directWait() : ecpy.h
  • ECPY_exit() : ecpy.h
  • ECPY_getScratchIdFxn : ecpy.h
  • ECPY_GTNAME : ecpy.h
  • ECPY_Handle : ecpy.h
  • ECPY_init() : ecpy.h
  • ECPY_MODNAME : ecpy.h
  • ECPY_ParamField16b : ecpy.h
  • ECPY_ParamField32b : ecpy.h
  • ECPY_PARAMFIELD_DSTADDR : ecpy.h
  • ECPY_PARAMFIELD_ELEMENTINDEX_DST : ecpy.h
  • ECPY_PARAMFIELD_ELEMENTINDEX_SRC : ecpy.h
  • ECPY_PARAMFIELD_ELEMENTINDEXES : ecpy.h
  • ECPY_PARAMFIELD_ELEMENTSIZE : ecpy.h
  • ECPY_PARAMFIELD_FRAMEINDEX_DST : ecpy.h
  • ECPY_PARAMFIELD_FRAMEINDEX_SRC : ecpy.h
  • ECPY_PARAMFIELD_FRAMEINDEXES : ecpy.h
  • ECPY_PARAMFIELD_NUMELEMENTS : ecpy.h
  • ECPY_PARAMFIELD_NUMFRAMES : ecpy.h
  • ECPY_PARAMFIELD_SRCADDR : ecpy.h
  • ECPY_Params : ecpy.h
  • ECPY_PersistentAllocFxn : ecpy.h
  • ECPY_PersistentFreeFxn : ecpy.h
  • ECPY_ScratchAllocFxn : ecpy.h
  • ECPY_ScratchFreeFxn : ecpy.h
  • ECPY_setDestinationMemoryMode() : ecpy.h
  • ECPY_setEarlyCompletionMode() : ecpy.h
  • ECPY_setFinal() : ecpy.h
  • ECPY_start() : ecpy.h
  • ECPY_TransferType : ecpy.h
  • ECPY_wait() : ecpy.h
  • EDMA3CHAN_MODNAME : ires_edma3Chan.h
  • EXTMEMORY0 : ires_edma3Chan.h
  • EXTMEMORY1 : ires_edma3Chan.h
  • EXTMEMORY2 : ires_edma3Chan.h


Framework Components Application Programming Interface (API): Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • d
  • e
  • h
  • i
  • m
  • o
  • r
  • s
  • t
  • v
  • x
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- h -

  • HDVICP2_MODNAME : ires_hdvicp2.h
  • HDVICP_MODNAME : ires_hdvicp.h


Framework Components Application Programming Interface (API): Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • d
  • e
  • h
  • i
  • m
  • o
  • r
  • s
  • t
  • v
  • x
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- i -

  • IALG_Cmd : ialg.h
  • IALG_CUSTOMFAILBASE : ialg.h
  • IALG_CUSTOMFAILEND : ialg.h
  • IALG_DARAM0 : ialg.h
  • IALG_DARAM1 : ialg.h
  • IALG_DARAM2 : ialg.h
  • IALG_DEFMEMRECS : ialg.h
  • IALG_EFAIL : ialg.h
  • IALG_EOK : ialg.h
  • IALG_EPROG : ialg.h
  • IALG_ESDATA : ialg.h
  • IALG_EXTERNAL : ialg.h
  • IALG_Fxns : ialg.h
  • IALG_Handle : ialg.h
  • IALG_IPROG : ialg.h
  • IALG_isOffChip : ialg.h
  • IALG_isProg : ialg.h
  • IALG_MemAttrs : ialg.h
  • IALG_MemRec : ialg.h
  • IALG_MemSpace : ialg.h
  • IALG_MPROG : ialg.h
  • IALG_MXTRN : ialg.h
  • IALG_Obj : ialg.h
  • IALG_OBJMEMREC : ialg.h
  • IALG_Params : ialg.h
  • IALG_PERSIST : ialg.h
  • IALG_SARAM : ialg.h
  • IALG_SARAM0 : ialg.h
  • IALG_SARAM1 : ialg.h
  • IALG_SARAM2 : ialg.h
  • IALG_SCRATCH : ialg.h
  • IALG_Status : ialg.h
  • IALG_SYSCMD : ialg.h
  • IALG_WRITEONCE : ialg.h
  • IMCOP_BUFFER_BABYIMXCMDBUFFER : ires_vicp2.h
  • IMCOP_BUFFER_BABYIMXORIGBUFFER : ires_vicp2.h
  • IMCOP_BUFFER_BABYIMXREFBUFFER : ires_vicp2.h
  • IMCOP_BUFFER_HUFFMEM : ires_vicp2.h
  • IMCOP_BUFFER_IMGBUF_A : ires_vicp2.h
  • IMCOP_BUFFER_IMGBUF_B : ires_vicp2.h
  • IMCOP_BUFFER_IMGBUF_C : ires_vicp2.h
  • IMCOP_BUFFER_IMGBUF_D : ires_vicp2.h
  • IMCOP_BUFFER_IMGBUF_E : ires_vicp2.h
  • IMCOP_BUFFER_IMX0CMDBUF : ires_vicp2.h
  • IMCOP_BUFFER_IMX0COEFFBUF : ires_vicp2.h
  • IMCOP_BUFFER_IMX1CMDBUF : ires_vicp2.h
  • IMCOP_BUFFER_IMX1COEFFBUF : ires_vicp2.h
  • IMCOP_BUFFER_QIQMEM : ires_vicp2.h
  • IMCOP_BUFFER_SEQBUF4 : ires_vicp2.h
  • IMCOP_BUFFER_SEQUENCERPMEM : ires_vicp2.h
  • INTMEMORY0 : ires_edma3Chan.h
  • INTMEMORY1 : ires_edma3Chan.h
  • INTMEMORY2 : ires_edma3Chan.h
  • IRES_ALL : ires.h
  • IRES_ContextRestoreFxn : ires.h
  • IRES_ContextSaveFxn : ires.h
  • IRES_EALG : ires_common.h
  • IRES_EDMA3CHAN2_Handle : ires_edma3Chan.h
  • IRES_EDMA3CHAN2_Obj : ires_edma3Chan.h
  • IRES_EDMA3CHAN_CHAN_NONE : ires_edma3Chan.h
  • IRES_EDMA3CHAN_DmaDestType : ires_edma3Chan.h
  • IRES_EDMA3CHAN_EDMA3DraeRegister : ires_edma3Chan.h
  • IRES_EDMA3CHAN_EDMA3RegisterLayer : ires_edma3Chan.h
  • IRES_EDMA3CHAN_EDMA3ShadowRegister : ires_edma3Chan.h
  • IRES_EDMA3CHAN_EDMACHAN_ANY : ires_edma3Chan.h
  • IRES_EDMA3CHAN_Handle : ires_edma3Chan.h
  • IRES_EDMA3CHAN_MAXPARAMS : ires_edma3Chan.h
  • IRES_EDMA3CHAN_MAXTCCS : ires_edma3Chan.h
  • IRES_EDMA3CHAN_NUMDESTTYPES : ires_edma3Chan.h
  • IRES_EDMA3CHAN_Obj : ires_edma3Chan.h
  • IRES_EDMA3CHAN_PARAM_ANY : ires_edma3Chan.h
  • IRES_EDMA3CHAN_PARAM_NONE : ires_edma3Chan.h
  • IRES_EDMA3CHAN_PaRamStruct : ires_edma3Chan.h
  • IRES_EDMA3CHAN_Properties : ires_edma3Chan.h
  • IRES_EDMA3CHAN_ProtocolArgs : ires_edma3Chan.h
  • IRES_EDMA3CHAN_PROTOCOLNAME : ires_edma3Chan.h
  • IRES_EDMA3CHAN_PROTOCOLREVISION_1_0_0 : ires_edma3Chan.h
  • IRES_EDMA3CHAN_PROTOCOLREVISION_2_0_0 : ires_edma3Chan.h
  • IRES_EDMA3CHAN_QDMACHAN_ANY : ires_edma3Chan.h
  • IRES_EDMA3CHAN_SETPROTOCOLREVISION_1_0_0 : ires_edma3Chan.h
  • IRES_EDMA3CHAN_SETPROTOCOLREVISION_2_0_0 : ires_edma3Chan.h
  • IRES_EDMA3CHAN_TCC_ANY : ires_edma3Chan.h
  • IRES_EDMA3CHAN_TCC_NONE : ires_edma3Chan.h
  • IRES_EEXISTS : ires_common.h
  • IRES_EFAIL : ires_common.h
  • IRES_EINIT : ires_common.h
  • IRES_ENOINIT : ires_common.h
  • IRES_ENOMEM : ires_common.h
  • IRES_ENORESOURCE : ires_common.h
  • IRES_ENOTFOUND : ires_common.h
  • IRES_Fxns : ires.h
  • IRES_Handle : ires_common.h
  • IRES_HDVICP2_CallbackFxn : ires_hdvicp2.h
  • IRES_HDVICP2_Handle : ires_hdvicp2.h
  • IRES_HDVICP2_ID_ANY : ires_hdvicp2.h
  • IRES_HDVICP2_ID_LATE_ACQUIRE : ires_hdvicp2.h
  • IRES_HDVICP2_INVALID_ADDR : ires_hdvicp2.h
  • IRES_HDVICP2_Obj : ires_hdvicp2.h
  • IRES_HDVICP2_Properties : ires_hdvicp2.h
  • IRES_HDVICP2_ProtocolArgs : ires_hdvicp2.h
  • IRES_HDVICP2_PROTOCOLNAME : ires_hdvicp2.h
  • IRES_HDVICP2_RegisterLayer : ires_hdvicp2.h
  • IRES_HDVICP2_Status : ires_hdvicp2.h
  • IRES_HDVICP2_TIMEOUTFOREVER : ires_hdvicp2.h
  • IRES_HDVICP2_UNKNOWNLATEACQUIREARG : ires_hdvicp2.h
  • IRES_HDVICP_Handle : ires_hdvicp.h
  • IRES_HDVICP_ID_0 : ires_hdvicp.h
  • IRES_HDVICP_ID_1 : ires_hdvicp.h
  • IRES_HDVICP_ID_ANY : ires_hdvicp.h
  • IRES_HDVICP_MAXRESOURCES : iresman_hdvicp.h
  • IRES_HDVICP_Obj : ires_hdvicp.h
  • IRES_HDVICP_Properties : ires_hdvicp.h
  • IRES_HDVICP_ProtocolArgs : ires_hdvicp.h
  • IRES_HDVICP_PROTOCOLNAME : ires_hdvicp.h
  • IRES_HDVICP_RegisterLayer : ires_hdvicp.h
  • IRES_HDVICP_RequestType : ires_hdvicp.h
  • IRES_LATEACQUIRE : ires_common.h
  • IRES_Obj : ires_common.h
  • IRES_OK : ires_common.h
  • IRES_PERSISTENT : ires_common.h
  • IRES_Properties : ires_common.h
  • IRES_ProtocolArgs : ires_common.h
  • IRES_ProtocolRevision : ires_common.h
  • IRES_RequestMode : ires_common.h
  • IRES_ResourceDescriptor : ires_common.h
  • IRES_RESOURCEHANDLE : ires.h
  • IRES_SCRATCH : ires_common.h
  • IRES_SCRATCHDMA : ires.h
  • IRES_SCRATCHMEMORY : ires.h
  • IRES_Status : ires_common.h
  • IRES_TILEDMEMORY_16BIT : ires_tiledmemory.h
  • IRES_TILEDMEMORY_1D : ires_tiledmemory.h
  • IRES_TILEDMEMORY_2D : ires_tiledmemory.h
  • IRES_TILEDMEMORY_32BIT : ires_tiledmemory.h
  • IRES_TILEDMEMORY_8BIT : ires_tiledmemory.h
  • IRES_TILEDMEMORY_AccessDimension : ires_tiledmemory.h
  • IRES_TILEDMEMORY_AccessUnit : ires_tiledmemory.h
  • IRES_TILEDMEMORY_Handle : ires_tiledmemory.h
  • IRES_TILEDMEMORY_MAXRESOURCES : iresman_tiledmemory.h
  • IRES_TILEDMEMORY_Obj : ires_tiledmemory.h
  • IRES_TILEDMEMORY_PAGE : ires_tiledmemory.h
  • IRES_TILEDMEMORY_Properties : ires_tiledmemory.h
  • IRES_TILEDMEMORY_ProtocolArgs : ires_tiledmemory.h
  • IRES_TILEDMEMORY_PROTOCOLNAME : ires_tiledmemory.h
  • IRES_TILEDMEMORY_RAW : ires_tiledmemory.h
  • IRES_TILEDMEMORY_RegisterLayer : ires_tiledmemory.h
  • IRES_VICP2_BADRESOURCE : ires_vicp2.h
  • IRES_VICP2_Buffers : ires_vicp2.h
  • IRES_VICP2_Handle : ires_vicp2.h
  • IRES_VICP2_MAXRESOURCES : ires_vicp2.h
  • IRES_VICP2_NUMBUFFERS : ires_vicp2.h
  • IRES_VICP2_Obj : ires_vicp2.h
  • IRES_VICP2_Properties : ires_vicp2.h
  • IRES_VICP2_ProtocolArgs : ires_vicp2.h
  • IRES_VICP2_PROTOCOLNAME : ires_vicp2.h
  • IRES_VICP_Handle : ires_vicp.h
  • IRES_VICP_MAXRESOURCES : ires_vicp.h
  • IRES_VICP_Obj : ires_vicp.h
  • IRES_VICP_Properties : ires_vicp.h
  • IRES_VICP_ProtocolArgs : ires_vicp.h
  • IRES_VICP_PROTOCOLNAME : ires_vicp.h
  • IRES_VICP_Registers : ires_vicp.h
  • IRES_YieldArgs : ires.h
  • IRES_YieldContext : ires.h
  • IRES_YieldContextHandle : ires.h
  • IRES_YieldFxn : ires.h
  • IRES_YieldResourceType : ires.h
  • IRESMAN_ConstructArgs : iresman_protocol.h
  • IRESMAN_ConstructFxns : iresman_protocol.h
  • IRESMAN_EDMA3CHAN : iresman_edma3Chan.h
  • IRESMAN_EDMA3CHAN_exit() : iresman_edma3Chan.h
  • IRESMAN_EDMA3CHAN_freeHandle() : iresman_edma3Chan.h
  • IRESMAN_EDMA3CHAN_getHandles() : iresman_edma3Chan.h
  • IRESMAN_EDMA3CHAN_getProtocolName() : iresman_edma3Chan.h
  • IRESMAN_EDMA3CHAN_getProtocolRevision() : iresman_edma3Chan.h
  • IRESMAN_EDMA3CHAN_init() : iresman_edma3Chan.h
  • IRESMAN_Edma3ChanParams : iresman_edma3Chan.h
  • IRESMAN_Fxns : iresman.h
  • IRESMAN_HDVICP : iresman_hdvicp.h
  • IRESMAN_HDVICP_exit() : iresman_hdvicp.h
  • IRESMAN_HDVICP_freeHandles() : iresman_hdvicp.h
  • IRESMAN_HDVICP_getHandles() : iresman_hdvicp.h
  • IRESMAN_HDVICP_getProtocolName() : iresman_hdvicp.h
  • IRESMAN_HDVICP_getProtocolRevision() : iresman_hdvicp.h
  • IRESMAN_HDVICP_init() : iresman_hdvicp.h
  • IRESMAN_HdVicpParams : iresman_hdvicp.h
  • IRESMAN_Params : iresman.h
  • IRESMAN_PersistentAllocFxn : iresman.h
  • IRESMAN_PersistentFreeFxn : iresman.h
  • IRESMAN_TILEDMEMORY : iresman_tiledmemory.h
  • IRESMAN_TILEDMEMORY_exit() : iresman_tiledmemory.h
  • IRESMAN_TILEDMEMORY_freeHandles() : iresman_tiledmemory.h
  • IRESMAN_TILEDMEMORY_getHandles() : iresman_tiledmemory.h
  • IRESMAN_TILEDMEMORY_getProtocolName() : iresman_tiledmemory.h
  • IRESMAN_TILEDMEMORY_getProtocolRevision() : iresman_tiledmemory.h
  • IRESMAN_TILEDMEMORY_init() : iresman_tiledmemory.h
  • IRESMAN_TiledmemoryParams : iresman_tiledmemory.h
  • IRESMAN_VICP : iresman_vicp.h
  • IRESMAN_VICP2 : iresman_vicp2.h
  • IRESMAN_VICP2_exit() : iresman_vicp2.h
  • IRESMAN_VICP2_freeHandles() : iresman_vicp2.h
  • IRESMAN_VICP2_getHandles() : iresman_vicp2.h
  • IRESMAN_VICP2_getProtocolName() : iresman_vicp2.h
  • IRESMAN_VICP2_getProtocolRevision() : iresman_vicp2.h
  • IRESMAN_VICP2_init() : iresman_vicp2.h
  • IRESMAN_VICP_exit() : iresman_vicp.h
  • IRESMAN_VICP_freeHandles() : iresman_vicp.h
  • IRESMAN_VICP_getHandles() : iresman_vicp.h
  • IRESMAN_VICP_getProtocolName() : iresman_vicp.h
  • IRESMAN_VICP_getProtocolRevision() : iresman_vicp.h
  • IRESMAN_VICP_init() : iresman_vicp.h
  • IRESMAN_VicpParams : iresman_vicp.h , iresman_vicp2.h


Framework Components Application Programming Interface (API): Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • d
  • e
  • h
  • i
  • m
  • o
  • r
  • s
  • t
  • v
  • x
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- r -

  • RMAN_activateAllResources() : rman.h
  • RMAN_activateResource() : rman.h
  • RMAN_allocateResources() : rman.h
  • RMAN_assignResources() : rman.h
  • RMAN_deactivateAllResources() : rman.h
  • RMAN_deactivateResource() : rman.h
  • RMAN_exit() : rman.h
  • RMAN_FREE_ENTRIES : rman.h
  • RMAN_freeAllocatedResources() : rman.h
  • RMAN_freeResources() : rman.h
  • RMAN_GTNAME : rman.h
  • RMAN_init() : rman.h
  • RMAN_iresVTable : rman.h
  • RMAN_MODNAME : rman.h
  • RMAN_numRegistryEntries : rman.h
  • RMAN_PARAMS : rman.h
  • RMAN_Params : rman.h
  • RMAN_PROTOCOLNAMESIZE : rman.h
  • RMAN_register() : rman.h
  • RMAN_registryEntries : rman.h
  • RMAN_registryResmanArgs : rman.h
  • RMAN_SemHandle : rman.h
  • RMAN_TABLE : rman.h
  • RMAN_unregister() : rman.h
  • RMAN_yield() : rman.h


Framework Components Application Programming Interface (API): Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • d
  • e
  • h
  • i
  • m
  • o
  • r
  • s
  • t
  • v
  • x
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- s -

  • SAMECODEC : ires_hdvicp2.h
  • SAMECODECTYPE : ires_hdvicp2.h


Framework Components Application Programming Interface (API): Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • d
  • e
  • h
  • i
  • m
  • o
  • r
  • s
  • t
  • v
  • x
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- t -

  • ti_sdo_fc_dskt2_DSKT2_disableLazyDeactivate : dskt2.h
  • ti_sdo_fc_ires_hdvicp_HDVICP2_FreeHdvicp2Fxn : ires_hdvicp2.h
  • ti_sdo_fc_ires_hdvicp_HDVICP2_GetHdvicp2Fxn : ires_hdvicp2.h
  • ti_sdo_fc_ires_hdvicp_HDVICP2_GetYieldArgsFxn : ires_hdvicp2.h
  • ti_sdo_fc_ires_hdvicp_HDVICP2_timeoutVal : ires_hdvicp2.h
  • ti_sdo_fc_ires_hdvicp_HDVICP2_YieldFxn : ires_hdvicp2.h
  • ti_sdo_fc_ires_NOPROTOCOLREV : rman.h , ecpy.h
  • ti_sdo_fc_rman_RMAN_ipcKey : rman.h
  • ti_sdo_fc_rman_RMAN_MAXALGS : rman.h
  • ti_sdo_fc_rman_RMAN_setYieldArgs : rman.h
  • ti_sdo_fc_rman_RMAN_YieldArgsFxn : rman.h
  • TILEDMEMORY_MODNAME : ires_tiledmemory.h


Framework Components Application Programming Interface (API): Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • d
  • e
  • h
  • i
  • m
  • o
  • r
  • s
  • t
  • v
  • x
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- v -

  • VICP2_MODNAME : ires_vicp2.h
  • VICP_MODNAME : ires_vicp.h


Framework Components Application Programming Interface (API): Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • d
  • e
  • h
  • i
  • m
  • o
  • r
  • s
  • t
  • v
  • x
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- x -

  • XDAS_Bool : xdas.h
  • XDAS_FALSE : xdas.h
  • XDAS_Int16 : xdas.h
  • XDAS_Int32 : xdas.h
  • XDAS_Int8 : xdas.h
  • XDAS_TRUE : xdas.h
  • XDAS_UInt16 : xdas.h
  • XDAS_UInt32 : xdas.h
  • XDAS_UInt8 : xdas.h
  • XDAS_Void : xdas.h


Framework Components Application Programming Interface (API): Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • d
  • e
  • h
  • i
  • m
  • r
  • t
  • v
  • x

- d -

  • DSKT2_MAX_MEM_ALLOCATION_SIZE : dskt2.h
  • DSKT2_MODNAME : dskt2.h
  • DSKT2_NUM_SCRATCH_GROUPS : dskt2.h
  • DSKT2_NUM_SHAREDHEAPS : dskt2.h

- e -

  • ECPY_GTNAME : ecpy.h
  • ECPY_MODNAME : ecpy.h
  • EDMA3CHAN_MODNAME : ires_edma3Chan.h

- h -

  • HDVICP2_MODNAME : ires_hdvicp2.h
  • HDVICP_MODNAME : ires_hdvicp.h

- i -

  • IALG_CUSTOMFAILBASE : ialg.h
  • IALG_CUSTOMFAILEND : ialg.h
  • IALG_DEFMEMRECS : ialg.h
  • IALG_EFAIL : ialg.h
  • IALG_EOK : ialg.h
  • IALG_isOffChip : ialg.h
  • IALG_isProg : ialg.h
  • IALG_MPROG : ialg.h
  • IALG_MXTRN : ialg.h
  • IALG_OBJMEMREC : ialg.h
  • IALG_SYSCMD : ialg.h
  • IMCOP_BUFFER_BABYIMXCMDBUFFER : ires_vicp2.h
  • IMCOP_BUFFER_BABYIMXORIGBUFFER : ires_vicp2.h
  • IMCOP_BUFFER_BABYIMXREFBUFFER : ires_vicp2.h
  • IMCOP_BUFFER_HUFFMEM : ires_vicp2.h
  • IMCOP_BUFFER_IMGBUF_A : ires_vicp2.h
  • IMCOP_BUFFER_IMGBUF_B : ires_vicp2.h
  • IMCOP_BUFFER_IMGBUF_C : ires_vicp2.h
  • IMCOP_BUFFER_IMGBUF_D : ires_vicp2.h
  • IMCOP_BUFFER_IMGBUF_E : ires_vicp2.h
  • IMCOP_BUFFER_IMX0CMDBUF : ires_vicp2.h
  • IMCOP_BUFFER_IMX0COEFFBUF : ires_vicp2.h
  • IMCOP_BUFFER_IMX1CMDBUF : ires_vicp2.h
  • IMCOP_BUFFER_IMX1COEFFBUF : ires_vicp2.h
  • IMCOP_BUFFER_QIQMEM : ires_vicp2.h
  • IMCOP_BUFFER_SEQBUF4 : ires_vicp2.h
  • IMCOP_BUFFER_SEQUENCERPMEM : ires_vicp2.h
  • IRES_EDMA3CHAN_CHAN_NONE : ires_edma3Chan.h
  • IRES_EDMA3CHAN_EDMACHAN_ANY : ires_edma3Chan.h
  • IRES_EDMA3CHAN_MAXPARAMS : ires_edma3Chan.h
  • IRES_EDMA3CHAN_MAXTCCS : ires_edma3Chan.h
  • IRES_EDMA3CHAN_NUMDESTTYPES : ires_edma3Chan.h
  • IRES_EDMA3CHAN_PARAM_ANY : ires_edma3Chan.h
  • IRES_EDMA3CHAN_PARAM_NONE : ires_edma3Chan.h
  • IRES_EDMA3CHAN_PROTOCOLNAME : ires_edma3Chan.h
  • IRES_EDMA3CHAN_PROTOCOLREVISION_1_0_0 : ires_edma3Chan.h
  • IRES_EDMA3CHAN_PROTOCOLREVISION_2_0_0 : ires_edma3Chan.h
  • IRES_EDMA3CHAN_QDMACHAN_ANY : ires_edma3Chan.h
  • IRES_EDMA3CHAN_SETPROTOCOLREVISION_1_0_0 : ires_edma3Chan.h
  • IRES_EDMA3CHAN_SETPROTOCOLREVISION_2_0_0 : ires_edma3Chan.h
  • IRES_EDMA3CHAN_TCC_ANY : ires_edma3Chan.h
  • IRES_EDMA3CHAN_TCC_NONE : ires_edma3Chan.h
  • IRES_HDVICP2_ID_ANY : ires_hdvicp2.h
  • IRES_HDVICP2_ID_LATE_ACQUIRE : ires_hdvicp2.h
  • IRES_HDVICP2_INVALID_ADDR : ires_hdvicp2.h
  • IRES_HDVICP2_PROTOCOLNAME : ires_hdvicp2.h
  • IRES_HDVICP2_TIMEOUTFOREVER : ires_hdvicp2.h
  • IRES_HDVICP2_UNKNOWNLATEACQUIREARG : ires_hdvicp2.h
  • IRES_HDVICP_MAXRESOURCES : iresman_hdvicp.h
  • IRES_HDVICP_PROTOCOLNAME : ires_hdvicp.h
  • IRES_TILEDMEMORY_MAXRESOURCES : iresman_tiledmemory.h
  • IRES_TILEDMEMORY_PROTOCOLNAME : ires_tiledmemory.h
  • IRES_VICP2_BADRESOURCE : ires_vicp2.h
  • IRES_VICP2_MAXRESOURCES : ires_vicp2.h
  • IRES_VICP2_NUMBUFFERS : ires_vicp2.h
  • IRES_VICP2_PROTOCOLNAME : ires_vicp2.h
  • IRES_VICP_MAXRESOURCES : ires_vicp.h
  • IRES_VICP_PROTOCOLNAME : ires_vicp.h

- m -

  • MEMUTILS_MODNAME : memutils.h

- r -

  • RMAN_GTNAME : rman.h
  • RMAN_MODNAME : rman.h
  • RMAN_PROTOCOLNAMESIZE : rman.h

- t -

  • ti_sdo_fc_ires_NOPROTOCOLREV : ecpy.h , rman.h
  • TILEDMEMORY_MODNAME : ires_tiledmemory.h

- v -

  • VICP2_MODNAME : ires_vicp2.h
  • VICP_MODNAME : ires_vicp.h

- x -

  • XDAS_FALSE : xdas.h
  • XDAS_TRUE : xdas.h


Framework Components Application Programming Interface (API): Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • DSKT2_QOS_TI_GetSharedScratchMsgArg2 : dskt2_qos.h
  • DSKT2_QOS_TI_MsgArg1Types : dskt2_qos.h
  • ECPY_ParamField16b : ecpy.h
  • ECPY_ParamField32b : ecpy.h
  • ECPY_TransferType : ecpy.h
  • IALG_MemAttrs : ialg.h
  • IALG_MemSpace : ialg.h
  • IRES_EDMA3CHAN_DmaDestType : ires_edma3Chan.h
  • IRES_HDVICP2_Status : ires_hdvicp2.h
  • IRES_HDVICP_RequestType : ires_hdvicp.h
  • IRES_RequestMode : ires_common.h
  • IRES_Status : ires_common.h
  • IRES_TILEDMEMORY_AccessDimension : ires_tiledmemory.h
  • IRES_TILEDMEMORY_AccessUnit : ires_tiledmemory.h
  • IRES_YieldResourceType : ires.h


Framework Components Application Programming Interface (API): Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • d
  • e
  • i
  • o
  • s

- d -

  • DIFFERENTCODEC : ires_hdvicp2.h
  • DSKT2_QOS_ALL_SCRATCHGROUPS : dskt2_qos.h
  • DSKT2_QOS_SHARED_SCRATCH_ALLHEAPS : dskt2_qos.h
  • DSKT2_QOS_SHARED_SCRATCH_DARAM : dskt2_qos.h
  • DSKT2_QOS_SHARED_SCRATCH_SARAM : dskt2_qos.h

- e -

  • ECPY_1D1D : ecpy.h
  • ECPY_1D2D : ecpy.h
  • ECPY_2D1D : ecpy.h
  • ECPY_2D2D : ecpy.h
  • ECPY_PARAMFIELD_DSTADDR : ecpy.h
  • ECPY_PARAMFIELD_ELEMENTINDEX_DST : ecpy.h
  • ECPY_PARAMFIELD_ELEMENTINDEX_SRC : ecpy.h
  • ECPY_PARAMFIELD_ELEMENTINDEXES : ecpy.h
  • ECPY_PARAMFIELD_ELEMENTSIZE : ecpy.h
  • ECPY_PARAMFIELD_FRAMEINDEX_DST : ecpy.h
  • ECPY_PARAMFIELD_FRAMEINDEX_SRC : ecpy.h
  • ECPY_PARAMFIELD_FRAMEINDEXES : ecpy.h
  • ECPY_PARAMFIELD_NUMELEMENTS : ecpy.h
  • ECPY_PARAMFIELD_NUMFRAMES : ecpy.h
  • ECPY_PARAMFIELD_SRCADDR : ecpy.h
  • EXTMEMORY0 : ires_edma3Chan.h
  • EXTMEMORY1 : ires_edma3Chan.h
  • EXTMEMORY2 : ires_edma3Chan.h

- i -

  • IALG_DARAM0 : ialg.h
  • IALG_DARAM1 : ialg.h
  • IALG_DARAM2 : ialg.h
  • IALG_EPROG : ialg.h
  • IALG_ESDATA : ialg.h
  • IALG_EXTERNAL : ialg.h
  • IALG_IPROG : ialg.h
  • IALG_PERSIST : ialg.h
  • IALG_SARAM : ialg.h
  • IALG_SARAM0 : ialg.h
  • IALG_SARAM1 : ialg.h
  • IALG_SARAM2 : ialg.h
  • IALG_SCRATCH : ialg.h
  • IALG_WRITEONCE : ialg.h
  • INTMEMORY0 : ires_edma3Chan.h
  • INTMEMORY1 : ires_edma3Chan.h
  • INTMEMORY2 : ires_edma3Chan.h
  • IRES_ALL : ires.h
  • IRES_EALG : ires_common.h
  • IRES_EEXISTS : ires_common.h
  • IRES_EFAIL : ires_common.h
  • IRES_EINIT : ires_common.h
  • IRES_ENOINIT : ires_common.h
  • IRES_ENOMEM : ires_common.h
  • IRES_ENORESOURCE : ires_common.h
  • IRES_ENOTFOUND : ires_common.h
  • IRES_HDVICP_ID_0 : ires_hdvicp.h
  • IRES_HDVICP_ID_1 : ires_hdvicp.h
  • IRES_HDVICP_ID_ANY : ires_hdvicp.h
  • IRES_LATEACQUIRE : ires_common.h
  • IRES_OK : ires_common.h
  • IRES_PERSISTENT : ires_common.h
  • IRES_RESOURCEHANDLE : ires.h
  • IRES_SCRATCH : ires_common.h
  • IRES_SCRATCHDMA : ires.h
  • IRES_SCRATCHMEMORY : ires.h
  • IRES_TILEDMEMORY_16BIT : ires_tiledmemory.h
  • IRES_TILEDMEMORY_1D : ires_tiledmemory.h
  • IRES_TILEDMEMORY_2D : ires_tiledmemory.h
  • IRES_TILEDMEMORY_32BIT : ires_tiledmemory.h
  • IRES_TILEDMEMORY_8BIT : ires_tiledmemory.h
  • IRES_TILEDMEMORY_PAGE : ires_tiledmemory.h
  • IRES_TILEDMEMORY_RAW : ires_tiledmemory.h

- o -

  • OTHER0 : ires_edma3Chan.h
  • OTHER1 : ires_edma3Chan.h

- s -

  • SAMECODEC : ires_hdvicp2.h
  • SAMECODECTYPE : ires_hdvicp2.h


Framework Components Application Programming Interface (API): Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • d
  • e
  • i
  • m
  • r

- d -

  • DSKT2_activateAlg() : dskt2.h
  • DSKT2_allocPersistent() : dskt2.h
  • DSKT2_allocScratch() : dskt2.h
  • DSKT2_controlAlg() : dskt2.h
  • DSKT2_createAlg() : dskt2.h
  • DSKT2_createAlg2() : dskt2.h
  • DSKT2_createAlgExt() : dskt2.h
  • DSKT2_deactivateAlg() : dskt2.h
  • DSKT2_deactivateAll() : dskt2.h
  • DSKT2_freeAlg() : dskt2.h
  • DSKT2_freePersistent() : dskt2.h
  • DSKT2_freeScratch() : dskt2.h
  • DSKT2_getScratchId() : dskt2.h
  • DSKT2_QOS_getStat() : dskt2_qos.h

- e -

  • ECPY_activate() : ecpy.h
  • ECPY_configure() : ecpy.h
  • ECPY_configure16() : ecpy.h
  • ECPY_configure32() : ecpy.h
  • ECPY_createHandle() : ecpy.h
  • ECPY_deactivate() : ecpy.h
  • ECPY_deleteHandle() : ecpy.h
  • ECPY_directConfigure() : ecpy.h
  • ECPY_directConfigure16() : ecpy.h
  • ECPY_directConfigure32() : ecpy.h
  • ECPY_directSetFinal() : ecpy.h
  • ECPY_directStartEdma() : ecpy.h
  • ECPY_directStartQdma() : ecpy.h
  • ECPY_directWait() : ecpy.h
  • ECPY_exit() : ecpy.h
  • ECPY_init() : ecpy.h
  • ECPY_setDestinationMemoryMode() : ecpy.h
  • ECPY_setEarlyCompletionMode() : ecpy.h
  • ECPY_setFinal() : ecpy.h
  • ECPY_start() : ecpy.h
  • ECPY_wait() : ecpy.h

- i -

  • IRESMAN_EDMA3CHAN_exit() : iresman_edma3Chan.h
  • IRESMAN_EDMA3CHAN_freeHandle() : iresman_edma3Chan.h
  • IRESMAN_EDMA3CHAN_getHandles() : iresman_edma3Chan.h
  • IRESMAN_EDMA3CHAN_getProtocolName() : iresman_edma3Chan.h
  • IRESMAN_EDMA3CHAN_getProtocolRevision() : iresman_edma3Chan.h
  • IRESMAN_EDMA3CHAN_init() : iresman_edma3Chan.h
  • IRESMAN_HDVICP_exit() : iresman_hdvicp.h
  • IRESMAN_HDVICP_freeHandles() : iresman_hdvicp.h
  • IRESMAN_HDVICP_getHandles() : iresman_hdvicp.h
  • IRESMAN_HDVICP_getProtocolName() : iresman_hdvicp.h
  • IRESMAN_HDVICP_getProtocolRevision() : iresman_hdvicp.h
  • IRESMAN_HDVICP_init() : iresman_hdvicp.h
  • IRESMAN_TILEDMEMORY_exit() : iresman_tiledmemory.h
  • IRESMAN_TILEDMEMORY_freeHandles() : iresman_tiledmemory.h
  • IRESMAN_TILEDMEMORY_getHandles() : iresman_tiledmemory.h
  • IRESMAN_TILEDMEMORY_getProtocolName() : iresman_tiledmemory.h
  • IRESMAN_TILEDMEMORY_getProtocolRevision() : iresman_tiledmemory.h
  • IRESMAN_TILEDMEMORY_init() : iresman_tiledmemory.h
  • IRESMAN_VICP2_exit() : iresman_vicp2.h
  • IRESMAN_VICP2_freeHandles() : iresman_vicp2.h
  • IRESMAN_VICP2_getHandles() : iresman_vicp2.h
  • IRESMAN_VICP2_getProtocolName() : iresman_vicp2.h
  • IRESMAN_VICP2_getProtocolRevision() : iresman_vicp2.h
  • IRESMAN_VICP2_init() : iresman_vicp2.h
  • IRESMAN_VICP_exit() : iresman_vicp.h
  • IRESMAN_VICP_freeHandles() : iresman_vicp.h
  • IRESMAN_VICP_getHandles() : iresman_vicp.h
  • IRESMAN_VICP_getProtocolName() : iresman_vicp.h
  • IRESMAN_VICP_getProtocolRevision() : iresman_vicp.h
  • IRESMAN_VICP_init() : iresman_vicp.h

- m -

  • MEMUTILS_cacheInv() : memutils.h
  • MEMUTILS_cacheWb() : memutils.h
  • MEMUTILS_cacheWbInv() : memutils.h
  • MEMUTILS_getPhysicalAddr() : memutils.h

- r -

  • RMAN_activateAllResources() : rman.h
  • RMAN_activateResource() : rman.h
  • RMAN_allocateResources() : rman.h
  • RMAN_assignResources() : rman.h
  • RMAN_deactivateAllResources() : rman.h
  • RMAN_deactivateResource() : rman.h
  • RMAN_exit() : rman.h
  • RMAN_freeAllocatedResources() : rman.h
  • RMAN_freeResources() : rman.h
  • RMAN_init() : rman.h
  • RMAN_register() : rman.h
  • RMAN_unregister() : rman.h
  • RMAN_yield() : rman.h


Framework Components Application Programming Interface (API): Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • d
  • e
  • i
  • r
  • t
  • x

- d -

  • DSKT2_CacheWBInvFxn : dskt2.h
  • DSKT2_QOS_TI_GetSharedScratchMsgArg2 : dskt2_qos.h
  • DSKT2_QOS_TI_MsgArg1Types : dskt2_qos.h

- e -

  • ECPY_CfgParams : ecpy.h
  • ECPY_getScratchIdFxn : ecpy.h
  • ECPY_Handle : ecpy.h
  • ECPY_ParamField16b : ecpy.h
  • ECPY_ParamField32b : ecpy.h
  • ECPY_Params : ecpy.h
  • ECPY_PersistentAllocFxn : ecpy.h
  • ECPY_PersistentFreeFxn : ecpy.h
  • ECPY_ScratchAllocFxn : ecpy.h
  • ECPY_ScratchFreeFxn : ecpy.h
  • ECPY_TransferType : ecpy.h

- i -

  • IALG_Cmd : ialg.h
  • IALG_Fxns : ialg.h
  • IALG_Handle : ialg.h
  • IALG_MemAttrs : ialg.h
  • IALG_MemRec : ialg.h
  • IALG_MemSpace : ialg.h
  • IALG_Obj : ialg.h
  • IALG_Params : ialg.h
  • IALG_Status : ialg.h
  • IRES_ContextRestoreFxn : ires.h
  • IRES_ContextSaveFxn : ires.h
  • IRES_EDMA3CHAN2_Handle : ires_edma3Chan.h
  • IRES_EDMA3CHAN2_Obj : ires_edma3Chan.h
  • IRES_EDMA3CHAN_DmaDestType : ires_edma3Chan.h
  • IRES_EDMA3CHAN_EDMA3DraeRegister : ires_edma3Chan.h
  • IRES_EDMA3CHAN_EDMA3RegisterLayer : ires_edma3Chan.h
  • IRES_EDMA3CHAN_EDMA3ShadowRegister : ires_edma3Chan.h
  • IRES_EDMA3CHAN_Handle : ires_edma3Chan.h
  • IRES_EDMA3CHAN_Obj : ires_edma3Chan.h
  • IRES_EDMA3CHAN_PaRamStruct : ires_edma3Chan.h
  • IRES_EDMA3CHAN_Properties : ires_edma3Chan.h
  • IRES_EDMA3CHAN_ProtocolArgs : ires_edma3Chan.h
  • IRES_Fxns : ires.h
  • IRES_Handle : ires_common.h
  • IRES_HDVICP2_CallbackFxn : ires_hdvicp2.h
  • IRES_HDVICP2_Handle : ires_hdvicp2.h
  • IRES_HDVICP2_Obj : ires_hdvicp2.h
  • IRES_HDVICP2_Properties : ires_hdvicp2.h
  • IRES_HDVICP2_ProtocolArgs : ires_hdvicp2.h
  • IRES_HDVICP2_RegisterLayer : ires_hdvicp2.h
  • IRES_HDVICP2_Status : ires_hdvicp2.h
  • IRES_HDVICP_Handle : ires_hdvicp.h
  • IRES_HDVICP_Obj : ires_hdvicp.h
  • IRES_HDVICP_Properties : ires_hdvicp.h
  • IRES_HDVICP_ProtocolArgs : ires_hdvicp.h
  • IRES_HDVICP_RegisterLayer : ires_hdvicp.h
  • IRES_HDVICP_RequestType : ires_hdvicp.h
  • IRES_Obj : ires_common.h
  • IRES_Properties : ires_common.h
  • IRES_ProtocolArgs : ires_common.h
  • IRES_ProtocolRevision : ires_common.h
  • IRES_RequestMode : ires_common.h
  • IRES_ResourceDescriptor : ires_common.h
  • IRES_Status : ires_common.h
  • IRES_TILEDMEMORY_AccessDimension : ires_tiledmemory.h
  • IRES_TILEDMEMORY_AccessUnit : ires_tiledmemory.h
  • IRES_TILEDMEMORY_Handle : ires_tiledmemory.h
  • IRES_TILEDMEMORY_Obj : ires_tiledmemory.h
  • IRES_TILEDMEMORY_Properties : ires_tiledmemory.h
  • IRES_TILEDMEMORY_ProtocolArgs : ires_tiledmemory.h
  • IRES_TILEDMEMORY_RegisterLayer : ires_tiledmemory.h
  • IRES_VICP2_Buffers : ires_vicp2.h
  • IRES_VICP2_Handle : ires_vicp2.h
  • IRES_VICP2_Obj : ires_vicp2.h
  • IRES_VICP2_Properties : ires_vicp2.h
  • IRES_VICP2_ProtocolArgs : ires_vicp2.h
  • IRES_VICP_Handle : ires_vicp.h
  • IRES_VICP_Obj : ires_vicp.h
  • IRES_VICP_Properties : ires_vicp.h
  • IRES_VICP_ProtocolArgs : ires_vicp.h
  • IRES_VICP_Registers : ires_vicp.h
  • IRES_YieldArgs : ires.h
  • IRES_YieldContext : ires.h
  • IRES_YieldContextHandle : ires.h
  • IRES_YieldFxn : ires.h
  • IRES_YieldResourceType : ires.h
  • IRESMAN_ConstructArgs : iresman_protocol.h
  • IRESMAN_ConstructFxns : iresman_protocol.h
  • IRESMAN_Edma3ChanParams : iresman_edma3Chan.h
  • IRESMAN_Fxns : iresman.h
  • IRESMAN_HdVicpParams : iresman_hdvicp.h
  • IRESMAN_Params : iresman.h
  • IRESMAN_PersistentAllocFxn : iresman.h
  • IRESMAN_PersistentFreeFxn : iresman.h
  • IRESMAN_TiledmemoryParams : iresman_tiledmemory.h
  • IRESMAN_VicpParams : iresman_vicp.h , iresman_vicp2.h

- r -

  • RMAN_Params : rman.h
  • RMAN_SemHandle : rman.h

- t -

  • ti_sdo_fc_ires_hdvicp_HDVICP2_FreeHdvicp2Fxn : ires_hdvicp2.h
  • ti_sdo_fc_ires_hdvicp_HDVICP2_GetHdvicp2Fxn : ires_hdvicp2.h
  • ti_sdo_fc_ires_hdvicp_HDVICP2_GetYieldArgsFxn : ires_hdvicp2.h
  • ti_sdo_fc_ires_hdvicp_HDVICP2_YieldFxn : ires_hdvicp2.h
  • ti_sdo_fc_rman_RMAN_YieldArgsFxn : rman.h

- x -

  • XDAS_Bool : xdas.h
  • XDAS_Int16 : xdas.h
  • XDAS_Int32 : xdas.h
  • XDAS_Int8 : xdas.h
  • XDAS_UInt16 : xdas.h
  • XDAS_UInt32 : xdas.h
  • XDAS_UInt8 : xdas.h
  • XDAS_Void : xdas.h


Framework Components Application Programming Interface (API): Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • d
  • e
  • i
  • r
  • t

- _ -

  • _DSKT2_ALLOW_EXTERNAL_SCRATCH : dskt2.h
  • _DSKT2_DARAM_SCRATCH_SIZES : dskt2.h
  • _DSKT2_heap : dskt2.h
  • _DSKT2_SARAM_SCRATCH_SIZES : dskt2.h
  • _RMAN_allocPersistent : iresman_vicp.h , iresman_vicp2.h , iresman_edma3Chan.h , iresman_hdvicp.h , iresman_tiledmemory.h
  • _RMAN_freePersistent : iresman_vicp.h , iresman_edma3Chan.h , iresman_hdvicp.h , iresman_vicp2.h , iresman_tiledmemory.h

- d -

  • DSKT2_cacheWBInvFxn : dskt2.h
  • DSKT2_daram0Heap : dskt2.h
  • DSKT2_daram1Heap : dskt2.h
  • DSKT2_daram2Heap : dskt2.h
  • DSKT2_eprogHeap : dskt2.h
  • DSKT2_esdataHeap : dskt2.h
  • DSKT2_iprogHeap : dskt2.h
  • DSKT2_saram0Heap : dskt2.h
  • DSKT2_saram1Heap : dskt2.h
  • DSKT2_saram2Heap : dskt2.h

- e -

  • ECPY_CFG_PARAMS : ecpy.h

- i -

  • IRESMAN_EDMA3CHAN : iresman_edma3Chan.h
  • IRESMAN_HDVICP : iresman_hdvicp.h
  • IRESMAN_TILEDMEMORY : iresman_tiledmemory.h
  • IRESMAN_VICP : iresman_vicp.h
  • IRESMAN_VICP2 : iresman_vicp2.h

- r -

  • RMAN_FREE_ENTRIES : rman.h
  • RMAN_iresVTable : rman.h
  • RMAN_numRegistryEntries : rman.h
  • RMAN_PARAMS : rman.h
  • RMAN_registryEntries : rman.h
  • RMAN_registryResmanArgs : rman.h
  • RMAN_TABLE : rman.h

- t -

  • ti_sdo_fc_dskt2_DSKT2_disableLazyDeactivate : dskt2.h
  • ti_sdo_fc_ires_hdvicp_HDVICP2_timeoutVal : ires_hdvicp2.h
  • ti_sdo_fc_rman_RMAN_ipcKey : rman.h
  • ti_sdo_fc_rman_RMAN_MAXALGS : rman.h
  • ti_sdo_fc_rman_RMAN_setYieldArgs : rman.h


Framework Components Application Programming Interface (API): Graph Legend

Graph Legend

This page explains how to interpret the graphs that are generated by doxygen.

Consider the following example:

/*! Invisible class because of truncation */
class Invisible { };

/*! Truncated class, inheritance relation is hidden */
class Truncated : public Invisible { };

/* Class not documented with doxygen comments */
class Undocumented { };

/*! Class that is inherited using public inheritance */
class PublicBase : public Truncated { };

/*! A template class */
template<class T> class Templ { };

/*! Class that is inherited using protected inheritance */
class ProtectedBase { };

/*! Class that is inherited using private inheritance */
class PrivateBase { };

/*! Class that is used by the Inherited class */
class Used { };

/*! Super class that inherits a number of other classes */
class Inherited : public PublicBase,
                  protected ProtectedBase,
                  private PrivateBase,
                  public Undocumented,
                  public Templ<int>
{
  private:
    Used *m_usedClass;
};

This will result in the following graph:

The boxes in the above graph have the following meaning:

  • A filled gray box represents the struct or class for which the graph is generated.
  • A box with a black border denotes a documented struct or class.
  • A box with a grey border denotes an undocumented struct or class.
  • A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries.

The arrows have the following meaning:

  • A dark blue arrow is used to visualize a public inheritance relation between two classes.
  • A dark green arrow is used for protected inheritance.
  • A dark red arrow is used for private inheritance.
  • A purple dashed arrow is used if a class is contained or used by another class. The arrow is labeled with the variable(s) through which the pointed class or struct is accessible.
  • A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance.


Framework Components Application Programming Interface (API): ialg.h Source File

  • File List
  • Globals
  • fctools
  • packages
  • ti
  • xdais

ialg.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2012, Texas Instruments Incorporated
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * *  Redistributions of source code must retain the above copyright
00010  *    notice, this list of conditions and the following disclaimer.
00011  *
00012  * *  Redistributions in binary form must reproduce the above copyright
00013  *    notice, this list of conditions and the following disclaimer in the
00014  *    documentation and/or other materials provided with the distribution.
00015  *
00016  * *  Neither the name of Texas Instruments Incorporated nor the names of
00017  *    its contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00021  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00022  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00023  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00024  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00025  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00026  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00027  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00028  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00029  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00030  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031  *
00032  */
00033
00046 #ifndef ti_xdais_IALG_
00047 #define ti_xdais_IALG_
00048
00049 #ifdef __cplusplus
00050 extern "C" {
00051 #endif
00052
00055
00056 /*---------------------------*/
00057 /*    TYPES AND CONSTANTS    */
00058 /*---------------------------*/
00059
00060 #define IALG_DEFMEMRECS 4
00061 #define IALG_OBJMEMREC  0
00062 #define IALG_SYSCMD     256
00064 #define IALG_EOK        0
00065 #define IALG_EFAIL      (-1)
00067 #define IALG_CUSTOMFAILBASE  (-2048)
00071 #define IALG_CUSTOMFAILEND (-256)
00079 typedef enum IALG_MemAttrs {
00080     IALG_SCRATCH,
00081     IALG_PERSIST,
00082     IALG_WRITEONCE
00083 } IALG_MemAttrs;
00084
00085 #define IALG_MPROG  0x0008
00086 #define IALG_MXTRN  0x0010
00091 /*
00092  *  ======== IALG_MemSpace ========
00093  */
00094 typedef enum IALG_MemSpace {
00095     IALG_EPROG =
00096         IALG_MPROG | IALG_MXTRN,
00097
00098     IALG_IPROG =
00099         IALG_MPROG,
00100
00101     IALG_ESDATA =
00102         IALG_MXTRN + 0,
00103
00104     IALG_EXTERNAL =
00105         IALG_MXTRN + 1,
00106
00107     IALG_DARAM0 = 0,
00108     IALG_DARAM1 = 1,
00110     IALG_SARAM  = 2,
00111     IALG_SARAM0 = 2,
00112     IALG_SARAM1 = 3,
00114     IALG_DARAM2 = 4,
00115     IALG_SARAM2 = 5
00116 } IALG_MemSpace;
00117
00118 /*
00119  *  ======== IALG_isProg ========
00120  */
00121 #define IALG_isProg(s) (        \
00122     (((int)(s)) & IALG_MPROG)   \
00123 )
00124
00125 /*
00126  *  ======== IALG_isOffChip ========
00127  */
00128 #define IALG_isOffChip(s) (     \
00129     (((int)(s)) & IALG_MXTRN)   \
00130 )
00131
00132
00136 typedef struct IALG_MemRec {
00137     Uns             size;
00138     Int             alignment;
00139     IALG_MemSpace   space;
00140     IALG_MemAttrs   attrs;
00141     Void            *base;
00142 } IALG_MemRec;
00143
00144
00153 typedef struct IALG_Obj {
00154     struct IALG_Fxns *fxns;
00155 } IALG_Obj;
00156
00157
00161 typedef struct IALG_Obj *IALG_Handle;
00162
00163
00170 typedef struct IALG_Params {
00171     Int size;
00172 } IALG_Params;
00173
00174
00181 typedef struct IALG_Status {
00182     Int size;
00183 } IALG_Status;
00184
00185
00193 typedef unsigned int IALG_Cmd;
00194
00195
00200 /*
00201  *      algAlloc()        - apps call this to query the algorithm about
00202  *                          its memory requirements. Must be non-NULL.
00203  *      algControl()      - algorithm specific control operations.  May be
00204  *                          NULL; NULL => no operations supported.
00205  *      algDeactivate()   - notification that current instance is about to
00206  *                          be "deactivated".  May be NULL; NULL => do nothing.
00207  *      algFree()         - query algorithm for memory to free when removing
00208  *                          an instance.  Must be non-NULL.
00209  *      algInit()         - apps call this to allow the algorithm to
00210  *                          initialize memory requested via algAlloc().  Must
00211  *                          be non-NULL.
00212  *      algMoved()        - apps call this whenever an algorithms object or
00213  *                          any pointer parameters are moved in real-time.
00214  *                          May be NULL; NULL => object can not be moved.
00215  *      algNumAlloc()     - query algorithm for number of memory requests.
00216  *                          May be NULL; NULL => number of mem recs is less
00217  *                          then #IALG_DEFMEMRECS.
00218  */
00219 typedef struct IALG_Fxns {
00224     Void    *implementationId;
00225
00275     Void    (*algActivate)(IALG_Handle handle);
00276
00355     Int     (*algAlloc)(const IALG_Params *params,
00356         struct IALG_Fxns **parentFxns, IALG_MemRec *memTab);
00357
00398     Int     (*algControl)(IALG_Handle handle, IALG_Cmd cmd,
00399         IALG_Status *status);
00400
00454     Void    (*algDeactivate)(IALG_Handle handle);
00455
00496     Int     (*algFree)(IALG_Handle handle, IALG_MemRec *memTab);
00497
00671     Int     (*algInit)(IALG_Handle handle, const IALG_MemRec *memTab,
00672         IALG_Handle parent, const IALG_Params *params);
00673
00694     Void    (*algMoved)(IALG_Handle handle, const IALG_MemRec *memTab,
00695         IALG_Handle parent, const IALG_Params *params);
00696
00753     Int     (*algNumAlloc)(Void);
00754 } IALG_Fxns;
00755
00758 #ifdef __cplusplus
00759 }
00760 #endif
00761
00762 #endif  /* ti_xdais_IALG_ */
00763 /*
00764  *  @(#) ti.xdais; 1, 2.0, 1,1; 6-19-2012 17:57:45; /db/wtree/library/trees/dais/dais-w06/src/ xlibrary
00765
00766  */
00767


Framework Components Application Programming Interface (API): ires.h Source File

  • File List
  • Globals
  • fctools
  • packages
  • ti
  • xdais

ires.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2012, Texas Instruments Incorporated
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * *  Redistributions of source code must retain the above copyright
00010  *    notice, this list of conditions and the following disclaimer.
00011  *
00012  * *  Redistributions in binary form must reproduce the above copyright
00013  *    notice, this list of conditions and the following disclaimer in the
00014  *    documentation and/or other materials provided with the distribution.
00015  *
00016  * *  Neither the name of Texas Instruments Incorporated nor the names of
00017  *    its contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00021  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00022  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00023  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00024  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00025  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00026  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00027  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00028  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00029  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00030  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031  *
00032  */
00047 #ifndef IRES_
00048 #define IRES_
00049
00052
00053
00054 #ifdef __cplusplus
00055 extern "C" {
00056 #endif
00057
00058 #include "ires_common.h"
00059
00060 typedef enum IRES_YieldResourceType {
00061     IRES_ALL = 0,
00064     IRES_SCRATCHMEMORY,
00067     IRES_SCRATCHDMA,
00070     IRES_RESOURCEHANDLE
00073 } IRES_YieldResourceType;
00074
00075 typedef Void (*IRES_ContextSaveFxn)(IALG_Handle algHandle, Void *contextArgs);
00076 typedef Void (*IRES_ContextRestoreFxn)
00077         (IALG_Handle algHandle, Void *contextArgs);
00078
00084 typedef struct IRES_YieldContext {
00085
00089     IALG_Handle                algHandle;
00090
00097     IRES_Handle                resourceHandle;
00098
00110     IRES_ContextSaveFxn        contextSave;
00111
00125     IRES_ContextRestoreFxn      contextRestore;
00126
00134     Void                        *contextArgs;
00135
00136 } IRES_YieldContext;
00137
00138
00139 typedef IRES_YieldContext *IRES_YieldContextHandle;
00140 typedef Void *IRES_YieldArgs;
00141
00159 typedef Void (*IRES_YieldFxn)(IRES_YieldResourceType resourceType,
00160     IRES_YieldContextHandle algYieldContext, IRES_YieldArgs yieldArgs);
00161
00168 typedef struct IRES_Fxns {
00169
00174     Void *implementationId;
00175
00180     IRES_Status (*getResourceDescriptors)(IALG_Handle handle,
00181         IRES_ResourceDescriptor *resourceDescriptors);
00182
00190     Int32 (*numResourceDescriptors)(IALG_Handle handle);
00191
00203     IRES_Status (*initResources)(IALG_Handle handle,
00204             IRES_ResourceDescriptor * resourceDescriptor,
00205             IRES_YieldFxn yieldFxn, IRES_YieldArgs yieldArgs);
00206
00217     IRES_Status (*reinitResources)(IALG_Handle handle,
00218             IRES_ResourceDescriptor * resourceDescriptor,
00219             IRES_YieldFxn yieldFxn, IRES_YieldArgs yieldArgs);
00220
00225     IRES_Status (*deinitResources)(IALG_Handle handle,
00226             IRES_ResourceDescriptor * resourceDescriptor);
00227
00237     IRES_Status (*activateResource)(IALG_Handle handle,
00238             IRES_Handle resourceHandle);
00239
00246     IRES_Status (*activateAllResources)(IALG_Handle handle);
00247
00254     IRES_Status (*deactivateResource)(IALG_Handle handle,
00255             IRES_Handle resourceHandle);
00256
00263      IRES_Status (*deactivateAllResources)(IALG_Handle handle);
00264
00265 } IRES_Fxns;
00266
00270 #ifdef __cplusplus
00271 }
00272 #endif /* extern "C" */
00273
00274
00275 #endif  /* IRES_ */
00276 /*
00277  *  @(#) ti.xdais; 1, 2.0, 1,1; 6-19-2012 17:57:45; /db/wtree/library/trees/dais/dais-w06/src/ xlibrary
00278
00279  */
00280


Framework Components Application Programming Interface (API): ires_common.h Source File

  • File List
  • Globals
  • fctools
  • packages
  • ti
  • xdais

ires_common.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2012, Texas Instruments Incorporated
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * *  Redistributions of source code must retain the above copyright
00010  *    notice, this list of conditions and the following disclaimer.
00011  *
00012  * *  Redistributions in binary form must reproduce the above copyright
00013  *    notice, this list of conditions and the following disclaimer in the
00014  *    documentation and/or other materials provided with the distribution.
00015  *
00016  * *  Neither the name of Texas Instruments Incorporated nor the names of
00017  *    its contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00021  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00022  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00023  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00024  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00025  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00026  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00027  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00028  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00029  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00030  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031  *
00032  */
00039 #ifndef IRES_COMMON_
00040 #define IRES_COMMON_
00041
00044
00045
00046 #ifdef __cplusplus
00047 extern "C" {
00048 #endif
00049
00050 #include "ialg.h"
00051
00052
00057 typedef enum IRES_Status {
00058     IRES_OK = 0,
00059     IRES_EALG = 1,
00060     IRES_EEXISTS = 2,
00061     IRES_EFAIL = 3,
00062     IRES_EINIT = 4,
00063     IRES_ENOINIT = 5,
00064     IRES_ENOMEM = 6,
00065     IRES_ENORESOURCE = 7,
00066     IRES_ENOTFOUND = 8
00067 } IRES_Status;
00068
00073 typedef struct IRES_ProtocolRevision {
00074     unsigned int Major;
00075     unsigned int Source;
00076     unsigned int Radius;                /* Using unsigned int here to support
00077                                          * xdc/std.h as well as tistdtypes.h
00078                                          */
00079 } IRES_ProtocolRevision;
00080
00081
00085 typedef enum IRES_RequestMode {
00086     IRES_SCRATCH,
00090     IRES_PERSISTENT,
00094     IRES_LATEACQUIRE
00101 } IRES_RequestMode;
00102
00103
00110 typedef struct IRES_ProtocolArgs {
00111
00112     Int32 size;
00113     IRES_RequestMode mode;
00117 } IRES_ProtocolArgs;
00118
00122 typedef struct IRES_ResourceDescriptor {
00123
00127     String resourceName;
00128
00136     struct IRES_ProtocolArgs  *protocolArgs;
00137
00147     IRES_ProtocolRevision *revision;
00148
00155     struct IRES_Obj * handle;
00156
00157 } IRES_ResourceDescriptor;
00158
00168 typedef struct IRES_Properties {
00169     Int32 size;
00170 } IRES_Properties;
00171
00176 typedef struct IRES_Obj {
00177
00181     Int32 persistent;
00182
00188     Void (*getStaticProperties) (struct IRES_Obj * resourceHandle,
00189         IRES_Properties * resourceProperties);
00190
00191 } IRES_Obj;
00192
00196 typedef struct IRES_Obj *IRES_Handle;
00197
00198
00199
00200 #ifdef __cplusplus
00201 }
00202 #endif /* extern "C" */
00203
00206 #endif  /* IRES_COMMON_ */
00207 /*
00208  *  @(#) ti.xdais; 1, 2.0, 1,1; 6-19-2012 17:57:45; /db/wtree/library/trees/dais/dais-w06/src/ xlibrary
00209
00210  */
00211


Framework Components Application Programming Interface (API): ires_edma3Chan.h Source File

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • edma3chan

ires_edma3Chan.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2012, Texas Instruments Incorporated
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * *  Redistributions of source code must retain the above copyright
00010  *    notice, this list of conditions and the following disclaimer.
00011  *
00012  * *  Redistributions in binary form must reproduce the above copyright
00013  *    notice, this list of conditions and the following disclaimer in the
00014  *    documentation and/or other materials provided with the distribution.
00015  *
00016  * *  Neither the name of Texas Instruments Incorporated nor the names of
00017  *    its contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00021  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00022  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00023  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00024  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00025  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00026  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00027  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00028  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00029  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00030  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031  *
00032  */
00048 #ifndef ti_sdo_fc_ires_edma3chan_IRES_EDMA3CHAN_
00049 #define ti_sdo_fc_ires_edma3chan_IRES_EDMA3CHAN_
00050
00053
00054 #ifdef __cplusplus
00055 extern "C" {
00056 #endif
00057
00058 #include <ti/xdais/xdas.h>
00059 #include <ti/xdais/ires_common.h>
00060
00064 #define IRES_EDMA3CHAN_PROTOCOLNAME     "ti.sdo.fc.ires.edma3chan"
00065
00076 #define EDMA3CHAN_MODNAME  "ti.sdo.fc.ires.edma3chan"
00077
00078 /*
00079  * Note, we wrap the PROTOCOLVERSION in an ifdef so the
00080  * resource managers and algs get this version data placed in their object
00081  * files.  Apps, which include rman.h, will have this 'NOPROTOCOLREV' defined.
00082  */
00083 #ifndef ti_sdo_fc_ires_NOPROTOCOLREV
00084
00089 static IRES_ProtocolRevision IRES_EDMA3CHAN_PROTOCOLREVISION = {1, 0, 0};
00090
00091 #endif
00092
00096 #define IRES_EDMA3CHAN_PROTOCOLREVISION_1_0_0 {1, 0, 0}
00097 #define IRES_EDMA3CHAN_SETPROTOCOLREVISION_1_0_0(rev) {(rev)->Major = 1; \
00098         (rev)->Source = 0; (rev)->Radius = 0;}
00099
00103 #define IRES_EDMA3CHAN_PROTOCOLREVISION_2_0_0 {2, 0, 0}
00104 #define IRES_EDMA3CHAN_SETPROTOCOLREVISION_2_0_0(rev) {(rev)->Major = 2; \
00105         (rev)->Source = 0; (rev)->Radius = 0;}
00106
00111 #define IRES_EDMA3CHAN_MAXPARAMS        512
00112 #define IRES_EDMA3CHAN_MAXTCCS          32
00113 #define IRES_EDMA3CHAN_NUMDESTTYPES     8
00114
00118 #define IRES_EDMA3CHAN_PARAM_ANY        512
00119 #define IRES_EDMA3CHAN_PARAM_NONE       513
00120 #define IRES_EDMA3CHAN_TCC_ANY          514
00121 #define IRES_EDMA3CHAN_TCC_NONE         515
00122 #define IRES_EDMA3CHAN_EDMACHAN_ANY     516
00123 #define IRES_EDMA3CHAN_QDMACHAN_ANY     516
00124 #define IRES_EDMA3CHAN_CHAN_NONE        518
00125
00129 typedef struct IRES_EDMA3CHAN_Obj *IRES_EDMA3CHAN_Handle;
00130
00134 typedef struct IRES_EDMA3CHAN2_Obj *IRES_EDMA3CHAN2_Handle;
00135
00141 /* Note that the field descriptions were originally taken from SPRU996. */
00142 typedef struct IRES_EDMA3CHAN_PaRamStruct {
00143     unsigned int opt;
00148     unsigned int src;
00153     unsigned short acnt;
00164     unsigned short bcnt;
00174     unsigned int dst;
00179     unsigned short srcElementIndex;
00189     unsigned short dstElementIndex;
00200     unsigned short link;
00211     unsigned short bCntrld;
00222     unsigned short srcFrameIndex;
00248     unsigned short dstFrameIndex;
00276     unsigned short ccnt;
00287     unsigned short rsvd;
00288 } IRES_EDMA3CHAN_PaRamStruct;
00289
00290
00309 typedef struct IRES_EDMA3CHAN_ProtocolArgs {
00310     int     size;
00311     IRES_RequestMode mode;
00315     short   numPaRams;
00321     short   paRamIndex;
00330     short   numTccs;
00336     short   tccIndex;
00345     short   qdmaChan;
00351     short   edmaChan;
00366     short contiguousAllocation;
00370     short shadowPaRamsAllocation;
00373 } IRES_EDMA3CHAN_ProtocolArgs;
00374
00385 typedef struct  IRES_EDMA3CHAN_Obj {
00386
00387     IRES_Obj ires;
00388     IRES_EDMA3CHAN_PaRamStruct * shadowPaRams;
00391     unsigned int * assignedPaRamAddresses;
00394     short * assignedPaRamIndices;
00395     short * assignedTccIndices;
00396     short assignedNumPaRams;
00397     short assignedNumTccs;
00398     short assignedQdmaChannelIndex;
00406     short assignedEdmaChannelIndex;
00414     unsigned int esrBitMaskL;
00423     unsigned int esrBitMaskH;
00432     unsigned int iprBitMaskL;
00441     unsigned int iprBitMaskH;
00450 } IRES_EDMA3CHAN_Obj;
00451
00455 typedef struct IRES_EDMA3CHAN_EDMA3ShadowRegister {
00456     volatile unsigned int ER;
00457     volatile unsigned int ERH;
00458     volatile unsigned int ECR;
00459     volatile unsigned int ECRH;
00460     volatile unsigned int ESR;
00461     volatile unsigned int ESRH;
00462     volatile unsigned int CER;
00463     volatile unsigned int CERH;
00464     volatile unsigned int EER;
00465     volatile unsigned int EERH;
00466     volatile unsigned int EECR;
00467     volatile unsigned int EECRH;
00468     volatile unsigned int EESR;
00469     volatile unsigned int EESRH;
00470     volatile unsigned int SER;
00471     volatile unsigned int SERH;
00472     volatile unsigned int SECR;
00473     volatile unsigned int SECRH;
00474     volatile unsigned char RSVD0[8];
00475     volatile unsigned int IER;
00476     volatile unsigned int IERH;
00477     volatile unsigned int IECR;
00478     volatile unsigned int IECRH;
00479     volatile unsigned int IESR;
00480     volatile unsigned int IESRH;
00481     volatile unsigned int IPR;
00482     volatile unsigned int IPRH;
00483     volatile unsigned int ICR;
00484     volatile unsigned int ICRH;
00485     volatile unsigned int IEVAL;
00486     volatile unsigned char RSVD1[4];
00487     volatile unsigned int QER;
00488     volatile unsigned int QEER;
00489     volatile unsigned int QEECR;
00490     volatile unsigned int QEESR;
00491     volatile unsigned int QSER;
00492     volatile unsigned int QSECR;
00493     volatile unsigned char RSVD2[360];
00494
00495 } IRES_EDMA3CHAN_EDMA3ShadowRegister;
00496
00501 typedef struct IRES_EDMA3CHAN_EDMA3DraeRegister {
00502     volatile unsigned int DRAE;
00503     volatile unsigned int DRAEH;
00504 } IRES_EDMA3CHAN_EDMA3DraeRegister;
00505
00509 typedef struct IRES_EDMA3CHAN_EDMA3RegisterLayer {
00510     volatile unsigned int REV;
00511     volatile unsigned int CCCFG;
00512     volatile unsigned char RSVD0[248];
00513     volatile unsigned int DCHMAP[64];
00514     volatile unsigned int QCHMAP[8];
00515     volatile unsigned char RSVD1[32];
00516     volatile unsigned int DMAQNUM[8];
00517     volatile unsigned int QDMAQNUM;
00518     volatile unsigned char RSVD2[28];
00519     volatile unsigned int QUETCMAP;
00520     volatile unsigned int QUEPRI;
00521     volatile unsigned char RSVD3[120];
00522     volatile unsigned int EMR;
00523     volatile unsigned int EMRH;
00524     volatile unsigned int EMCR;
00525     volatile unsigned int EMCRH;
00526     volatile unsigned int QEMR;
00527     volatile unsigned int QEMCR;
00528     volatile unsigned int CCERR;
00529     volatile unsigned int CCERRCLR;
00530     volatile unsigned int EEVAL;
00531     volatile unsigned char RSVD4[28];
00532     IRES_EDMA3CHAN_EDMA3DraeRegister DRA[8];
00533     volatile unsigned int QRAE[8];
00534     volatile unsigned char RSVD5[96];
00535     volatile unsigned int QUEEVTENTRY[8][16];
00536     volatile unsigned int QSTAT[8];
00537     volatile unsigned int QWMTHRA;
00538     volatile unsigned int QWMTHRB;
00539     volatile unsigned char RSVD6[24];
00540     volatile unsigned int CCSTAT;
00541     volatile unsigned char RSVD7[188];
00542     volatile unsigned int AETCTL;
00543     volatile unsigned int AETSTAT;
00544     volatile unsigned int AETCMD;
00545     volatile unsigned char RSVD8[244];
00546     volatile unsigned int MPFAR;
00547     volatile unsigned int MPFSR;
00548     volatile unsigned int MPFCR;
00549     volatile unsigned int MPPAG;
00550     volatile unsigned int MPPA[8];
00551     volatile unsigned char RSVD9[2000];
00552     volatile unsigned int ER;
00553     volatile unsigned int ERH;
00554     volatile unsigned int ECR;
00555     volatile unsigned int ECRH;
00556     volatile unsigned int ESR;
00557     volatile unsigned int ESRH;
00558     volatile unsigned int CER;
00559     volatile unsigned int CERH;
00560     volatile unsigned int EER;
00561     volatile unsigned int EERH;
00562     volatile unsigned int EECR;
00563     volatile unsigned int EECRH;
00564     volatile unsigned int EESR;
00565     volatile unsigned int EESRH;
00566     volatile unsigned int SER;
00567     volatile unsigned int SERH;
00568     volatile unsigned int SECR;
00569     volatile unsigned int SECRH;
00570     volatile unsigned char RSVD10[8];
00571     volatile unsigned int IER;
00572     volatile unsigned int IERH;
00573     volatile unsigned int IECR;
00574     volatile unsigned int IECRH;
00575     volatile unsigned int IESR;
00576     volatile unsigned int IESRH;
00577     volatile unsigned int IPR;
00578     volatile unsigned int IPRH;
00579     volatile unsigned int ICR;
00580     volatile unsigned int ICRH;
00581     volatile unsigned int IEVAL;
00582     volatile unsigned char RSVD11[4];
00583     volatile unsigned int QER;
00584     volatile unsigned int QEER;
00585     volatile unsigned int QEECR;
00586     volatile unsigned int QEESR;
00587     volatile unsigned int QSER;
00588     volatile unsigned int QSECR;
00589     volatile unsigned char RSVD12[3944];
00590     IRES_EDMA3CHAN_EDMA3ShadowRegister SHADOW[8];
00591     volatile unsigned char RSVD13[4096];
00592     IRES_EDMA3CHAN_PaRamStruct PARAMENTRY[512];
00593 } IRES_EDMA3CHAN_EDMA3RegisterLayer;
00594
00598 typedef struct IRES_EDMA3CHAN_Properties {
00599
00600     unsigned int        numDmaChannels;
00603     unsigned int        numQdmaChannels;
00607     unsigned int        numTccs;
00610     unsigned int        numPaRAMSets;
00613     unsigned int        numEvtQueue;
00616     unsigned int        numTcs;
00620     unsigned int        numRegions;
00631     unsigned short dmaChPaRAMMapExists;
00632
00633     unsigned short memProtectionExists;
00637     IRES_EDMA3CHAN_EDMA3RegisterLayer *globalRegs;
00641 } IRES_EDMA3CHAN_Properties;
00642
00650 typedef enum IRES_EDMA3CHAN_DmaDestType {
00651     INTMEMORY0 = 0,
00652     INTMEMORY1 = 1,
00653     INTMEMORY2 = 2,
00654     EXTMEMORY0 = 3,
00655     EXTMEMORY1 = 4,
00656     EXTMEMORY2 = 5,
00657     OTHER0     = 6,
00658     OTHER1     = 7
00659 } IRES_EDMA3CHAN_DmaDestType;
00660
00679 typedef struct  IRES_EDMA3CHAN2_Obj {
00680
00681     IRES_Obj ires;
00682
00684     IRES_EDMA3CHAN_PaRamStruct * shadowPaRams;
00685
00687     unsigned int * assignedPaRamAddresses;
00688
00690     short * assignedPaRamIndices;
00691
00693     short * assignedTccIndices;
00694
00696     short assignedNumPaRams;
00697
00699     short assignedNumTccs;
00700
00702     short assignedQdmaChannelIndex;
00703
00705     short assignedEdmaChannelIndex;
00706
00708     unsigned int esrBitMaskL;
00709
00711     unsigned int esrBitMaskH;
00712
00714     unsigned int iprBitMaskL;
00715
00717     unsigned int iprBitMaskH;
00718
00719     XDAS_Int32 * queueMap;
00733 } IRES_EDMA3CHAN2_Obj;
00734
00735 #ifdef __cplusplus
00736 }
00737 #endif /* extern "C" */
00738
00741 #endif
00742 /*
00743  *  @(#) ti.sdo.fc.ires.edma3chan; 1, 0, 0,3; 8-28-2012 20:34:34; /db/atree/library/trees/fc/fc-r14/src/ xlibrary
00744
00745  */
00746


Framework Components Application Programming Interface (API): ires_hdvicp2.h Source File

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • hdvicp

ires_hdvicp2.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2012, Texas Instruments Incorporated
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * *  Redistributions of source code must retain the above copyright
00010  *    notice, this list of conditions and the following disclaimer.
00011  *
00012  * *  Redistributions in binary form must reproduce the above copyright
00013  *    notice, this list of conditions and the following disclaimer in the
00014  *    documentation and/or other materials provided with the distribution.
00015  *
00016  * *  Neither the name of Texas Instruments Incorporated nor the names of
00017  *    its contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00021  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00022  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00023  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00024  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00025  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00026  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00027  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00028  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00029  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00030  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031  *
00032  */
00048 #ifndef ti_sdo_fc_ires_hdvicp_IRES_HDVICP2_
00049 #define ti_sdo_fc_ires_hdvicp_IRES_HDVICP2_
00050
00053
00054
00055 #ifdef __cplusplus
00056 extern "C" {
00057 #endif
00058
00059 #include <ti/xdais/xdas.h>
00060 #include <ti/xdais/ires_common.h>
00061 #include <ti/xdais/ires.h>
00062
00066 #define IRES_HDVICP2_PROTOCOLNAME       "ti.sdo.fc.ires.hdvicp.hdvicp2"
00067
00079 #define HDVICP2_MODNAME  "ti.sdo.fc.ires.hdvicp2"
00080
00081
00087 #define IRES_HDVICP2_ID_ANY             -2
00088
00095 #define IRES_HDVICP2_ID_LATE_ACQUIRE    -1
00096
00103 #define IRES_HDVICP2_INVALID_ADDR 0xFFFFFFFF
00104
00111 #define IRES_HDVICP2_TIMEOUTFOREVER ((UInt)(-1))
00112
00123 #define IRES_HDVICP2_UNKNOWNLATEACQUIREARG (-1)
00124
00125 /*
00126  * Note, we wrap the PROTOCOLVERSION in an ifdef so the
00127  * resource managers and algs get this version data placed in their object
00128  * files.  Apps, which include rman.h, will have this 'NOPROTOCOLREV' defined.
00129  */
00130 #ifndef ti_sdo_fc_ires_NOPROTOCOLREV
00131
00135 static IRES_ProtocolRevision IRES_HDVICP2_PROTOCOLREVISION = {1, 0, 0};
00136
00137 #endif
00138
00142 typedef struct IRES_HDVICP2_Obj *IRES_HDVICP2_Handle;
00143
00144
00149 extern unsigned int ti_sdo_fc_ires_hdvicp_HDVICP2_timeoutVal;
00150
00154 typedef IRES_YieldArgs (* ti_sdo_fc_ires_hdvicp_HDVICP2_GetYieldArgsFxn)
00155         (Int scratchId);
00156
00160 typedef Void (* ti_sdo_fc_ires_hdvicp_HDVICP2_YieldFxn)
00161         (IRES_YieldResourceType resource, IRES_YieldContextHandle ctxt,
00162         IRES_YieldArgs args);
00163
00164
00165
00169 typedef struct IRES_HDVICP2_ProtocolArgs {
00170
00171     IRES_ProtocolArgs base;
00172     XDAS_Int32 id;
00178 } IRES_HDVICP2_ProtocolArgs;
00179
00184 typedef void (*IRES_HDVICP2_CallbackFxn)(IALG_Handle handle, Void * args);
00185
00194 typedef enum IRES_HDVICP2_Status {
00195     SAMECODEC = 0,
00196     SAMECODECTYPE = 1,
00198     DIFFERENTCODEC = 2
00199 } IRES_HDVICP2_Status;
00200
00201
00207 typedef struct  IRES_HDVICP2_Obj {
00208
00209     IRES_Obj ires;
00210     Void *info;
00211     XDAS_Int32 id;
00216     XDAS_Void *registerBaseAddress;
00219     XDAS_Void *memoryBaseAddress;
00222     XDAS_Void *resetControlAddress;
00256     XDAS_Void (*acquire)(IALG_Handle algHandle, struct IRES_HDVICP2_Obj * this,
00257             IRES_YieldContext * yieldCtxt, XDAS_UInt32 * hdvicp2Status,
00258             XDAS_UInt32 *configurationId, XDAS_Int32 lateAcquireArg);
00259
00265     XDAS_Void (*release)(IALG_Handle algHandle, struct IRES_HDVICP2_Obj * this);
00266
00276     XDAS_UInt32 (*reacquireIfOwner)(IALG_Handle algHandle,
00277             struct IRES_HDVICP2_Obj * this);
00278
00288     XDAS_Void (*configure)(IALG_Handle algHandle,
00289             struct IRES_HDVICP2_Obj * this,
00290             IRES_HDVICP2_CallbackFxn cbFunctionPtr, XDAS_Void * cbArgs);
00291
00305     XDAS_UInt32 (*wait)(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this,
00306             IRES_YieldContext * yieldCtxt);
00307
00317     XDAS_Void (*done) (IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this);
00318
00331     XDAS_UInt32 (*reset)(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this);
00332
00333 } IRES_HDVICP2_Obj;
00334
00335
00339 typedef struct IRES_HDVICP2_RegisterLayer {
00340
00341     int size;
00342     /* TBD */
00343 } IRES_HDVICP2_RegisterLayer;
00344
00348 typedef struct IRES_HDVICP2_Properties {
00349
00350     int size;
00351     IRES_HDVICP2_RegisterLayer *globalRegs;      /* Register layer of HDVICP2 */
00352 } IRES_HDVICP2_Properties;
00353
00354 typedef IRES_Status (*ti_sdo_fc_ires_hdvicp_HDVICP2_GetHdvicp2Fxn)
00355         (XDAS_Int32 *Id, IALG_Handle alg, IRES_HDVICP2_Handle handle);
00356
00357 typedef IRES_Status (*ti_sdo_fc_ires_hdvicp_HDVICP2_FreeHdvicp2Fxn)
00358        (XDAS_Int32 Id, IALG_Handle alg, IRES_HDVICP2_Handle handle);
00359
00360 #ifdef __cplusplus
00361 }
00362 #endif /* extern "C" */
00363
00366 #endif
00367 /*
00368  *  @(#) ti.sdo.fc.ires.hdvicp; 1, 0, 1,3; 8-28-2012 20:35:19; /db/atree/library/trees/fc/fc-r14/src/ xlibrary
00369
00370  */
00371


Framework Components Application Programming Interface (API): ires_hdvicp.h Source File

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • hdvicp

ires_hdvicp.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2012, Texas Instruments Incorporated
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * *  Redistributions of source code must retain the above copyright
00010  *    notice, this list of conditions and the following disclaimer.
00011  *
00012  * *  Redistributions in binary form must reproduce the above copyright
00013  *    notice, this list of conditions and the following disclaimer in the
00014  *    documentation and/or other materials provided with the distribution.
00015  *
00016  * *  Neither the name of Texas Instruments Incorporated nor the names of
00017  *    its contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00021  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00022  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00023  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00024  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00025  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00026  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00027  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00028  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00029  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00030  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031  *
00032  */
00048 #ifndef ti_sdo_fc_ires_hdvicp_IRES_HDVICP_
00049 #define ti_sdo_fc_ires_hdvicp_IRES_HDVICP_
00050
00053
00054
00055 #ifdef __cplusplus
00056 extern "C" {
00057 #endif
00058
00059 #include <ti/xdais/ires_common.h>
00060
00064 #define IRES_HDVICP_PROTOCOLNAME     "ti.sdo.fc.ires.hdvicp"
00065
00074 #define HDVICP_MODNAME  "ti.sdo.fc.ires.hdvicp"
00075
00076 /*
00077  * Note, we wrap the PROTOCOLVERSION in an ifdef so the
00078  * resource managers and algs get this version data placed in their object
00079  * files.  Apps, which include rman.h, will have this 'NOPROTOCOLREV' defined.
00080  */
00081 #ifndef ti_sdo_fc_ires_NOPROTOCOLREV
00082
00086 static IRES_ProtocolRevision IRES_HDVICP_PROTOCOLREVISION = {1, 0, 2};
00087
00088 #endif
00089
00093 typedef struct IRES_HDVICP_Obj *IRES_HDVICP_Handle;
00094
00098 typedef enum IRES_HDVICP_RequestType {
00099
00100     IRES_HDVICP_ID_0 = 0,
00101     IRES_HDVICP_ID_1 = 1,
00102     IRES_HDVICP_ID_ANY = 2
00103 } IRES_HDVICP_RequestType;
00104
00108 typedef struct IRES_HDVICP_ProtocolArgs {
00109
00110    IRES_ProtocolArgs base;
00111    IRES_HDVICP_RequestType id;
00116 } IRES_HDVICP_ProtocolArgs;
00117
00123 typedef struct  IRES_HDVICP_Obj {
00124
00125     IRES_Obj ires;
00126     Void * info ;
00127     Int id;
00131     Void * registerBaseAddress ;
00132     Void * memoryBaseAddress;
00133     unsigned int pscRegisterSpace;
00135 } IRES_HDVICP_Obj;
00136
00137
00141 typedef struct IRES_HDVICP_RegisterLayer {
00142
00143     int size;
00144 } IRES_HDVICP_RegisterLayer;
00145
00146
00150 typedef struct IRES_HDVICP_Properties {
00151
00152     int size;
00153     IRES_HDVICP_RegisterLayer *globalRegs;      /* Register layer of HDVICP */
00154 } IRES_HDVICP_Properties;
00155
00156 #ifdef __cplusplus
00157 }
00158 #endif /* extern "C" */
00159
00162 #endif
00163 /*
00164  *  @(#) ti.sdo.fc.ires.hdvicp; 1, 0, 1,3; 8-28-2012 20:35:19; /db/atree/library/trees/fc/fc-r14/src/ xlibrary
00165
00166  */
00167


Framework Components Application Programming Interface (API): ires_tiledmemory.h Source File

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • tiledmemory

ires_tiledmemory.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2012, Texas Instruments Incorporated
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * *  Redistributions of source code must retain the above copyright
00010  *    notice, this list of conditions and the following disclaimer.
00011  *
00012  * *  Redistributions in binary form must reproduce the above copyright
00013  *    notice, this list of conditions and the following disclaimer in the
00014  *    documentation and/or other materials provided with the distribution.
00015  *
00016  * *  Neither the name of Texas Instruments Incorporated nor the names of
00017  *    its contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00021  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00022  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00023  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00024  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00025  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00026  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00027  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00028  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00029  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00030  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031  *
00032  */
00048 #ifndef ti_sdo_fc_ires_tiledmemory_IRES_TILEDMEMORY_
00049 #define ti_sdo_fc_ires_tiledmemory_IRES_TILEDMEMORY_
00050
00053
00054
00055 #ifdef __cplusplus
00056 extern "C" {
00057 #endif
00058
00059 #include <ti/xdais/xdas.h>
00060 #include <ti/xdais/ires_common.h>
00061 #include <ti/xdais/ires.h>
00062
00066 #define IRES_TILEDMEMORY_PROTOCOLNAME       "ti.sdo.fc.ires.tiledmemory"
00067
00076 #define TILEDMEMORY_MODNAME  "ti.sdo.fc.ires.tiledmemory"
00077
00078 /*
00079  * Note, we wrap the PROTOCOLVERSION in an ifdef so the
00080  * resource managers and algs get this version data placed in their object
00081  * files.  Apps, which include rman.h, will have this 'NOPROTOCOLREV' defined.
00082  */
00083 #ifndef ti_sdo_fc_ires_NOPROTOCOLREV
00084
00088 static IRES_ProtocolRevision IRES_TILEDMEMORY_PROTOCOLREVISION = {1, 0, 0};
00089
00090 #endif
00091
00095 typedef struct IRES_TILEDMEMORY_Obj *IRES_TILEDMEMORY_Handle;
00096
00102 typedef enum IRES_TILEDMEMORY_AccessDimension {
00103     IRES_TILEDMEMORY_1D = 0,
00104     IRES_TILEDMEMORY_2D = 1
00105 } IRES_TILEDMEMORY_AccessDimension;
00106
00107
00113 typedef enum IRES_TILEDMEMORY_AccessUnit {
00114
00115     IRES_TILEDMEMORY_RAW = 0,
00117     IRES_TILEDMEMORY_PAGE = 1,
00118     IRES_TILEDMEMORY_8BIT = 2,
00119     IRES_TILEDMEMORY_16BIT = 3,
00120     IRES_TILEDMEMORY_32BIT = 4
00122 } IRES_TILEDMEMORY_AccessUnit;
00123
00127 typedef struct IRES_TILEDMEMORY_ProtocolArgs {
00128
00129     IRES_ProtocolArgs base;
00130
00131     XDAS_UInt32 accessDimension;
00134     XDAS_UInt32 accessUnit;
00138     int sizeDim0;
00139
00141     int sizeDim1;
00142
00144     int alignment;
00145
00146 } IRES_TILEDMEMORY_ProtocolArgs;
00147
00153 typedef struct IRES_TILEDMEMORY_Obj {
00154
00155     IRES_Obj ires;
00156     XDAS_Void * info ;
00157     XDAS_Void * memoryBaseAddress;
00161     XDAS_UInt32 isTiledMemory;
00172     XDAS_UInt32 accessUnit;
00183     XDAS_Void * tilerBaseAddress;
00184     XDAS_Void * systemSpaceBaseAddress;
00188 } IRES_TILEDMEMORY_Obj;
00189
00193 typedef struct IRES_TILEDMEMORY_RegisterLayer {
00194
00195     int size;
00196     /* TBD */
00197 } IRES_TILEDMEMORY_RegisterLayer;
00198
00202 typedef struct IRES_TILEDMEMORY_Properties {
00203
00204     int size;
00205 } IRES_TILEDMEMORY_Properties;
00206
00207 #ifdef __cplusplus
00208 }
00209 #endif /* extern "C" */
00210
00213 #endif
00214 /*
00215  *  @(#) ti.sdo.fc.ires.tiledmemory; 1, 0, 0,2; 8-28-2012 20:35:45; /db/atree/library/trees/fc/fc-r14/src/ xlibrary
00216
00217  */
00218


Framework Components Application Programming Interface (API): ires_vicp2.h Source File

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • vicp

ires_vicp2.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2012, Texas Instruments Incorporated
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * *  Redistributions of source code must retain the above copyright
00010  *    notice, this list of conditions and the following disclaimer.
00011  *
00012  * *  Redistributions in binary form must reproduce the above copyright
00013  *    notice, this list of conditions and the following disclaimer in the
00014  *    documentation and/or other materials provided with the distribution.
00015  *
00016  * *  Neither the name of Texas Instruments Incorporated nor the names of
00017  *    its contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00021  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00022  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00023  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00024  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00025  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00026  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00027  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00028  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00029  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00030  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031  *
00032  */
00048 #ifndef ti_sdo_fc_ires_vicp_IRES_VICP2_
00049 #define ti_sdo_fc_ires_vicp_IRES_VICP2_
00050
00053
00054
00055 #ifdef __cplusplus
00056 extern "C" {
00057 #endif
00058
00059 #include <ti/xdais/ires.h>
00060
00064 #define IRES_VICP2_MAXRESOURCES  1
00065
00066
00070 #define IRES_VICP2_PROTOCOLNAME     "ti.sdo.fc.ires.vicp2"
00071
00080 #define VICP2_MODNAME  "ti.sdo.fc.ires.vicp2"
00081
00085 #define IRES_VICP2_NUMBUFFERS      16
00086
00090 #define IRES_VICP2_BADRESOURCE     0xFFFFFFFF
00091
00096 #define IMCOP_BUFFER_IMGBUF_A           0x0
00097 #define IMCOP_BUFFER_IMGBUF_B           0x1
00098 #define IMCOP_BUFFER_IMGBUF_C           0x2
00099 #define IMCOP_BUFFER_IMGBUF_D           0x3
00100 #define IMCOP_BUFFER_IMGBUF_E           0x4
00101 #define IMCOP_BUFFER_IMX0COEFFBUF       0x5
00102 #define IMCOP_BUFFER_IMX0CMDBUF         0x6
00103 #define IMCOP_BUFFER_IMX1COEFFBUF       0x7
00104 #define IMCOP_BUFFER_IMX1CMDBUF         0x8
00106 #define IMCOP_BUFFER_BABYIMXCMDBUFFER   0x9
00107 #define IMCOP_BUFFER_BABYIMXORIGBUFFER  0xA
00108
00109 #define IMCOP_BUFFER_BABYIMXREFBUFFER   0xB
00110 #define IMCOP_BUFFER_SEQUENCERPMEM      0xC
00112 #define IMCOP_BUFFER_QIQMEM             0xD
00113 #define IMCOP_BUFFER_HUFFMEM            0xE
00114 #define IMCOP_BUFFER_SEQBUF4            0xF
00115
00116 /*
00117  * Note, we wrap the PROTOCOLVERSION in an ifdef so the
00118  * resource managers and algs get this version data placed in their object
00119  * files.  Apps, which include rman.h, will have this 'NOPROTOCOLREV' defined.
00120  */
00121 #ifndef ti_sdo_fc_ires_NOPROTOCOLREV
00122
00126 static IRES_ProtocolRevision IRES_VICP2_PROTOCOLREVISION = {1, 0, 0};
00127
00128 #endif
00129
00133 typedef struct IRES_VICP2_Obj *IRES_VICP2_Handle;
00134
00138 typedef struct IRES_VICP2_ProtocolArgs {
00139
00140     int                 size;
00141     IRES_RequestMode    mode;
00145     short               requestIMX0;
00146     short               requestIMX1;
00148     short               requestMJCP;
00149     short               requestNSF;
00151     unsigned int        requestIMCOPBuffers;
00158     unsigned int        numMemoryRequests;
00161     unsigned int        memRequestSizes[IRES_VICP2_NUMBUFFERS];
00164 } IRES_VICP2_ProtocolArgs;
00165
00171 typedef struct  IRES_VICP2_Obj {
00172
00173     IRES_Obj            ires;
00174     short               assignedIMX0;
00175     short               assignedIMX1;
00177     short               assignedMJCP;
00178     short               assignedNSF;
00179
00180     unsigned int        assignedIMCOPBuffers[IRES_VICP2_NUMBUFFERS];
00184     short               numMemBufs;
00186     unsigned int        assignedMemAddrs[IRES_VICP2_NUMBUFFERS];
00190     unsigned int        assignedMemSizes[IRES_VICP2_NUMBUFFERS];
00191
00192     unsigned int        configBaseAddress;
00194     unsigned int        dmaViewConfigBaseAddr;
00198     unsigned  int           pscRegisterSpace;
00201 } IRES_VICP2_Obj;
00202
00203 /*
00204  * @brief           VICP Buffer Layout
00205  */
00206 typedef struct IRES_VICP2_Buffers {
00207
00208     int size;
00210     unsigned char *vicp_cfg_base;
00211
00212     unsigned char *imgBufA_base;
00213     unsigned char *imgBufB_base;
00214     unsigned char *imgBufC_base;
00215     unsigned char *imgBufD_base;
00216     unsigned char *imgBufE_base;
00217     unsigned char *imx0CoeffBuff_base;
00218     unsigned char *imx0CmdBuf_base;
00219     unsigned char *imx1CoeffBuff_base;
00220     unsigned char *imx1CmdBuf_base;
00221
00222
00223     unsigned char *babyImxCmdBuf_base;
00224     unsigned char *babyImxOrigBuf_base;
00225     unsigned char *babyImxRefBuf_base;
00226     unsigned char *sequencerPmem_base;
00227     unsigned int  *qiqmem_base;
00228     unsigned int  *predmem_base;
00229     unsigned int  *mvmem;
00230     unsigned int  *huffmem;
00231     unsigned int  *seqBuf1;
00232     unsigned int  *seqBuf2;
00233     unsigned int  *seqBuf3;
00234     unsigned int  *seqBuf4;
00235     unsigned int  *sequencerDmem;
00236     /* . . . */
00237
00238 } IRES_VICP2_Buffers;
00239
00240
00241 /*
00242  * @brief       Static Resource Properties
00243  */
00244 typedef struct IRES_VICP2_Properties {
00245
00246     int size;
00247
00248     IRES_VICP2_Buffers buffers;
00249
00250 } IRES_VICP2_Properties;
00251
00252
00253 #ifdef __cplusplus
00254 }
00255 #endif /* extern "C" */
00256
00257
00260 #endif
00261 /*
00262  *  @(#) ti.sdo.fc.ires.vicp; 1, 0, 1,2; 8-28-2012 20:35:50; /db/atree/library/trees/fc/fc-r14/src/ xlibrary
00263
00264  */
00265


Framework Components Application Programming Interface (API): ires_vicp.h Source File

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • vicp

ires_vicp.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2012, Texas Instruments Incorporated
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * *  Redistributions of source code must retain the above copyright
00010  *    notice, this list of conditions and the following disclaimer.
00011  *
00012  * *  Redistributions in binary form must reproduce the above copyright
00013  *    notice, this list of conditions and the following disclaimer in the
00014  *    documentation and/or other materials provided with the distribution.
00015  *
00016  * *  Neither the name of Texas Instruments Incorporated nor the names of
00017  *    its contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00021  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00022  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00023  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00024  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00025  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00026  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00027  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00028  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00029  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00030  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031  *
00032  */
00048 #ifndef ti_sdo_fc_ires_vicp_IRES_VICP_
00049 #define ti_sdo_fc_ires_vicp_IRES_VICP_
00050
00053
00054
00055 #ifdef __cplusplus
00056 extern "C" {
00057 #endif
00058
00059 #include <ti/xdais/ires_common.h>
00060
00061 /*
00062  * @brief  Maximum number of VICP resources(components) to be managed
00063  */
00064 #define IRES_VICP_MAXRESOURCES  1
00065
00069 #define IRES_VICP_PROTOCOLNAME     "ti.sdo.fc.ires.vicp"
00070
00079 #define VICP_MODNAME  "ti.sdo.fc.ires.vicp"
00080
00081 /*
00082  * Note, we wrap the PROTOCOLVERSION in an ifdef so the
00083  * resource managers and algs get this version data placed in their object
00084  * files.  Apps, which include rman.h, will have this 'NOPROTOCOLREV' defined.
00085  */
00086 #ifndef ti_sdo_fc_ires_NOPROTOCOLREV
00087
00091 static IRES_ProtocolRevision IRES_VICP_PROTOCOLREVISION = {1, 0, 0};
00092
00093 #endif
00094
00098 typedef struct IRES_VICP_Obj *IRES_VICP_Handle;
00099
00103 typedef struct IRES_VICP_ProtocolArgs {
00104
00105     int size;
00106     IRES_RequestMode mode;      /* persistent or scratch resource requested */
00107     short requestIMX;           /* value of 1 to indicate resource requested,
00108                                    0 otherwise */
00109     short requestVLCD;
00110     short requestSEQ;
00111
00112 } IRES_VICP_ProtocolArgs;
00113
00119 typedef struct  IRES_VICP_Obj {
00120
00121     IRES_Obj ires;
00122     short assignedIMX;
00123     short assignedVLCD;
00124     short assignedSEQ;
00125
00126 } IRES_VICP_Obj;
00127
00128
00129 /*
00130  * @brief           VICP Register Layout
00131  */
00132 typedef struct IRES_VICP_Registers {
00133
00134     int size;
00136     unsigned char *vicp_umap1_base;
00137     unsigned char *vicp_cfg_base;
00138
00139     unsigned char *imgBuf_base;
00140     unsigned char *imgBufA_base;
00141     unsigned char *imgBufB_base;
00142     unsigned char *imxCoeffBuff_base;
00143     unsigned char *imxCmdBuf_base;
00144     unsigned char *vlcdDataBuf_base;
00145     unsigned char *qiqBuf_base;
00146     unsigned char *vlcdBuf_base;
00147     unsigned char *seqProgMem_base;
00148     unsigned char *seqDataMem_base;
00149
00150     unsigned int imgBuf_length;
00151     unsigned int imgBufA_length;
00152     unsigned int imgBufB_length;
00153     unsigned int imxCoeffBuff_length;
00154     unsigned int imxCmdBuf_length;
00155     unsigned int vlcdDataBuf_length;
00156     unsigned int qiqBuf_length;
00157     unsigned int vlcdBuf_length;
00158     unsigned int seqProgMem_length;
00159     unsigned int seqDataMem_length;
00160
00161     /* . . . */
00162
00163 } IRES_VICP_Registers;
00164
00165
00166 /*
00167  * @brief       Static Resource Properties
00168  */
00169 typedef struct IRES_VICP_Properties {
00170
00171     int size;
00172
00173     IRES_VICP_Registers *globalRegs;
00174
00175 } IRES_VICP_Properties;
00176
00177
00178 #ifdef __cplusplus
00179 }
00180 #endif /* extern "C" */
00181
00182
00185 #endif
00186 /*
00187  *  @(#) ti.sdo.fc.ires.vicp; 1, 0, 1,2; 8-28-2012 20:35:50; /db/atree/library/trees/fc/fc-r14/src/ xlibrary
00188
00189  */
00190


Framework Components Application Programming Interface (API): iresman.h Source File

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires

iresman.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2012, Texas Instruments Incorporated
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * *  Redistributions of source code must retain the above copyright
00010  *    notice, this list of conditions and the following disclaimer.
00011  *
00012  * *  Redistributions in binary form must reproduce the above copyright
00013  *    notice, this list of conditions and the following disclaimer in the
00014  *    documentation and/or other materials provided with the distribution.
00015  *
00016  * *  Neither the name of Texas Instruments Incorporated nor the names of
00017  *    its contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00021  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00022  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00023  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00024  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00025  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00026  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00027  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00028  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00029  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00030  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031  *
00032  */
00051 #ifndef ti_sdo_fc_ires_IRESMAN_
00052 #define ti_sdo_fc_ires_IRESMAN_
00053
00056
00057 #ifdef __cplusplus
00058 extern "C" {
00059 #endif
00060
00061 #include <ti/xdais/ires_common.h>
00062 #include <ti/xdais/ires.h>
00063
00068 typedef Bool (IRESMAN_PersistentAllocFxn)(IALG_MemRec *memTab, Int numRecs);
00069
00074 typedef Void (IRESMAN_PersistentFreeFxn)(IALG_MemRec *memTab, Int numRecs);
00075
00076
00082 typedef struct IRESMAN_Params {
00083     Int32 size;
00089     IRESMAN_PersistentAllocFxn * allocFxn;
00090
00095     IRESMAN_PersistentFreeFxn * freeFxn;
00096
00097 } IRESMAN_Params;
00098
00099 typedef struct IRESMAN_Fxns {
00100
00104     String (*getProtocolName)();
00105
00110     IRES_ProtocolRevision * (* getProtocolRevision)();
00111
00123     IRES_Status (* init)(IRESMAN_Params * initArgs);
00124
00132     IRES_Status (* exit)();
00133
00152     IRES_Handle (* getHandle)(IALG_Handle algHandle,
00153             IRES_ResourceDescriptor * resDesc, Int scratchGroupId,
00154             IRES_Status * status);
00155
00166     IRES_Status (* freeHandle)(IALG_Handle algHandle,
00167             IRES_Handle resourceHandle, IRES_ResourceDescriptor * resDesc,
00168             Int scratchGroupId);
00169
00170     /* Two new optional APIs */
00171     Void (* activateResource)(IALG_Handle algHandle, IRES_Fxns * resFxns);
00172
00173     Void (* deactivateResource)(IALG_Handle algHandle, IRES_Fxns * resFxns);
00174
00175 } IRESMAN_Fxns;
00176
00177 #ifdef __cplusplus
00178 }
00179 #endif
00180
00183 #endif
00184 /*
00185  *  @(#) ti.sdo.fc.ires; 2, 0, 0,3; 8-28-2012 20:34:12; /db/atree/library/trees/fc/fc-r14/src/ xlibrary
00186
00187  */
00188


Framework Components Application Programming Interface (API): iresman_edma3Chan.h Source File

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • edma3chan

iresman_edma3Chan.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2012, Texas Instruments Incorporated
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * *  Redistributions of source code must retain the above copyright
00010  *    notice, this list of conditions and the following disclaimer.
00011  *
00012  * *  Redistributions in binary form must reproduce the above copyright
00013  *    notice, this list of conditions and the following disclaimer in the
00014  *    documentation and/or other materials provided with the distribution.
00015  *
00016  * *  Neither the name of Texas Instruments Incorporated nor the names of
00017  *    its contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00021  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00022  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00023  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00024  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00025  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00026  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00027  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00028  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00029  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00030  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031  *
00032  */
00047 #ifndef ti_sdo_fc_ires_edma3chan_IRESMAN_EDMA3CHAN_
00048 #define ti_sdo_fc_ires_edma3chan_IRESMAN_EDMA3CHAN_
00049
00052
00053
00054 #ifdef __cplusplus
00055 extern "C" {
00056 #endif
00057
00058 #include <ti/sdo/fc/ires/iresman.h>
00059 #include <ti/sdo/fc/ires/iresman_protocol.h>
00060
00061 #include "iresman_protocol_edma3Chan.h"
00062
00067 typedef struct IRESMAN_Edma3ChanParams {
00068
00072     IRESMAN_Params baseConfig;
00073
00074 } IRESMAN_Edma3ChanParams ;
00075
00080 String IRESMAN_EDMA3CHAN_getProtocolName();
00081
00086 IRES_ProtocolRevision * IRESMAN_EDMA3CHAN_getProtocolRevision();
00087
00099 IRES_Status IRESMAN_EDMA3CHAN_init( IRESMAN_Params * initArgs);
00100
00108 IRES_Status IRESMAN_EDMA3CHAN_exit();
00109
00126 IRES_Handle IRESMAN_EDMA3CHAN_getHandles(IALG_Handle algHandle,
00127         IRES_ResourceDescriptor *resDesc, Int scratchGroupId,
00128         IRES_Status *status);
00129
00144 IRES_Status IRESMAN_EDMA3CHAN_freeHandle(IALG_Handle algHandle,
00145         IRES_Handle algResourceHandle, IRES_ResourceDescriptor *resDesc,
00146         Int scratchGroupId);
00147
00152 extern __FAR__ IRESMAN_PersistentAllocFxn _RMAN_allocPersistent;
00153
00158 extern __FAR__ IRESMAN_PersistentFreeFxn _RMAN_freePersistent;
00159
00163 extern IRESMAN_Fxns IRESMAN_EDMA3CHAN;
00164
00165 #ifdef __cplusplus
00166 }
00167 #endif /* extern "C" */
00168
00169
00172 #endif
00173 /*
00174  *  @(#) ti.sdo.fc.ires.edma3chan; 1, 0, 0,3; 8-28-2012 20:34:35; /db/atree/library/trees/fc/fc-r14/src/ xlibrary
00175
00176  */
00177


Framework Components Application Programming Interface (API): iresman_hdvicp.h Source File

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • hdvicp

iresman_hdvicp.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2012, Texas Instruments Incorporated
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * *  Redistributions of source code must retain the above copyright
00010  *    notice, this list of conditions and the following disclaimer.
00011  *
00012  * *  Redistributions in binary form must reproduce the above copyright
00013  *    notice, this list of conditions and the following disclaimer in the
00014  *    documentation and/or other materials provided with the distribution.
00015  *
00016  * *  Neither the name of Texas Instruments Incorporated nor the names of
00017  *    its contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00021  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00022  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00023  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00024  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00025  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00026  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00027  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00028  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00029  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00030  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031  *
00032  */
00048 #ifndef ti_sdo_fc_ires_hdvicp_IRESMAN_HDVICP_
00049 #define ti_sdo_fc_ires_hdvicp_IRESMAN_HDVICP_
00050
00053
00054
00055 #ifdef __cplusplus
00056 extern "C" {
00057 #endif
00058
00059 #include <ti/sdo/fc/ires/iresman.h>
00060
00061 /*
00062  *      @brief Maximum number of resources that can be managed
00063  */
00064 #define IRES_HDVICP_MAXRESOURCES 10
00065
00066 typedef struct IRESMAN_HdVicpParams {
00067
00068     IRESMAN_Params baseConfig;
00069
00070     int numResources;           /* Number of HDVICP resources to be managed */
00071
00072     Void * info;
00073
00074 } IRESMAN_HdVicpParams;
00075
00080 String IRESMAN_HDVICP_getProtocolName();
00081
00086 IRES_ProtocolRevision * IRESMAN_HDVICP_getProtocolRevision();
00087
00099 IRES_Status IRESMAN_HDVICP_init( IRESMAN_Params * initArgs);
00100
00108 IRES_Status IRESMAN_HDVICP_exit();
00109
00126 IRES_Handle IRESMAN_HDVICP_getHandles(IALG_Handle algHandle,
00127         IRES_ResourceDescriptor *resDesc, Int scratchGroupId,
00128         IRES_Status *status);
00129
00144 IRES_Status IRESMAN_HDVICP_freeHandles(IALG_Handle algHandle,
00145         IRES_Handle algResourceHandle, IRES_ResourceDescriptor *resDesc,
00146         Int scratchGroupId);
00147
00152 extern __FAR__ IRESMAN_PersistentAllocFxn _RMAN_allocPersistent;
00153
00158 extern __FAR__ IRESMAN_PersistentFreeFxn _RMAN_freePersistent;
00159
00163 extern IRESMAN_Fxns IRESMAN_HDVICP;
00164
00165
00166 #ifdef __cplusplus
00167 }
00168 #endif /* extern "C" */
00169
00170
00173 #endif
00174 /*
00175  *  @(#) ti.sdo.fc.ires.hdvicp; 1, 0, 1,3; 8-28-2012 20:35:19; /db/atree/library/trees/fc/fc-r14/src/ xlibrary
00176
00177  */
00178


Framework Components Application Programming Interface (API): iresman_protocol.h Source File

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires

iresman_protocol.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2012, Texas Instruments Incorporated
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * *  Redistributions of source code must retain the above copyright
00010  *    notice, this list of conditions and the following disclaimer.
00011  *
00012  * *  Redistributions in binary form must reproduce the above copyright
00013  *    notice, this list of conditions and the following disclaimer in the
00014  *    documentation and/or other materials provided with the distribution.
00015  *
00016  * *  Neither the name of Texas Instruments Incorporated nor the names of
00017  *    its contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00021  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00022  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00023  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00024  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00025  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00026  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00027  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00028  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00029  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00030  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031  *
00032  */
00041 #ifndef IRESMAN_PROTOCOL
00042 #define IRESMAN_PROTOCOL
00043
00046
00047
00048 #ifdef __cplusplus
00049 extern "C" {
00050 #endif
00051
00052 #include <ti/xdais/ires_common.h>
00053
00060 typedef struct IRESMAN_ConstructArgs {
00061
00062     Int32 size;   /* size of this structure */
00063
00064 } IRESMAN_ConstructArgs;
00065
00066
00104 typedef struct IRESMAN_ConstructFxns {
00105
00109     String (*getName)();
00110
00114     IRES_ProtocolRevision * (* getRevision)();
00115
00137     IRES_Status (*getMemRecs)(IRES_Handle handle,
00138             IRES_ProtocolArgs *protocolArgs, IALG_MemRec *memRecs);
00139
00144     Int (*getNumMemRecs)(IRES_ProtocolArgs *protocolArgs);
00145
00146
00162     IRES_Handle (*constructHandle)(IRES_ProtocolArgs *protocolArgs,
00163             IALG_MemRec *memRecs,
00164             IRESMAN_ConstructArgs * constructHandleArgs,
00165             IRES_Status *status);
00166
00171     IRES_Status (*destructHandle)(IRES_Handle handle);
00172
00173 } IRESMAN_ConstructFxns;
00174
00175
00176 #ifdef __cplusplus
00177 }
00178 #endif /* extern "C" */
00179
00182 #endif  /* IRESMAN_PROTOCOL */
00183 /*
00184  *  @(#) ti.sdo.fc.ires; 2, 0, 0,3; 8-28-2012 20:34:12; /db/atree/library/trees/fc/fc-r14/src/ xlibrary
00185
00186  */
00187


Framework Components Application Programming Interface (API): iresman_tiledmemory.h Source File

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • tiledmemory

iresman_tiledmemory.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2012, Texas Instruments Incorporated
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * *  Redistributions of source code must retain the above copyright
00010  *    notice, this list of conditions and the following disclaimer.
00011  *
00012  * *  Redistributions in binary form must reproduce the above copyright
00013  *    notice, this list of conditions and the following disclaimer in the
00014  *    documentation and/or other materials provided with the distribution.
00015  *
00016  * *  Neither the name of Texas Instruments Incorporated nor the names of
00017  *    its contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00021  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00022  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00023  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00024  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00025  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00026  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00027  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00028  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00029  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00030  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031  *
00032  */
00048 #ifndef ti_sdo_fc_ires_tiledmemory_IRESMAN_TILEDMEMORY_
00049 #define ti_sdo_fc_ires_tiledmemory_IRESMAN_TILEDMEMORY_
00050
00053
00054 #ifdef __cplusplus
00055 extern "C" {
00056 #endif
00057
00058 #include <ti/sdo/fc/ires/iresman.h>
00059
00060 /*
00061  *      @brief Maximum number of resources that can be managed
00062  */
00063 #define IRES_TILEDMEMORY_MAXRESOURCES 10
00064
00065 typedef struct IRESMAN_TiledmemoryParams {
00066
00067     IRESMAN_Params baseConfig;
00068
00069     int numResources;       /* Number of TILEDMEMORY resources to be managed */
00070
00071     Void * info;
00072
00073 } IRESMAN_TiledmemoryParams;
00074
00079 String IRESMAN_TILEDMEMORY_getProtocolName();
00080
00085 IRES_ProtocolRevision * IRESMAN_TILEDMEMORY_getProtocolRevision();
00086
00098 IRES_Status IRESMAN_TILEDMEMORY_init( IRESMAN_Params * initArgs);
00099
00107 IRES_Status IRESMAN_TILEDMEMORY_exit();
00108
00125 IRES_Handle IRESMAN_TILEDMEMORY_getHandles(IALG_Handle algHandle,
00126         IRES_ResourceDescriptor * resDesc, Int scratchGroupId,
00127         IRES_Status *status);
00128
00143 IRES_Status IRESMAN_TILEDMEMORY_freeHandles(IALG_Handle algHandle,
00144         IRES_Handle algResourceHandle, IRES_ResourceDescriptor * resDesc,
00145         Int scratchGroupId);
00146
00151 extern __FAR__ IRESMAN_PersistentAllocFxn _RMAN_allocPersistent;
00152
00157 extern __FAR__ IRESMAN_PersistentFreeFxn _RMAN_freePersistent;
00158
00162 extern IRESMAN_Fxns IRESMAN_TILEDMEMORY;
00163
00164
00165 #ifdef __cplusplus
00166 }
00167 #endif /* extern "C" */
00168
00169
00172 #endif
00173 /*
00174  *  @(#) ti.sdo.fc.ires.tiledmemory; 1, 0, 0,2; 8-28-2012 20:35:45; /db/atree/library/trees/fc/fc-r14/src/ xlibrary
00175
00176  */
00177


Framework Components Application Programming Interface (API): iresman_vicp2.h Source File

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • vicp

iresman_vicp2.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2012, Texas Instruments Incorporated
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * *  Redistributions of source code must retain the above copyright
00010  *    notice, this list of conditions and the following disclaimer.
00011  *
00012  * *  Redistributions in binary form must reproduce the above copyright
00013  *    notice, this list of conditions and the following disclaimer in the
00014  *    documentation and/or other materials provided with the distribution.
00015  *
00016  * *  Neither the name of Texas Instruments Incorporated nor the names of
00017  *    its contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00021  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00022  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00023  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00024  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00025  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00026  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00027  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00028  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00029  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00030  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031  *
00032  */
00048 #ifndef ti_sdo_fc_ires_vicp_IRESMAN_VICP2_
00049 #define ti_sdo_fc_ires_vicp_IRESMAN_VICP2_
00050
00053
00054
00055 #ifdef __cplusplus
00056 extern "C" {
00057 #endif
00058
00059 #include <ti/sdo/fc/ires/iresman.h>
00060
00061 /*
00062  * Initialization arguements for the device specific resource manager
00063  */
00064 typedef struct IRESMAN_VicpParams {
00065     IRESMAN_Params baseConfig;
00066 } IRESMAN_VicpParams;
00067
00072 String IRESMAN_VICP2_getProtocolName();
00073
00078 IRES_ProtocolRevision * IRESMAN_VICP2_getProtocolRevision();
00079
00091 IRES_Status IRESMAN_VICP2_init( IRESMAN_Params * initArgs);
00092
00093
00101 IRES_Status IRESMAN_VICP2_exit();
00102
00119 IRES_Handle IRESMAN_VICP2_getHandles( IALG_Handle algHandle,
00120     IRES_ResourceDescriptor *resDesc, Int scratchGroupId, IRES_Status *status);
00121
00122
00137 IRES_Status IRESMAN_VICP2_freeHandles(IALG_Handle algHandle,
00138         IRES_Handle algResourceHandle, IRES_ResourceDescriptor *resDesc,
00139         Int scratchGroupId);
00140
00145 extern __FAR__ IRESMAN_PersistentAllocFxn _RMAN_allocPersistent;
00146
00147
00152 extern __FAR__ IRESMAN_PersistentFreeFxn _RMAN_freePersistent;
00153
00154
00158 extern IRESMAN_Fxns IRESMAN_VICP2;
00159
00160
00161 #ifdef __cplusplus
00162 }
00163 #endif /* extern "C" */
00164
00165
00168 #endif
00169 /*
00170  *  @(#) ti.sdo.fc.ires.vicp; 1, 0, 1,2; 8-28-2012 20:35:51; /db/atree/library/trees/fc/fc-r14/src/ xlibrary
00171
00172  */
00173


Framework Components Application Programming Interface (API): iresman_vicp.h Source File

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • vicp

iresman_vicp.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2012, Texas Instruments Incorporated
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * *  Redistributions of source code must retain the above copyright
00010  *    notice, this list of conditions and the following disclaimer.
00011  *
00012  * *  Redistributions in binary form must reproduce the above copyright
00013  *    notice, this list of conditions and the following disclaimer in the
00014  *    documentation and/or other materials provided with the distribution.
00015  *
00016  * *  Neither the name of Texas Instruments Incorporated nor the names of
00017  *    its contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00021  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00022  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00023  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00024  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00025  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00026  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00027  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00028  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00029  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00030  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031  *
00032  */
00048 #ifndef ti_sdo_fc_ires_vicp_IRESMAN_VICP_
00049 #define ti_sdo_fc_ires_vicp_IRESMAN_VICP_
00050
00053
00054
00055 #ifdef __cplusplus
00056 extern "C" {
00057 #endif
00058
00059 #include <ti/sdo/fc/ires/iresman.h>
00060
00061 /*
00062  * Initialization arguements for the device specific resource manager
00063  */
00064 typedef struct IRESMAN_VicpParams {
00065     IRESMAN_Params baseConfig;
00066 } IRESMAN_VicpParams;
00067
00072 String IRESMAN_VICP_getProtocolName();
00073
00078 IRES_ProtocolRevision * IRESMAN_VICP_getProtocolRevision();
00079
00091 IRES_Status IRESMAN_VICP_init( IRESMAN_Params * initArgs);
00092
00093
00101 IRES_Status IRESMAN_VICP_exit();
00102
00119 IRES_Handle IRESMAN_VICP_getHandles( IALG_Handle algHandle,
00120     IRES_ResourceDescriptor *resDesc, Int scratchGroupId, IRES_Status *status);
00121
00122
00137 IRES_Status IRESMAN_VICP_freeHandles(IALG_Handle algHandle,
00138         IRES_Handle algResourceHandle, IRES_ResourceDescriptor *resDesc,
00139         Int scratchGroupId);
00140
00145 extern __FAR__ IRESMAN_PersistentAllocFxn _RMAN_allocPersistent;
00146
00147
00152 extern __FAR__ IRESMAN_PersistentFreeFxn _RMAN_freePersistent;
00153
00154
00158 extern IRESMAN_Fxns IRESMAN_VICP;
00159
00160
00161 #ifdef __cplusplus
00162 }
00163 #endif /* extern "C" */
00164
00165
00168 #endif
00169 /*
00170  *  @(#) ti.sdo.fc.ires.vicp; 1, 0, 1,2; 8-28-2012 20:35:51; /db/atree/library/trees/fc/fc-r14/src/ xlibrary
00171
00172  */
00173


Framework Components Application Programming Interface (API): memutils.h Source File

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • memutils

memutils.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2012, Texas Instruments Incorporated
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * *  Redistributions of source code must retain the above copyright
00010  *    notice, this list of conditions and the following disclaimer.
00011  *
00012  * *  Redistributions in binary form must reproduce the above copyright
00013  *    notice, this list of conditions and the following disclaimer in the
00014  *    documentation and/or other materials provided with the distribution.
00015  *
00016  * *  Neither the name of Texas Instruments Incorporated nor the names of
00017  *    its contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00021  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00022  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00023  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00024  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00025  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00026  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00027  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00028  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00029  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00030  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031  *
00032  */
00051 #ifndef ti_sdo_fc_memutils_MEMUTILS
00052 #define ti_sdo_fc_memutils_MEMUTILS
00053
00056
00057
00058 #ifdef __cplusplus
00059 extern "C" {
00060 #endif
00061
00066 #define MEMUTILS_MODNAME "ti.sdo.fc.memutils"
00067
00068 /*
00069  *  ======== MEMUTILS_cacheInv ========
00070  */
00087 extern Void MEMUTILS_cacheInv(Ptr addr, Int sizeInBytes);
00088
00089 /*
00090  *  ======== MEMUTILS_cacheWb ========
00091  */
00102 extern Void MEMUTILS_cacheWb(Ptr addr, Int sizeInBytes);
00103
00104
00105 /*
00106  *  ======== MEMUTILS_cacheWbInv ========
00107  */
00118 extern Void MEMUTILS_cacheWbInv(Ptr addr, Int sizeInBytes);
00119
00120
00121 /*
00122  *  ======== MEMUTILS_getPhysicalAddr ========
00123  */
00131 extern Void * MEMUTILS_getPhysicalAddr(Ptr addr);
00132
00133
00134 #ifdef __cplusplus
00135 }
00136 #endif /* extern "C" */
00137
00138
00141 #endif
00142 /*
00143  *  @(#) ti.sdo.fc.memutils; 1, 0, 0,2; 8-28-2012 20:36:02; /db/atree/library/trees/fc/fc-r14/src/ xlibrary
00144
00145  */
00146


Framework Components Application Programming Interface (API): Page Index

Related Pages

Here is a list of all related documentation pages:
  • Disclaimer


Framework Components Application Programming Interface (API): rman.h Source File

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • rman

rman.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2012, Texas Instruments Incorporated
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * *  Redistributions of source code must retain the above copyright
00010  *    notice, this list of conditions and the following disclaimer.
00011  *
00012  * *  Redistributions in binary form must reproduce the above copyright
00013  *    notice, this list of conditions and the following disclaimer in the
00014  *    documentation and/or other materials provided with the distribution.
00015  *
00016  * *  Neither the name of Texas Instruments Incorporated nor the names of
00017  *    its contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00021  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00022  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00023  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00024  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00025  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00026  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00027  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00028  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00029  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00030  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031  *
00032  */
00050 #ifndef ti_sdo_fc_rman__RMAN_
00051 #define ti_sdo_fc_rman__RMAN_
00052
00053 #define ti_sdo_fc_ires_NOPROTOCOLREV
00054
00055 #ifdef __cplusplus
00056 extern "C" {
00057 #endif
00058
00061
00062 #include <ti/xdais/ires.h>
00063 #include <ti/sdo/fc/ires/iresman.h>
00064
00073 #define RMAN_MODNAME  "ti.sdo.fc.rman"
00074
00078 #define RMAN_GTNAME  "ti.sdo.fc.rman"
00079
00083 #define RMAN_PROTOCOLNAMESIZE 200
00084
00088 typedef struct Sem_Obj * RMAN_SemHandle;
00089
00095 typedef IRES_YieldArgs (* ti_sdo_fc_rman_RMAN_YieldArgsFxn)
00096     (Int scratchId, Bool yieldFlag);
00097
00108 typedef struct RMAN_Params {
00109
00113     short numRegistries;
00114
00118     IRESMAN_PersistentAllocFxn * allocFxn;
00119
00123     IRESMAN_PersistentFreeFxn * freeFxn;
00124
00129     IRES_YieldFxn yieldFxn;
00130
00134     Bool yieldSamePriority;
00135
00136 } RMAN_Params;
00137
00141 extern __FAR__ RMAN_Params RMAN_PARAMS;
00142
00146 extern __FAR__ IRESMAN_Fxns * RMAN_TABLE[];
00147
00151 extern __FAR__ short RMAN_FREE_ENTRIES[];
00152
00158 extern __FAR__ short RMAN_numRegistryEntries;
00159
00165 extern __FAR__ IRESMAN_Fxns ** RMAN_registryEntries;
00166
00171 extern __FAR__ IRESMAN_Params ** RMAN_registryResmanArgs;
00172
00177 extern __FAR__ unsigned int ** RMAN_iresVTable;
00178
00182 extern __FAR__ unsigned int ti_sdo_fc_rman_RMAN_MAXALGS;
00183
00187 extern UInt32 ti_sdo_fc_rman_RMAN_ipcKey;
00188
00193 extern ti_sdo_fc_rman_RMAN_YieldArgsFxn ti_sdo_fc_rman_RMAN_setYieldArgs;
00194
00204 IRES_Status RMAN_init(Void);
00205
00206
00213 IRES_Status RMAN_exit(Void);
00214
00215
00232 IRES_Status RMAN_register(IRESMAN_Fxns * resmanFxns, IRESMAN_Params * initArgs);
00233
00234
00245 IRES_Status RMAN_unregister(IRESMAN_Fxns * resmanFxns);
00246
00270 IRES_Status RMAN_assignResources(IALG_Handle algHandle, IRES_Fxns * resFxns,
00271     Int scratchGroupId);
00272
00273
00304 IRES_Status RMAN_allocateResources(Int requestId,
00305     IRES_ResourceDescriptor * resDesc, Int numResources, Int scratchGroupId);
00306
00307
00326 IRES_Status RMAN_freeResources(IALG_Handle algHandle, IRES_Fxns * resFxns, Int
00327     scratchGroupId);
00328
00353 IRES_Status RMAN_freeAllocatedResources (Int requestId,
00354         IRES_ResourceDescriptor *resDesc, Int numResources, Int scratchGroupId);
00355
00368 IRES_Status RMAN_activateResource(IALG_Handle algHandle,
00369     IRES_Handle resourceHandle, IRES_Fxns * resFxns, Int scratchGroupId);
00370
00380 IRES_Status RMAN_activateAllResources(IALG_Handle algHandle,
00381     IRES_Fxns * resFxns, Int scratchGroupId);
00382
00395 IRES_Status RMAN_deactivateResource(IALG_Handle algHandle,
00396     IRES_Handle resourceHandle, IRES_Fxns * resFxns, Int scratchGroupId);
00397
00408 IRES_Status RMAN_deactivateAllResources(IALG_Handle algHandle,
00409     IRES_Fxns * resFxns, Int scratchGroupId);
00410
00411
00431 void RMAN_yield(IRES_YieldResourceType resource,
00432     IRES_YieldContextHandle algYieldContext, IRES_YieldArgs yieldArgs);
00433
00434
00437 #ifdef __cplusplus
00438 }
00439 #endif /* extern "C" */
00440
00441 #endif
00442 /*
00443  *  @(#) ti.sdo.fc.rman; 2, 0, 0,2; 8-28-2012 20:36:20; /db/atree/library/trees/fc/fc-r14/src/ xlibrary
00444
00445  */
00446


Framework Components Application Programming Interface (API): xdas.h Source File

  • File List
  • Globals
  • fctools
  • packages
  • ti
  • xdais

xdas.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2012, Texas Instruments Incorporated
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * *  Redistributions of source code must retain the above copyright
00010  *    notice, this list of conditions and the following disclaimer.
00011  *
00012  * *  Redistributions in binary form must reproduce the above copyright
00013  *    notice, this list of conditions and the following disclaimer in the
00014  *    documentation and/or other materials provided with the distribution.
00015  *
00016  * *  Neither the name of Texas Instruments Incorporated nor the names of
00017  *    its contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00021  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00022  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00023  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00024  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00025  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00026  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00027  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00028  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00029  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00030  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031  *
00032  */
00045 #ifndef ti_xdais_XDAS_
00046 #define ti_xdais_XDAS_
00047
00048 #ifdef __cplusplus
00049 extern "C" {
00050 #endif
00051
00054
00055
00056 #define XDAS_TRUE       1
00057 #define XDAS_FALSE      0
00058
00059
00060 typedef Void            XDAS_Void;
00061 typedef Uint8           XDAS_Bool;
00062
00063
00064 typedef Int8            XDAS_Int8;
00065 typedef Uint8           XDAS_UInt8;
00066 typedef Int16           XDAS_Int16;
00067 typedef Uint16          XDAS_UInt16;
00068 typedef Int32           XDAS_Int32;
00069 typedef Uint32          XDAS_UInt32;
00073
00074
00075 #ifdef __cplusplus
00076 }
00077 #endif
00078
00079 #endif  /* ti_xdais_XDAS_ */
00080 /*
00081  *  @(#) ti.xdais; 1, 2.0, 1,1; 6-19-2012 17:57:46; /db/wtree/library/trees/dais/dais-w06/src/ xlibrary
00082
00083  */
00084