Framework Components: Framework Components API Reference

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

Framework Components API Reference

fc-p01

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.
  • HDINTC Interrupt registration
    • HDINTC - Application interface to the interrupt registery manager. Registers non-BIOS, non-dispatched interrupt service handlers to register and sychronize with HDVICP interrupts. This utilizes the XDAIS IRES interface (HDVICP specific), which XDAIS algorithms that use HDVICP hardware accelarators must implement.
  • HDVICPSYNC Kaleido synchronization
    • HDVICPSYNC - API for synchronization between codecs and HDVICP coprocessor usage
  • VICPSYNC VICP synchronization
    • VICPSYNC - API for synchronization between codecs and VICP coprocessor usage
  • MEMUTILS Memory APIs -MEMUTILS - API for cache management functions called by algorithms. Also has APIs for managing address translation on devices with MMUs.
  • EDMA3 QDMA Resource Management
    • DMAN3 - DMA Manager library. A library for managing DMA hardware resources for XDAIS algorithms. This utilizes the IDMA3 interface (EDMA3 specific), which XDAIS algorithms must implement to enable DMAN3 to manage their DMA resources.
    • ACPY3 - High-Performance Functional DMA Interface and common library for EDMA3-based devices.
  • 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.
  • HDVICP Resources
    • IRES_HDVICP - HDVICP specific IRES Protocol implementation.
    • IRESMAN_HDVICP - HDVICP specific IRESMAN implementation.
  • VICP Resources
    • IRES_VICP - VICP specific IRES Protocol implementation.
    • IRES_VICP2 - VICP specific IRES Protocol implementation for DM360 VICP.
    • IRESMAN_VICP - VICP specific IRESMAN implementation.
    • IRESMAN_VICP2 - VICP specific IRESMAN implementation for DM360 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 OMAP3430.
  • Other Resources
    • SHMBUF Shared Memory Resource - A Linux Shared Memory Buffer
    • ADDRSPACE Address Space Resource - An OS agnostic hardware address access mechanism.
    • MEMTCM Shared TCM Memory Resource - A CMEM (Linux) based ARM TCM memory resource manager

Additionally, there are several utility modules provided:

  • ti.sdo.fc.utils - Utilities which frameworks can built upon, including Design By Contract (DBC) and Debug tracing tools (DBG).
  • GT - provides "Generic Trace" facilities, to support portable, flexible tracing mechanisms.
Copyright 2010, Texas Instruments Incorporated


Framework Components:

  • 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: Module Index

Modules

Here is a list of all modules:
  • IALG - XDAIS Algorithm Interface
  • IDMA3 (C64P)
  • IRES
  • ACPY3 (C64P)
  • DMAN3
  • DSKT2
  • HDINTC
  • HDVICPSYNC
  • Resource manager interface
  • MEMUTILS
  • Resource Manager for IRES-based resources
  • DBC
  • VICPSYNC
  • Generic Trace Support
  • XDAIS Types and Constants
  • Ti_sdo_fc_ires_addrspace_IRESMAN_ADDRSPACE
  • IRES EDMA3 Protocol
  • IRESMAN EDMA3 -
  • IRES HDVICP Protocol
  • IRESMAN PROTOCOL - HDVICP
  • Ti_sdo_fc_ires_memtcm_IRESMAN_MEMTCM
  • IRES SDMA Protocol
  • IRESMAN SDMA -
  • Shared Memory Buffer Protocol
  • IRES VICP Protocol
  • IRES VICP Protocol
  • IRESMAN PROTOCOL - VICP
  • IRESMAN PROTOCOL - VICP
  • SCPY - Functional library for SDMA resources


Framework Components: IALG - XDAIS Algorithm Interface

IALG - XDAIS Algorithm Interface

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...

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)

Typedefs

typedef struct IALG_Obj * | IALG_Handle
Handle to an algorithm instance object.
typedef unsigned int | IALG_Cmd
Algorithm specific command.

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 struct IALG_Obj* IALG_Handle

Handle to an algorithm instance object.

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.

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

IALG_IPROG

Internal program memory

IALG_ESDATA

Off-chip data memory (accessed sequentially)

IALG_EXTERNAL

Off-chip data memory (accessed randomly)

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: IDMA3 (C64P)

IDMA3 (C64P)

Data Structures

struct | IDMA3_MemRec
Record containing attributes of the IDMA3 Channel environment memory when (optionally) the IDMA3 Channel is requested with a non-NULL IDMA3_ProtocolObj. More...
struct | IDMA3_ChannelRec
DMA Channel Descriptor to logical DMA channels. More...
struct | IDMA3_Fxns
These fxns are used to query/grant the DMA 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...
struct | IDMA3_ProtocolObj
These functions are used to determine memory requirements for and initialize the IDMA3 protocol's environment that will be allocated by the DMA manager. More...
struct | IDMA3_Obj
IDMA3_Obj holds the private state associated with each logical DMA channel. More...

Defines

#define | IDMA3_PROTOCOL_NULL ((IDMA3_ProtocolHandle)NULL)
NULL protocol definition.

Typedefs

typedef struct IDMA3_Obj * | IDMA3_Handle
Handle to "logical" DMA channel.
typedef struct IDMA3_ProtocolObj * | IDMA3_ProtocolHandle
Handle to IDMA3 protocol object.

Enumerations

enum IDMA3_MemType {
IDMA3_INTERNAL,
IDMA3_EXTERNAL
}

Memory space descriptors for IDMA3_MemRec.

More...
enum IDMA3_Priority {
IDMA3_PRIORITY_URGENT,
IDMA3_PRIORITY_HIGH,
IDMA3_PRIORITY_MEDIUM,
IDMA3_PRIORITY_LOW
}

IDMA3 Priority Levels.

More...

Detailed Description

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

Define Documentation

#define IDMA3_PROTOCOL_NULL ((IDMA3_ProtocolHandle)NULL)

NULL protocol definition.

The NULL protocol can be used when no protocol is needed, e.g. when the algorithm directly accesses the eDMA PaRAM registers, or when the DMA driver library used does not retain any state. When the NULL protocol is used 'env' buffer is not allocated

Typedef Documentation

typedef struct IDMA3_Obj* IDMA3_Handle

Handle to "logical" DMA channel.

typedef struct IDMA3_ProtocolObj* IDMA3_ProtocolHandle

Handle to IDMA3 protocol object.

Enumeration Type Documentation

enum IDMA3_MemType

Memory space descriptors for IDMA3_MemRec.

Enumerator:
IDMA3_INTERNAL

Internal data memory.

IDMA3_EXTERNAL

External data memory.

enum IDMA3_Priority

IDMA3 Priority Levels.

Enumerator:
IDMA3_PRIORITY_URGENT
IDMA3_PRIORITY_HIGH
IDMA3_PRIORITY_MEDIUM
IDMA3_PRIORITY_LOW


Framework Components: IRES

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 Void(* | IRES_ContextSaveFxn )(IALG_Handle algHandle, Void *contextArgs)
typedef Void(* | IRES_ContextRestoreFxn )(IALG_Handle algHandle, Void *contextArgs)
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.

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 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 Void(* IRES_ContextSaveFxn)(IALG_Handle algHandle, Void *contextArgs)
typedef Void(* IRES_ContextRestoreFxn)(IALG_Handle algHandle, Void *contextArgs)
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_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: ACPY3 (C64P)

ACPY3 (C64P)

Data Structures

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

Defines

#define | ACPY3_GTNAME "ti.sdo.fc.acpy3"

Enumerations

enum ACPY3_ParamField16b {
ACPY3_PARAMFIELD_ELEMENTSIZE = 8,
ACPY3_PARAMFIELD_NUMELEMENTS = 10,
ACPY3_PARAMFIELD_ELEMENTINDEX_SRC = 16,
ACPY3_PARAMFIELD_ELEMENTINDEX_DST = 18,
ACPY3_PARAMFIELD_FRAMEINDEX_SRC = 24,
ACPY3_PARAMFIELD_FRAMEINDEX_DST = 26,
ACPY3_PARAMFIELD_NUMFRAMES = 28
}

ACPY3 16-bit param field structure. These values are passed to ACPY3_fastConfigure16b() to indicate the field of the ACPY3_Params structure to be changed.

More...
enum ACPY3_ParamField32b {
ACPY3_PARAMFIELD_SRCADDR = 4,
ACPY3_PARAMFIELD_DSTADDR = 12,
ACPY3_PARAMFIELD_ELEMENTINDEXES = 16,
ACPY3_PARAMFIELD_FRAMEINDEXES = 24
}

ACPY3 32-bit param field structure. These values are passed to ACPY3_fastConfigure32b() to indicate the field of the ACPY3_Params structure to be changed.

More...
enum ACPY3_TransferType {
ACPY3_1D1D,
ACPY3_1D2D,
ACPY3_2D1D,
ACPY3_2D2D
}

ACPY3 DMA Transfer Types:.

More...

Functions

Void | ACPY3_configure (IDMA3_Handle handle, ACPY3_Params *params, short transferNo)
Functions called by the framework for allocating and initializing the channel state.
Void | ACPY3_fastConfigure16b (IDMA3_Handle handle, ACPY3_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 | ACPY3_fastConfigure32b (IDMA3_Handle handle, ACPY3_ParamField32b fieldId, Uns value, short transferNo)
Modify the 32-bit DMA transfer parameter, indicated by the parameter field id, fieldId, of the current channel settings.
Void | ACPY3_setFinal (IDMA3_Handle handle, short transferNo)
Indicate that a given transfer will be the last in a sequence of linked transfers.
Void | ACPY3_fastSetFinal (IDMA3_Handle handle, short transferNo)
Indicate that a given transfer will be the last in a sequence of linked transfers.
Void | ACPY3_start (IDMA3_Handle handle)
Submit a single or linked transfer using the most recently configured transfer parameter settings.
Void | ACPY3_wait (IDMA3_Handle handle)
Wait for all data transfers on a logical channel to complete.
Void | ACPY3_waitLinked (IDMA3_Handle handle, unsigned short waitId)
Wait for an individual transfer in a Linked transfer to finish.
Bool | ACPY3_complete (IDMA3_Handle handle)
Check to see if all dma transfers on logical channel are finished.
Bool | ACPY3_completeLinked (IDMA3_Handle handle, unsigned short waitId)
Non-blocking query to check completion of an individual transfer in a Linked transfer.
Void | ACPY3_activate (IDMA3_Handle handle)
Activate the given channel.
Void | ACPY3_deactivate (IDMA3_Handle handle)
Deactivates the given channel.
Void | ACPY3_init (Void)
Initialize the ACPY3 module. Called by framework.
Void | ACPY3_exit (Void)
Finalization of the ACPY3 module.

Variables

IDMA3_ProtocolObj ACPY3_PROTOCOL

enum ACPY3_INSTR_HookType {
ACPY3_INSTR_START_ENTER = 0,
ACPY3_INSTR_START_EXIT,
ACPY3_INSTR_WAIT_ENTER,
ACPY3_INSTR_WAIT_EXIT
}

Primary instrumentation hook function names.

More...
enum ACPY3_INSTR_ExtendedHookType {
ACPY3_INSTR_WAITLINKED_ENTER,
ACPY3_INSTR_WAITLINKED_EXIT,
ACPY3_INSTR_ACTIVATE_ENTER,
ACPY3_INSTR_ACTIVATE_EXIT,
ACPY3_INSTR_DEACTIVATE_ENTER,
ACPY3_INSTR_DEACTIVATE_EXIT,
ACPY3_INSTR_COMPLETE_ENTER,
ACPY3_INSTR_COMPLETE_EXIT,
ACPY3_INSTR_COMPLETELINKED_ENTER,
ACPY3_INSTR_COMPLETELINKED_EXIT,
ACPY3_INSTR_CONFIGURE_ENTER,
ACPY3_INSTR_CONFIGURE_EXIT,
ACPY3_INSTR_FASTCONFIGURE16_ENTER,
ACPY3_INSTR_FASTCONFIGURE16_EXIT,
ACPY3_INSTR_FASTCONFIGURE32_ENTER,
ACPY3_INSTR_FASTCONFIGURE32_EXIT,
ACPY3_INSTR_SETFINAL_ENTER,
ACPY3_INSTR_SETFINAL_EXIT,
ACPY3_INSTR_SETFASTFINAL_ENTER,
ACPY3_INSTR_SETFASTFINAL_EXIT,
ACPY3_INSTR_INIT_ENTER,
ACPY3_INSTR_INIT_EXIT,
ACPY3_INSTR_EXIT_ENTER,
ACPY3_INSTR_EXIT_EXIT
}

Extended instrumentation hook function names.

More...
Void | ACPY3_INSTR_registerHooks (IDMA3_Handle handle, ACPY3_INSTR_Hooks *hooks, ACPY3_INSTR_ExtendedHooks *extended_hooks)
Registering the hook functions for instrumentation.
Void | ACPY3_INSTR_unregisterHooks (IDMA3_Handle handle)
Un-registering the hook functions for instrumentation.
#define | ACPY3_INSTR_NUMHOOKS 4
Number of primary instrumentation hook functions.
#define | ACPY3_INSTR_NUMEXTENDEDHOOKS 22
typedef void(* | ACPY3_INSTR_HookFxn )(IDMA3_Handle handle, void *param)
Function signature for hook instrumentation function.

Detailed Description

The ACPY3 module provides a comprehensive list of DMA operations an algorithm can perform on logical DMA channels it acquires through the IDMA3 protocol. Example of ACPY3 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.

Define Documentation

#define ACPY3_GTNAME "ti.sdo.fc.acpy3"
#define ACPY3_INSTR_NUMHOOKS 4

Number of primary instrumentation hook functions.

#define ACPY3_INSTR_NUMEXTENDEDHOOKS 22

Typedef Documentation

typedef void(* ACPY3_INSTR_HookFxn)(IDMA3_Handle handle, void *param)

Function signature for hook instrumentation function.

Enumeration Type Documentation

enum ACPY3_ParamField16b

ACPY3 16-bit param field structure. These values are passed to ACPY3_fastConfigure16b() to indicate the field of the ACPY3_Params structure to be changed.

Enumerator:
ACPY3_PARAMFIELD_ELEMENTSIZE
ACPY3_PARAMFIELD_NUMELEMENTS
ACPY3_PARAMFIELD_ELEMENTINDEX_SRC
ACPY3_PARAMFIELD_ELEMENTINDEX_DST
ACPY3_PARAMFIELD_FRAMEINDEX_SRC
ACPY3_PARAMFIELD_FRAMEINDEX_DST
ACPY3_PARAMFIELD_NUMFRAMES
enum ACPY3_ParamField32b

ACPY3 32-bit param field structure. These values are passed to ACPY3_fastConfigure32b() to indicate the field of the ACPY3_Params structure to be changed.

Enumerator:
ACPY3_PARAMFIELD_SRCADDR
ACPY3_PARAMFIELD_DSTADDR
ACPY3_PARAMFIELD_ELEMENTINDEXES
ACPY3_PARAMFIELD_FRAMEINDEXES
enum ACPY3_TransferType

ACPY3 DMA Transfer Types:.

Note that all transfers can be specified using the ACPY3_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 ACPY3_1D2D transfer type, you do not need to set the source element and frame indices in the ACPY3_Params structure.

Enumerator:
ACPY3_1D1D

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

ACPY3_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 ACPY3_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
ACPY3_2D1D

This is similar to ACPY3_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
ACPY3_2D2D

This transfer type combines ACPY3_1D2D and ACPY3_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
enum ACPY3_INSTR_HookType

Primary instrumentation hook function names.

Enumerator:
ACPY3_INSTR_START_ENTER
ACPY3_INSTR_START_EXIT
ACPY3_INSTR_WAIT_ENTER
ACPY3_INSTR_WAIT_EXIT
enum ACPY3_INSTR_ExtendedHookType

Extended instrumentation hook function names.

Enumerator:
ACPY3_INSTR_WAITLINKED_ENTER
ACPY3_INSTR_WAITLINKED_EXIT
ACPY3_INSTR_ACTIVATE_ENTER
ACPY3_INSTR_ACTIVATE_EXIT
ACPY3_INSTR_DEACTIVATE_ENTER
ACPY3_INSTR_DEACTIVATE_EXIT
ACPY3_INSTR_COMPLETE_ENTER
ACPY3_INSTR_COMPLETE_EXIT
ACPY3_INSTR_COMPLETELINKED_ENTER
ACPY3_INSTR_COMPLETELINKED_EXIT
ACPY3_INSTR_CONFIGURE_ENTER
ACPY3_INSTR_CONFIGURE_EXIT
ACPY3_INSTR_FASTCONFIGURE16_ENTER
ACPY3_INSTR_FASTCONFIGURE16_EXIT
ACPY3_INSTR_FASTCONFIGURE32_ENTER
ACPY3_INSTR_FASTCONFIGURE32_EXIT
ACPY3_INSTR_SETFINAL_ENTER
ACPY3_INSTR_SETFINAL_EXIT
ACPY3_INSTR_SETFASTFINAL_ENTER
ACPY3_INSTR_SETFASTFINAL_EXIT
ACPY3_INSTR_INIT_ENTER
ACPY3_INSTR_INIT_EXIT
ACPY3_INSTR_EXIT_ENTER
ACPY3_INSTR_EXIT_EXIT

Function Documentation

Void ACPY3_configure | ( | IDMA3_Handle | handle,
 |  | ACPY3_Params * | params,
 |  | short | transferNo
 | ) |  |

Functions called by the framework for allocating and initializing the channel state.

Configure all DMA transfer settings for the logical channel.

Parameters:
[in] | handle | IDMA3 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
params->waitId != (numWaits - 1), unless configuring the last transfer.
valid IDMA_Obj handle
handle->protocol == &ACPY3_PROTOCOL
0 <= transferNo < originally requested number of transfers
Void ACPY3_fastConfigure16b | ( | IDMA3_Handle | handle,
 |  | ACPY3_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 | IDMA3 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 ACPY3_configure()). logical DMA handle and environment (env, envSize) fields.
Precondition:
Algorithm instance must be in "active" state using IALG interface.
Channel must be in "active" state.
Remarks:
Once a channel has been configured once with ACPY3_configure(), ACPY3_fastConfigure16b() can be used to update any of the 16-bit parameter fields, for example, the number of elements in a frame 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 ACPY3_FASTCONFIGURE16B_INLINE or #define ACPY3_INLINE_ALL to the source file where this function is used. The #define must go above the line, #include <acpy3.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.
  • When _ACPY3_DIRTY_BITS is 0, this function requires 8 ticks.
  • When _ACPY3_DIRTY_BITS is 1, this function requires 14 ticks.
Void ACPY3_fastConfigure32b | ( | IDMA3_Handle | handle,
 |  | ACPY3_ParamField32b | fieldId,
 |  | Uns | 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 | IDMA3 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 ACPY3_configure()). logical DMA handle and environment (env, envSize) fields.
Precondition:
handle must be a valid channel handle.
Algorithm instance must be in "active" state using IALG interface.
Channel must be in 'active' state.
Remarks:
Once a channel has been configured once with ACPY3_configure(), ACPY3_fastConfigure32b() 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 ACPY3_FASTCONFIGURE32B_INLINE or #define ACPY3_INLINE_ALL to the source file where this function is used. The #define must go above the line, #include <acpy3.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.
  • When _ACPY3_DIRTY_BITS is 0, this function requires 8 ticks.
  • When _ACPY3_DIRTY_BITS is 1, this function requires 14 ticks.
Void ACPY3_setFinal | ( | IDMA3_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. Any waitId previously associated with given transfer "transferNo" will be replaced with the waitId 'numWaits - 1' since ACPY3_wait() uses this waitId to check for transfer completion.

Parameters:
[in] | handle | IDMA3 channel handle.
[in] | transferNo | Indicates which transfer that will be the last in the set of linked transfers. (This is the same value that was passed to ACPY3_configure()).
Remarks:
This API can be used if a channel was created to transfer numTransfers linked transfers, but at some point, it may be that fewer transfers than numTransfers should be started.
Both an inlined version and a non-inlined version of this function are supported. To use the inlined version, add the line #define ACPY3_SETFINAL_INLINE or #define ACPY3_INLINE_ALL to the source file where this function is used. The #define must go above the line, #include <acpy3.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.
  • When _ACPY3_DIRTY_BITS is 0, this routine requires 66 ticks.
  • When _ACPY3_DIRTY_BITS is 1, this routine requires 66 ticks.
Precondition:
Valid channel handle.
Channel must be in 'active' state.
Postcondition:
transferNo's waitId is set to 'numWaits - 1'
Any previously associated waitId with the old "final" transfer is cleared. As a consequence applications may need to call ACPY3_configure() to restore the appropriate waitId.
Void ACPY3_fastSetFinal | ( | IDMA3_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. Any waitId previously This function is only usable when the handle only has a single waitId. Otherwise is works exactly the same as ACPY3_setFinal. It just runs much faster.

Parameters:
[in] | handle | IDMA3 channel handle.
[in] | transferNo | Indicates which transfer that will be the last in the set of linked transfers. (This is the same value that was passed to ACPY3_configure()).
Remarks:
This API can be used if a channel was created to transfer numTransfers linked transfers, but at some point, it may be that fewer transfers than numTransfers should be started.
Both an inlined version and a non-inlined version of this function are supported. To use the inlined version, add the line #define ACPY3_FASTSETFINAL_INLINE or #define ACPY3_INLINE_ALL to the source file where this function is used. The #define must go above the line, #include <acpy3.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.
ACPY3_fastSetFinal() does the work of ACPY3_setFinal() but assumes that there is only 1 TCC allocated to the handle. It is very much optimized compared to ACPY3_setFinal().
  • When _ACPY3_DIRTY_BITS is 0, this routine requires 15 ticks.
  • When _ACPY3_DIRTY_BITS is 1, this routine requires 21 ticks.
Precondition:
Valid channel handle.
Channel must be in 'active' state.
Postcondition:
transferNo's waitId is set to 'numWaits - 1'
Void ACPY3_start ( IDMA3_Handle handle )

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

Parameters:
[in] handle IDMA3 channel handle.
Precondition:
Valid channel handle.
Channel must be in 'active' state.
Channel must be in 'configured' state.
Postcondition:
handle->transferPending = TRUE
Remarks:
Both an inlined version and a non-inlined version of this function are supported. To use the inlined version, add the line #define ACPY3_START_INLINE or #define ACPY3_INLINE_ALL to the source file where this function is used. The #define must go above the line, #include <acpy3.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.
ACPY3_start() requires the following number of ticks:

Number of Linked Transfers

ACPY3_DIRTY_BITS=0

ACPY3_DIRTY_BITS=1

1, 2, or 3

89

101

4, 8, 12, or 16

92

110

all other numbers

149

167

Void ACPY3_wait ( IDMA3_Handle handle )

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

ACPY3_wait() uses waitId 'numWaits - 1' to wait for the completion of all transfers. Therefore, this waitId should not be used to configure any intermediate transfers.

Parameters:
[in] handle IDMA3 channel handle.
Precondition:
Valid channel handle
Channel must be in 'active' state.
Postcondition:
handle->transferPending = FALSE
Remarks:
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 ACPY3_WAIT_INLINE or #define ACPY3_INLINE_ALL to the source file where this function is used. The #define must go above the line, #include <acpy3.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 ACPY3_waitLinked | ( | IDMA3_Handle | handle,
 |  | unsigned short | waitId
 | ) |  |

Wait for an individual transfer in a Linked transfer to finish.

Parameters:
[in] | handle | IDMA3 channel handle.
[in] | waitId | The waitId for the transfer to wait on, that was passed in the ACPY3_Params to ACPY3_configure().
Precondition:
Valid channel handle
Channel must be in 'active' state.
0 <= waitId < originally requested number of waitId
Channel contains one transfer T, i-th transfer, such that i < handle->numPaRams and T configured with given waitId.
Remarks:
This function will not return until the data transfer that was configured with 'waitId' has completed.
Bool ACPY3_complete ( IDMA3_Handle handle )

Check to see if all dma transfers on logical channel are finished.

Parameters:
[in] handle IDMA3 channel handle.
Return values:
TRUE | No transfers are pending (i.e., ACPY3_wait() has been called since last ACPY3_start()), or all transfers on this channel have completed.
FALSE | One or more transfers on this channel have not completed.
Precondition:
Valid channel handle
Channel must be in 'active' state.
Remarks:
This function will not wait for data transfers to complete, but will return immediately with completion status.
There is no need to call ACPY3_wait() once ACPY3_complete() returns TRUE.
Both an inlined version and a non-inlined version of this function are supported. To use the inlined version, add the line #define ACPY3_COMPLETE_INLINE or #define ACPY3_INLINE_ALL to the source file where this function is used. The #define must go above the line, #include <acpy3.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.
Bool ACPY3_completeLinked | ( | IDMA3_Handle | handle,
 |  | unsigned short | waitId
 | ) |  |

Non-blocking query to check completion of an individual transfer in a Linked transfer.

Parameters:
[in] | handle | IDMA3 channel handle.
[in] | waitId | The waitId for the transfer to check for completion, that was passed in the ACPY3_Params to ACPY3_configure().
Return values:
TRUE | No transfers are pending (i.e., ACPY3_wait() has been called since last ACPY3_start()), or the individual transfer that was configured with waitId has completed.
FALSE | The transfer configured with waitId has not completed.
Precondition:
Valid channel handle.
waitId < handle->numTccs
Channel must be in 'active' state.
Remarks:
This function will not wait for the data transfer to complete, but will return immediately with completion status.
There is no need to call ACPY3_waitLinked() once ACPY3_completeLinked() returns TRUE.
Void ACPY3_activate ( IDMA3_Handle handle )

Activate the given channel.

Parameters:
[in] handle IDMA3 channel handle.
Precondition:
handle must be a valid channel handle.
Algorithm instance must be in "active" state using IALG interface.
Postcondition:
Channel is in 'active' state, any ACPY3 APIs can be called using this handle.
handle->transferPending == FALSE
Void ACPY3_deactivate ( IDMA3_Handle handle )

Deactivates the given channel.

Parameters:
[in] handle IDMA3 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 ACPY3_init ( Void )

Initialize the ACPY3 module. Called by framework.

Void ACPY3_exit ( Void )

Finalization of the ACPY3 module.

Void ACPY3_INSTR_registerHooks | ( | IDMA3_Handle | handle,
 |  | ACPY3_INSTR_Hooks * | hooks,
 |  | ACPY3_INSTR_ExtendedHooks * | extended_hooks
 | ) |  |

Registering the hook functions for instrumentation.

Parameters:
[in] | handle | IDMA3 channel handle.
[in] | hooks | Primary instrumentation hook functions array
[in] | extended_hooks | Extended instrumentation hook functions array
Void ACPY3_INSTR_unregisterHooks ( IDMA3_Handle handle )

Un-registering the hook functions for instrumentation.

Parameters:
[in] handle IDMA3 channel handle.

Variable Documentation

IDMA3_ProtocolObj ACPY3_PROTOCOL


Framework Components: DMAN3

DMAN3

Data Structures

struct | DMAN3_Params
The module configuration structure for DMAN3 implementation. It is set at design time by the system integrator to ensure optimal sharing of DMA resources for the execution environment. More...

Defines

#define | DMAN3_GTNAME "ti.sdo.fc.dman3"
#define | DMAN3_MAXGROUPS 20

Typedefs

typedef Bool(* | DMAN3_ScratchAllocFxn )(IALG_Handle alg, Int mutexId, IALG_MemRec *memTab, Int numRecs)
Function prototype for allocating IDMA3 Object's env from shared scratch memory. Algorithms might specify a particular IDMA3 protocol that provides custom DMA services. This protocol might require extra memory for the IDMA3 object's environment. DMAN3_ScratchAllocFxn might be used to allocate this memory. If this is NULL, then the env will be allocated from persistent memory.
typedef Void(* | DMAN3_ScratchFreeFxn )(Int mutexId, Void *addr, Uns size)
Function prototype for freeing IDMA3 Object's env from shared scratch memory. If this is NULL then env will be freed from persistent memory.

Functions

Int | DMAN3_grantDmaChannels (Int groupId, IALG_Handle algHandle[], IDMA3_Fxns *dmaFxns[], Int numAlgs)
Add one or several algorithms to the DMA Manager. The DMA Manager will grant DMA resources to the algorithms as a result. This function is called when initializing XDAIS algorithm instances.
Void | DMAN3_exit (Void)
Finalization method of the DMAN module.
Int | DMAN3_createChannels (Int groupId, IDMA3_ChannelRec dmaTab[], Int numChans)
Allocate and initialize memory for one or several channel handles.
Void | DMAN3_init (Void)
Initialization method of the DMAN3 module. DMAN3_init() uses externally configured and provided DMAN3_PARAMS to initialize DMAN3 resources (QDMA channel map, memory heap...).
Int | DMAN3_releaseDmaChannels (IALG_Handle algHandle[], IDMA3_Fxns *dmaFxns[], Int numAlgs)
Remove logical channel resources from one or several algorithm instances.
Int | DMAN3_freeChannels (IDMA3_Handle channelTab[], Int numChans)
Free memory for array of channel handles.

Variables

DMAN3_Params DMAN3_PARAMS
Default module configuration structure (defined in dman3.c).
Uns | ti_sdo_fc_dman3_DMAN3_numQdmaGroup [20+1]
Array containing the number of Qdma channels that will be assigned to the algorithm groups for sharing.

Defines: DMAN3 Status Codes

#define | DMAN3_SOK 0
#define | DMAN3_EOUTOFMEMORY -1
#define | DMAN3_EFAIL -2
#define | DMAN3_EFREE -3
#define | DMAN3_EOUTOFTCCS -4
#define | DMAN3_EOUTOFPARAMS -5
#define | DMAN3_ETCCCONFIG -6
#define | DMAN3_EPARAMCONFIG -7

Detailed Description

DMAN3 is an application interface to the 3rd generation DMA Manager. It provides routines for granting and reclaiming DMA resources used by algorithms or other non-algorithm users. This module is used by frameworks or applications which have XDAIS algorithms that implement the IDMA3 interface.

Remarks:
For additional information, please refer to the "C64+ DMA Framework Design and Reference Guide" document.

Define Documentation

#define DMAN3_GTNAME "ti.sdo.fc.dman3"

Name to identify the GT module

#define DMAN3_MAXGROUPS 20

Maximum number of groups for sharing TCCs and parameter RAM.

#define DMAN3_SOK 0

DMAN3 Status Code: Successful.

#define DMAN3_EOUTOFMEMORY -1

DMAN3 Status Code: Failed to allocate memory for the handle.

#define DMAN3_EFAIL -2

DMAN3 Status Code: Unspecified error.

#define DMAN3_EFREE -3

DMAN3 Status Code: Failed to free memory.

#define DMAN3_EOUTOFTCCS -4

DMAN3 Status Code: Insufficient number of TCCs available to create channels.

#define DMAN3_EOUTOFPARAMS -5

DMAN3 Status Code: Insufficient number of PaRams available to create channels.

#define DMAN3_ETCCCONFIG -6

DMAN3 Status Code: The number of TCCs configured for the scratchId is not enough to create the channels. This error can only be returned if allowUnshared is set to FALSE.

#define DMAN3_EPARAMCONFIG -7

DMAN3 Status Code: The number of PaRams configured for the scratchId is not enough to create the channels. This error can only be returned if allowUnshared is set to FALSE.

Typedef Documentation

typedef Bool(* DMAN3_ScratchAllocFxn)(IALG_Handle alg, Int mutexId, IALG_MemRec *memTab, Int numRecs)

Function prototype for allocating IDMA3 Object's env from shared scratch memory. Algorithms might specify a particular IDMA3 protocol that provides custom DMA services. This protocol might require extra memory for the IDMA3 object's environment. DMAN3_ScratchAllocFxn might be used to allocate this memory. If this is NULL, then the env will be allocated from persistent memory.

typedef Void(* DMAN3_ScratchFreeFxn)(Int mutexId, Void *addr, Uns size)

Function prototype for freeing IDMA3 Object's env from shared scratch memory. If this is NULL then env will be freed from persistent memory.

Function Documentation

Int DMAN3_grantDmaChannels | ( | Int | groupId,
 |  | IALG_Handle | algHandle[],
 |  | IDMA3_Fxns * | dmaFxns[],
 |  | Int | numAlgs
 | ) |  |

Add one or several algorithms to the DMA Manager. The DMA Manager will grant DMA resources to the algorithms as a result. This function is called when initializing XDAIS algorithm instances.

Parameters:
[in] | groupId | Group number for sharing TCCs and PaRAMs. Channels created with the same group number in a previous or subsequent call to this function will share the same TCCs and PaRam, as the channels created in this call, so they must be used simultaneously. The channels created in this function call, will not share TCCs and PaRam with eachother, even though they use the same group Id. When granting DMA resources for several algorithms (i.e. when numAlgs is greater than 1) these algorithms do not share TCCs and PaRAMs. If two algorithms can share TCCs and PaRAMs, two calls to DMAN3_grantDmaChannels() are needed.
[in] | algHandle[] | Array of algorithm handles.
[in] | dmaFxns[] | Array of IDMA3 Interfaces associated with each algorithm handle.
[in] | numAlgs | Number of algorithms in algHandle array.
Return values:
DMAN3_SOK | Success.
DMAN3_EOUTOFMEMORY | Failed to allocate logical handle.
DMAN3_EFAIL | Failed to initialize handle or dmaFxns dmaInit() failed.
DMAN3_EOUTOFTCCS | Not enough TCCs available for channels.
DMAN3_EOUTOFPARAMS | Not enough PaRams available for channels.
Precondition:
groupId < DMAN3_MAXGROUPS.
Valid IALG_Handle.
Valid IDMA3_Fxns pointer.
IALG_Handle->fxns->implementationId == IDMA3_Fxns->implementationId
numberOfChannels returned by algorithm's dmaGetChannelCnt and dmaGetChannels is not greater than total number of Tccs allocated.
Postcondition:
DMAN3_SOK on successful allocation of IDMA3 logical handles.
Void DMAN3_exit ( Void )

Finalization method of the DMAN module.

Int DMAN3_createChannels | ( | Int | groupId,
 |  | IDMA3_ChannelRec | dmaTab[],
 |  | Int | numChans
 | ) |  |

Allocate and initialize memory for one or several channel handles.

Parameters:
[in] | groupId | Group number for sharing TCCs and PaRAMs. Channels created with the same group number in a previous or subsequent call to this function will share the same TCCs and PaRam, as the channels created in this call, so they must be used simultaneously. The channels created in this function call, will not share TCCs and PaRam with eachother, even though they use the same group Id. If two channels can share TCCs and PaRAMS then two calls to DMAN3_createChannels() are needed.
[in] | dmaTab | Array of IDMA3 channel resource descriptors containing the parameters of the requested channels.
[in] | numChans | Number of entries in dmaTab (ie, number of channels to create).
[out] | dmaTab | On success assign valid and initialized IDMA3 logical DMA handle and environment (env, envSize) fields.
Return values:
DMAN3_SOK | Success.
DMAN3_EOUTOFMEMORY | Failed to allocate logical handle.
DMAN3_EFAIL | Failed to initialize handle or dmaFxns dmaInit() failed.
DMAN3_EOUTOFTCCS | Not enough TCCs available for channels.
DMAN3_EOUTOFPARAMS | Not enough PaRams available for channels.
Precondition:
Valid dmaTab structure.
numChans >= 0.
groupId < DMAN3_MAXGROUPS.
Postcondition:
On success, each handle in dmaTab[] will be set to a valid IDMA3_Handle. The 'env' field of the IDMA3_Handle will be set to newly allocated memory whose size is determined by the IDMA3_InitFxns passed in the dmaTab entry. On failure, the handle of each dmaTab[] entry will be NULL.
Void DMAN3_init ( Void )

Initialization method of the DMAN3 module. DMAN3_init() uses externally configured and provided DMAN3_PARAMS to initialize DMAN3 resources (QDMA channel map, memory heap...).

Precondition:
DMAN3_PARAMS must be initialized
Int DMAN3_releaseDmaChannels | ( | IALG_Handle | algHandle[],
 |  | IDMA3_Fxns * | dmaFxns[],
 |  | Int | numAlgs
 | ) |  |

Remove logical channel resources from one or several algorithm instances.

Parameters:
[in] | algHandle[] | Array of algorithm handles.
[in] | dmaFxns[] | Array of IDMA3 Interfaces associated with the algorithm handles.
[in] | numAlgs | Number of algorithm handles in algHandle[].
Precondition:
algHandle is an array of valid IALG_Handle
dmaFxns is an array of valid IDMA3_Fxns pointer
IALG_Handle->fxns->implementationId == IDMA2_Fxns->implementationId
numberOfChannels returned by algorithm's dmaGetChannelCnt and dmaGetChannels is >= 0 and not greater than number of Tccs allocated
Postcondition:
Handle and environment memory and allocated resources are freed/released.
Int DMAN3_freeChannels | ( | IDMA3_Handle | channelTab[],
 |  | Int | numChans
 | ) |  |

Free memory for array of channel handles.

Parameters:
[in] | channelTab | Array of IDMA3 handles representing logical dma channel state.
[in] | numChans | Number of entries in channelTab (ie, number of channels to free).
Return values:
DMAN3_SOK Success.
Precondition:
numChans >= 0.
Valid IDMA3 logical channel handles or numChans == 0.
Postcondition:
'handle' and 'env' memory freed for each channel.

Variable Documentation

DMAN3_Params DMAN3_PARAMS

Default module configuration structure (defined in dman3.c).

Uns ti_sdo_fc_dman3_DMAN3_numQdmaGroup[20+1]

Array containing the number of Qdma channels that will be assigned to the algorithm groups for sharing.


Framework Components: DSKT2

DSKT2

Defines

#define | DSKT2_GTNAME "ti.sdo.fc.dskt2"
#define | DSKT2_NUM_SCRATCH_GROUPS 20
#define | DSKT2_MAX_MEM_ALLOCATION_SIZE 0xFFFF
#define | DSKT2_NUM_SHAREDHEAPS 2

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.

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, Int 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.
Void | DSKT2_freeScratch (Int mutexId, Void *addr, Uns 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.

Detailed Description

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

Define Documentation

#define DSKT2_GTNAME "ti.sdo.fc.dskt2"

Name used to identify the GT module

#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

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.

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 (IDMA2) dmaInit must be called before calling this methed, 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()
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.
See also:
DSKT2_activateAlg(), DSKT2_deactivateAlg(), DSKT2_freeAlg()
IALG_Handle DSKT2_createAlg2 | ( | Int | scratchMutexId,
 |  | IALG_Fxns * | fxns,
 |  | IALG_Handle | parent,
 |  | IALG_Params * | params,
 |  | Int | 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.
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.
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.
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()
Void DSKT2_freeScratch | ( | Int | mutexId,
 |  | Void * | addr,
 |  | Uns | 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()


Framework Components: HDINTC

HDINTC

Data Structures

struct | HDINTC_Params
The module configuration structure for HDINTC implementation. More...
struct | hdvicpAppHandle

Defines

#define | HDINTC_GTNAME "ti.sdo.fc.hdintc"

Typedefs

typedef struct hdvicpAppHandle | HDVICP_Obj
typedef HDVICP_Obj * | HDVICP_Handle

Functions

void | HDVICP_configure (IALG_Handle handle, void *hdvicpHandle, void(*ISRfunctionptr)(IALG_Handle handle))
This is the top level function on the gem side, which sets the interrupt configuration for the interrupts received from ARM968. In effect, this function currently sets the global function ptr to the actual MB processing decode function that needs to be called from the interrupt service routine.
void | HDVICP_wait (void *hdvicpHandle)
This is the top level function on the gem side, which implements the hdvicp_wait(). Current implementation allows GEM to wait on a global intc flag which will be 1 as long as one frame is not completed.
void | HDVICP_done (void *hdvicpHandle)
This is the top level function on the gem side, which implements the hdvicp_done(). Current implementation allows GEM to set a global intc flag to 0 to come out of hdvicp_wait() as soon as one frame is completed.

Variables

HDINTC_Params HDINTC_PARAMS
Default module configuration structure (defined in hdintc.c).

Defines: Status Codes

#define | HDINTC_SOK 0
#define | HDINTC_EOUTOFMEMORY -1
#define | HDINTC_EFAIL -2

Detailed Description

Application interface to the Interrupt Registry Manager. Registers non-BIOS, non-dispatched interrupt service handlers to register and synchronize with HDVICP interrupts. This module is used by frameworks or applications which have XDAIS algorithms that use HDVICP hardware accelarators and implement own interrupt handlers.

Define Documentation

#define HDINTC_GTNAME "ti.sdo.fc.hdintc"

Name to identify the GT module

#define HDINTC_SOK 0

HDINTC Status Code: Successful.

#define HDINTC_EOUTOFMEMORY -1

HDINTC Status Code: Failed to allocate memory for the handle.

#define HDINTC_EFAIL -2

HDINTC Status Code: Unspecified error.

Typedef Documentation

typedef struct hdvicpAppHandle HDVICP_Obj
typedef HDVICP_Obj* HDVICP_Handle

Function Documentation

void HDVICP_configure | ( | IALG_Handle | handle,
 |  | void * | hdvicpHandle,
 |  | void(*)(IALG_Handle handle) | ISRfunctionptr
 | ) |  |

This is the top level function on the gem side, which sets the interrupt configuration for the interrupts received from ARM968. In effect, this function currently sets the global function ptr to the actual MB processing decode function that needs to be called from the interrupt service routine.

Parameters:
handle | Algorithm handle
hdvicpHandle | void pointer to the hdvicp handle.
ISRfunctionptr | Function pointer to the MB pair processing function of the algorithm.
Returns:
none
Remarks:
This function will be called from the algorithm but the implementation will lie in the application.
void HDVICP_wait ( void * hdvicpHandle )

This is the top level function on the gem side, which implements the hdvicp_wait(). Current implementation allows GEM to wait on a global intc flag which will be 1 as long as one frame is not completed.

Parameters:
hdvicpHandle void pointer to the hdvicp handle.
Returns:
none
Remarks:
This function will be called from the algorithm but the implementation will lie in the application.
void HDVICP_done ( void * hdvicpHandle )

This is the top level function on the gem side, which implements the hdvicp_done(). Current implementation allows GEM to set a global intc flag to 0 to come out of hdvicp_wait() as soon as one frame is completed.

Parameters:
hdvicpHandle void pointer to the hdvicp handle.
Returns:
none
Remarks:
This function will be called from the algorithm but the implementation will lie in the application.

Variable Documentation

HDINTC_Params HDINTC_PARAMS

Default module configuration structure (defined in hdintc.c).


Framework Components: HDVICPSYNC

HDVICPSYNC

Data Structures

struct | HDVICPSYNC_Params
The module configuration structure for HDVICPSYNC implementation. More...

Defines

#define | HDVICPSYNC_GTNAME "ti.sdo.fc.hdvicpsync"
Name to identify the GT module.

Enumerations

enum HDVICPSYNC_InterruptType {
HDVICPSYNC_IRQ,
HDVICPSYNC_FIQ
}

Interrupt type that can be specified for each Resource type.

More...
enum HDVICPSYNC_Status {
HDVICPSYNC_OK,
HDVICPSYNC_EFAIL,
HDVICPSYNC_ENORESOURCE
}

Functions

HDVICPSYNC_Status | HDVICPSYNC_start (IALG_Handle handle, HDVICPSYNC_InterruptType intType, IRES_HDVICP_Handle hdvicpHandle)
This function is used to mark the beginning of HDVICP coprocessor usage by the algorithm.
HDVICPSYNC_Status | HDVICPSYNC_wait (IRES_HDVICP_Handle hdvicpHandle)
This is the top level function that allows the ARM-side algorithm to wait for the Kaleido (frame) interrupt to fire.
HDVICPSYNC_Status | HDVICPSYNC_unregister (IRES_HDVICP_Handle hdvicpHandle)
This is the top level function that allows the ARM-side algorithms to explicitly unregister a particular interrupt handler for ISRS registerd via a call to HDVICPSYNC_start API.
Bool | HDVICPSYNC_done (IRES_HDVICP_Handle hdvicpHandle)
This is the top level function that allows the ARM-side algorithm to return a status indicating if a Kaleido interrupt has fired (frame has been processed) since HDVICPSYNC_start was called.

Variables

HDVICPSYNC_Params HDVICPSYNC_PARAMS
Default module configuration structure (defined in hdvicpsync.c).

Detailed Description

HDVICPSYNC provides framework support for synchronization between codec and HDVICP coprocessor usage. This module is used by frameworks or applications which have xDAIS algorithms that use HDVICP hardware accelerators.

Define Documentation

#define HDVICPSYNC_GTNAME "ti.sdo.fc.hdvicpsync"

Name to identify the GT module.

Enumeration Type Documentation

enum HDVICPSYNC_InterruptType

Interrupt type that can be specified for each Resource type.

Enumerator:
HDVICPSYNC_IRQ

Regular Interrupt Request

HDVICPSYNC_FIQ

Fast Interrupt Request

enum HDVICPSYNC_Status
Enumerator:
HDVICPSYNC_OK

Success

HDVICPSYNC_EFAIL

general failure

HDVICPSYNC_ENORESOURCE

resources not owned to be able to configure the interrupt

Function Documentation

HDVICPSYNC_Status HDVICPSYNC_start | ( | IALG_Handle | handle,
 |  | HDVICPSYNC_InterruptType | intType,
 |  | IRES_HDVICP_Handle | hdvicpHandle
 | ) |  |

This function is used to mark the beginning of HDVICP coprocessor usage by the algorithm.

Parameters:
handle | Algorithm handle
intType | Interrupt Type
hdvicpHandle | Pointer to the hdvicp handle.
Returns:
none
Note:
This function will be called from the algorithm but the implementation will lie in the application.
HDVICPSYNC_Status HDVICPSYNC_wait ( IRES_HDVICP_Handle hdvicpHandle )

This is the top level function that allows the ARM-side algorithm to wait for the Kaleido (frame) interrupt to fire.

Parameters:
hdvicpHandle void pointer to the hdvicp handle.
Returns:
none
Note:
As per XDM, this function will be called from the algorithm but the implementation will lie in the application.
HDVICPSYNC_Status HDVICPSYNC_unregister ( IRES_HDVICP_Handle hdvicpHandle )

This is the top level function that allows the ARM-side algorithms to explicitly unregister a particular interrupt handler for ISRS registerd via a call to HDVICPSYNC_start API.

Parameters:
hdvicpHandle void pointer to the hdvicp handle.
Returns:
HDVICPSYNC_Status Returns status of this call
Note:
As per XDM, this function will be called from the algorithm but the implementation will lie in the application.
Bool HDVICPSYNC_done ( IRES_HDVICP_Handle hdvicpHandle )

This is the top level function that allows the ARM-side algorithm to return a status indicating if a Kaleido interrupt has fired (frame has been processed) since HDVICPSYNC_start was called.

Parameters:
hdvicpHandle void pointer to the hdvicp handle.
Returns:
none
Note:
As per XDM, this function will be called from the algorithm but the implementation will lie in the application.

Variable Documentation

HDVICPSYNC_Params HDVICPSYNC_PARAMS

Default module configuration structure (defined in hdvicpsync.c).


Framework Components: Resource manager interface

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.

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.


Framework Components: MEMUTILS

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.

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 accelerators (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


Framework Components: Resource Manager for IRES-based resources

Resource Manager for IRES-based resources

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...
struct | RMAN_YieldArgs
Yield Arguments passed to the algorithm if RMAN's useDSKT2 flag is set. These arguments are used by the yield function set/get context and release/acquire locks for a particular scratch group. More...

Defines

#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.

Typedefs

typedef struct Sem_Obj * | RMAN_SemHandle
Declare abstract handle for Semaphore object.

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 IRESMAN protocol/protocol revision i.e., device specific resource manager implementation with the Resource Registry of RMAN. RMAN logs these entries in an internal table that is uses to satisfy requests for different IRES resources.
IRES_Status | RMAN_unregister (IRESMAN_Fxns *resmanFxns)
Unregisters the protocol and the corresponding resource manager implementation from RMAN's Resource Registry. This API is called when this resource no longer needs to be managed by RMAN.
IRES_Status | RMAN_assignResources (IALG_Handle algHandle, IRES_Fxns *resFxns, Int scratchGroupId)
Assign IRES resources to the algorithm indicated by algHandle. Algorithm could request multiple IRES resources of same/ different type through its IRES implementation. RMAN would identify which IRESMAN implementation (that is registered with it) to query and then request resources from that, to satisfy the individual IRES requests. Non-algorithm users of this API can obtain resources by passing * NULL as the algHandle. Resources will still be assigned to the IRES_Fxns::initResources API.
IRES_Status | RMAN_freeResources (IALG_Handle algHandle, IRES_Fxns *resFxns, 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.

Variables

__FAR__ RMAN_Params | RMAN_PARAMS
__FAR__ IRESMAN_Fxns * | RMAN_TABLE []
__FAR__ short | RMAN_FREE_ENTRIES []
__FAR__ short | RMAN_numRegistryEntries
__FAR__ IRESMAN_Fxns ** | RMAN_registryEntries
__FAR__ IRESMAN_Params ** | RMAN_registryResmanArgs

Detailed Description

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

Define Documentation

#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.

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 IRESMAN protocol/protocol revision i.e., device specific resource manager implementation with the Resource Registry of RMAN. RMAN logs these entries in an internal table that is uses to satisfy requests for different IRES resources.

Parameters:
[in] | resmanFxns | Device-specific implementation of the IRESMAN 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 )

Unregisters the protocol and the corresponding resource manager implementation from RMAN's Resource Registry. This API is called when this resource no longer needs to be managed by RMAN.

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 IRES resources to the algorithm indicated by algHandle. Algorithm could request multiple IRES resources of same/ different type through its IRES implementation. RMAN would identify which IRESMAN implementation (that is registered with it) to query and then request resources from that, to satisfy the individual IRES requests. Non-algorithm users of this API can obtain resources by passing * NULL as the algHandle. Resources will still be assigned to the IRES_Fxns::initResources API.

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_freeResources | ( | IALG_Handle | algHandle,
 |  | IRES_Fxns * | resFxns,
 |  | Int | scratchGroupId
 | ) |  |

Free resources held by the algorithm resource handle.

Parameters:
[in] | algHandle | Handle to the algorithm, could be NULL for non-algorithm requests.
[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_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.

Variable Documentation

__FAR__ RMAN_Params RMAN_PARAMS
__FAR__ IRESMAN_Fxns* RMAN_TABLE[]
__FAR__ short RMAN_FREE_ENTRIES[]
__FAR__ short RMAN_numRegistryEntries
__FAR__ IRESMAN_Fxns** RMAN_registryEntries
__FAR__ IRESMAN_Params** RMAN_registryResmanArgs


Framework Components: DBC

DBC

Defines

#define | DBC_assert(c)
#define | DBC_require(c)
#define | DBC_ensure(c)

Detailed Description

Design By Contract is a software methodology pioneered by Dr. Bertrand Meyers. It utilitizes the concept of preconditions and postconditions to ensure program correctness. For additional reference, please visit http://archive.eiffel.com/doc/manuals/technology/contract/.

Remarks:
To enable the use of DBC in debug builds, add a "DBC_ASSERTS" define in your makefile or build package.

Define Documentation

#define DBC_assert ( c )

Assert a logical condition to be TRUE.

#define DBC_require ( c )

Assert a precondition to be TRUE.

#define DBC_ensure ( c )

Assert a postcondition to be TRUE.


Framework Components: VICPSYNC

VICPSYNC

Data Structures

struct | VICPSYNC_Params
The module configuration structure for VICPSYNC implementation. More...

Defines

#define | VICPSYNC_GTNAME "ti.sdo.fc.vicpsync"

Enumerations

enum VICPSYNC_ResourceType {
VICPSYNC_IMX0,
VICPSYNC_IMX1,
VICPSYNC_MJCP,
VICPSYNC_NSF
}

Resource types for which the API can be called.

More...
enum VICPSYNC_InterruptLine {
VICPSYNC_FIXED,
VICPSYNC_FLEXIBLE
}

Interrupt line that can be specified for each Resource type.

More...
enum VICPSYNC_InterruptType {
VICPSYNC_IRQ,
VICPSYNC_FIQ
}

Interrupt type that can be specified for each Resource type.

More...
enum VICPSYNC_Status {
VICPSYNC_OK,
VICPSYNC_EFAIL,
VICPSYNC_ENORESOURCE
}

Functions

VICPSYNC_Status | VICPSYNC_start (IALG_Handle handle, VICPSYNC_ResourceType res, VICPSYNC_InterruptType intType, VICPSYNC_InterruptLine intLine, IRES_VICP2_Handle vicpHandle)
This is the top level function that allows ARM-side algorithms to mark beginning of the usage of individual functional units of VICP.
VICPSYNC_Status | VICPSYNC_wait (IRES_VICP2_Handle vicpHandle, VICPSYNC_ResourceType res)
This is the top level function that allows the ARM-side algorithms to wait for interrupt corresponding to the functional unit of the VICP to fire.
Bool | VICPSYNC_done (IRES_VICP2_Handle vicpHandle, VICPSYNC_ResourceType res)
This is the top level function that allows the ARM-side algorithms to query the status of the interrupt corresponding to the functional unit that was configured using VICPSYNC_start call.
VICPSYNC_Status | VICPSYNC_unregister (IRES_VICP2_Handle vicpHandle, VICPSYNC_ResourceType res)
This is the top level function that allows the ARM-side algorithms to unregister the ISR associated with the VICP resource that may have been previously registered via a call to VICPSYNC_start.

Variables

VICPSYNC_Params VICPSYNC_PARAMS
Default module configuration structure (defined in vicpsync.c).

Detailed Description

This module is used by frameworks or applications which have xDAIS algorithms that use VICP hardware accelerators.

Define Documentation

#define VICPSYNC_GTNAME "ti.sdo.fc.vicpsync"

Name to identify the GT module

Enumeration Type Documentation

enum VICPSYNC_ResourceType

Resource types for which the API can be called.

Enumerator:
VICPSYNC_IMX0
VICPSYNC_IMX1
VICPSYNC_MJCP
VICPSYNC_NSF
enum VICPSYNC_InterruptLine

Interrupt line that can be specified for each Resource type.

Enumerator:
VICPSYNC_FIXED

Use dedicated line for this resource

VICPSYNC_FLEXIBLE

Use generic interrupt line for this resource

enum VICPSYNC_InterruptType

Interrupt type that can be specified for each Resource type.

Enumerator:
VICPSYNC_IRQ

Regular Interrupt Request

VICPSYNC_FIQ

Fast Interrupt Request

enum VICPSYNC_Status
Enumerator:
VICPSYNC_OK

Success

VICPSYNC_EFAIL

general failure

VICPSYNC_ENORESOURCE

resources not owned to be able to configure this interrupt

Function Documentation

VICPSYNC_Status VICPSYNC_start | ( | IALG_Handle | handle,
 |  | VICPSYNC_ResourceType | res,
 |  | VICPSYNC_InterruptType | intType,
 |  | VICPSYNC_InterruptLine | intLine,
 |  | IRES_VICP2_Handle | vicpHandle
 | ) |  |

This is the top level function that allows ARM-side algorithms to mark beginning of the usage of individual functional units of VICP.

Parameters:
handle | Algorithm handle
res | Particular function unit of the VICP to configure
intType | Type of interrupt (FIQ/IRQ) to configure
intLine | Interrupt line to use (Fixed/Flexible)
vicpHandle | void pointer to the vicp handle.
Returns:
VICPSYNC_Status Returns status of this call.
Note:
This function will be called from the algorithm but the implementation will lie in the application.
VICPSYNC_Status VICPSYNC_wait | ( | IRES_VICP2_Handle | vicpHandle,
 |  | VICPSYNC_ResourceType | res
 | ) |  |

This is the top level function that allows the ARM-side algorithms to wait for interrupt corresponding to the functional unit of the VICP to fire.

Parameters:
vicpHandle | void pointer to the vicp handle.
res | Particular function unit of the VICP that has been configured to respond to interrupt.
Returns:
VICPSYNC_Status Returns status of this call
Note:
As per XDM, this function will be called from the algorithm but the implementation will lie in the application.
Bool VICPSYNC_done | ( | IRES_VICP2_Handle | vicpHandle,
 |  | VICPSYNC_ResourceType | res
 | ) |  |

This is the top level function that allows the ARM-side algorithms to query the status of the interrupt corresponding to the functional unit that was configured using VICPSYNC_start call.

Parameters:
vicpHandle | void pointer to the vicp handle.
res | Particular functional unit of the VICP to query for status of interrupt.
Returns:
Bool value indicating if the interrupt has fired yet.
Note:
As per XDM, this function will be called from the algorithm but the implementation will lie in the application.
VICPSYNC_Status VICPSYNC_unregister | ( | IRES_VICP2_Handle | vicpHandle,
 |  | VICPSYNC_ResourceType | res
 | ) |  |

This is the top level function that allows the ARM-side algorithms to unregister the ISR associated with the VICP resource that may have been previously registered via a call to VICPSYNC_start.

Parameters:
vicpHandle | void pointer to the vicp handle.
res | Particular functional unit of the VICP to query for status of interrupt.
Returns:
VICPSYNC_Status Returns status of this call.

Variable Documentation

VICPSYNC_Params VICPSYNC_PARAMS

Default module configuration structure (defined in vicpsync.c).


Framework Components: Generic Trace Support

Generic Trace Support

The "Generic Tracing" module. Provides producers of content the ability to, in a runtime-independant way, add tracing. Also provides consumers of trace-enabled content the mechanisms necessary to enable/disable the various trace statements. More...

Data Structures

struct | GT_Mask
Object representing a GT module instance. More...

Defines

#define | GT_ENTER ((UInt8)0x01)
Mask for tracing entry and exit points within functions.
#define | GT_1CLASS ((UInt8)0x02)
#define | GT_2CLASS ((UInt8)0x04)
#define | GT_3CLASS ((UInt8)0x08)
#define | GT_4CLASS ((UInt8)0x10)
#define | GT_5CLASS ((UInt8)0x20)
User mask 5. By convention, used for benchmarking related tracing.
#define | GT_6CLASS ((UInt8)0x40)
User mask 6. By convention, used for internal warning related tracing.
#define | GT_7CLASS ((UInt8)0x80)
User mask 7. By convention, used for internal error related tracing.
#define | GT_create(mask, modName) _GT_create((mask), (modName))
#define | GT_set(str) _GT_set(str)
#define | GT_0trace(mask, classId, format)
#define | GT_1trace(mask, classId, format, arg1)
#define | GT_2trace(mask, classId, format, arg1, arg2)
#define | GT_3trace(mask, classId, format, arg1, arg2, arg3)
#define | GT_4trace(mask, classId, format, arg1, arg2, arg3, arg4)
#define | GT_5trace(mask, classId, format, arg1, arg2, arg3, arg4, arg5)
#define | GT_6trace(mask, classId, format, arg1, arg2, arg3, arg4, arg5, arg6)

Functions

Void | _GT_create (GT_Mask *mask, String modName)
Initialize a GT mask.
Void | GT_init (Void)
Initialize the GT module.
Void | _GT_set (String str)
Modify the current trace mask settings.
Int | _GT_trace (GT_Mask *mask, Int classId, String format,...)
Conditionally emit a trace statement.

Detailed Description

The "Generic Tracing" module. Provides producers of content the ability to, in a runtime-independant way, add tracing. Also provides consumers of trace-enabled content the mechanisms necessary to enable/disable the various trace statements.

Remarks:
Note that the public APIs (e.g. GT_create()) are implemented as macros around private services of a similar name, but prefixed with an underscore (e.g. _GT_create()). This enables GT tracing to be conditionally compiled out of code bases. Users of the GT APIs should never call the private services (indicated by convention with a leading underscore '_'). Rather, they should restrict usage to the public APIs (i.e., call GT_1trace(), not _GT_trace()).

Define Documentation

#define GT_ENTER ((UInt8)0x01)

Mask for tracing entry and exit points within functions.

#define GT_1CLASS ((UInt8)0x02)

User mask 1.

#define GT_2CLASS ((UInt8)0x04)

User mask 2.

#define GT_3CLASS ((UInt8)0x08)

User mask 3.

#define GT_4CLASS ((UInt8)0x10)

User mask 4.

#define GT_5CLASS ((UInt8)0x20)

User mask 5. By convention, used for benchmarking related tracing.

#define GT_6CLASS ((UInt8)0x40)

User mask 6. By convention, used for internal warning related tracing.

#define GT_7CLASS ((UInt8)0x80)

User mask 7. By convention, used for internal error related tracing.

#define GT_create | ( | mask,
 |  | modName | ) | _GT_create((mask), (modName))

Initialize a GT mask.

Parameters:
[in] | mask | Address of an existing GT_Mask structure.
[in] | modName | Module name to be associated with this mask.
Precondition:
mask must point to a pre-allocated GT_Mask structure. Typically this memory is set aside as a static global variable for simplicity, althought that need not be the case.
Remarks:
This function should not be called directly. Users should use the GT_create() macro wrapping this function instead, to enable conditional removal of tracing from the client binaries.
modName must be unique within the entire system. To that end, it typically contains the client package's name.

#define GT_set ( str ) _GT_set(str)

Modify the current trace mask settings.

Parameters:
[in] str New trace format string.
Remarks:
_GT_set() should not be called directly. Users should use the GT_set() macro which wraps _GT_set() instead, to enable conditional removal of tracing from the client binaries.

#define GT_0trace | ( | mask,
 |  | classId,
 |  | format | )
Value:
((*(mask).flags & (classId)) ? \
    _GT_trace(&(mask), (classId), (format)) : 0)
See also:
_GT_trace()
#define GT_1trace | ( | mask,
 |  | classId,
 |  | format,
 |  | arg1 | )
Value:
((*(mask).flags & (classId)) ? \
    _GT_trace(&(mask), (classId), (format), (arg1)) : 0)
See also:
_GT_trace()
#define GT_2trace | ( | mask,
 |  | classId,
 |  | format,
 |  | arg1,
 |  | arg2 | )
Value:
((*(mask).flags & (classId)) ? \
    _GT_trace(&(mask), (classId), (format), (arg1), (arg2)) : 0)
See also:
_GT_trace()
#define GT_3trace | ( | mask,
 |  | classId,
 |  | format,
 |  | arg1,
 |  | arg2,
 |  | arg3 | )
Value:
((*(mask).flags & (classId)) ? \
    _GT_trace(&(mask), (classId), (format), (arg1), (arg2), (arg3)) : 0)
See also:
_GT_trace()
#define GT_4trace | ( | mask,
 |  | classId,
 |  | format,
 |  | arg1,
 |  | arg2,
 |  | arg3,
 |  | arg4 | )
Value:
((*(mask).flags & (classId)) ? \
    _GT_trace(&(mask), (classId), (format), (arg1), (arg2), (arg3), (arg4)) : 0)
See also:
_GT_trace()
#define GT_5trace | ( | mask,
 |  | classId,
 |  | format,
 |  | arg1,
 |  | arg2,
 |  | arg3,
 |  | arg4,
 |  | arg5 | )
Value:
((*(mask).flags & (classId)) ? \
    _GT_trace(&(mask), (classId), (format), (arg1), (arg2), (arg3), (arg4), (arg5)) : 0)
See also:
_GT_trace()
#define GT_6trace | ( | mask,
 |  | classId,
 |  | format,
 |  | arg1,
 |  | arg2,
 |  | arg3,
 |  | arg4,
 |  | arg5,
 |  | arg6 | )
Value:
((*(mask).flags & (classId)) ? \
    _GT_trace(&(mask), (classId), (format), (arg1), (arg2), (arg3), (arg4), \
        (arg5), (arg6)) : 0)
See also:
_GT_trace()

Function Documentation

Void _GT_create | ( | GT_Mask * | mask,
 |  | String | modName
 | ) |  |

Initialize a GT mask.

Parameters:
[in] | mask | Address of an existing GT_Mask structure.
[in] | modName | Module name to be associated with this mask.
Precondition:
mask must point to a pre-allocated GT_Mask structure. Typically this memory is set aside as a static global variable for simplicity, althought that need not be the case.
Remarks:
This function should not be called directly. Users should use the GT_create() macro wrapping this function instead, to enable conditional removal of tracing from the client binaries.
modName must be unique within the entire system. To that end, it typically contains the client package's name.
Void GT_init ( Void )

Initialize the GT module.

Remarks:
GT_init() can be called multiple times, and should be called by all explicit users of GT.
Void _GT_set ( String str )

Modify the current trace mask settings.

Parameters:
[in] str New trace format string.
Remarks:
_GT_set() should not be called directly. Users should use the GT_set() macro which wraps _GT_set() instead, to enable conditional removal of tracing from the client binaries.
Int _GT_trace | ( | GT_Mask * | mask,
 |  | Int | classId,
 |  | String | format,
 |  |  | ...
 | ) |  |

Conditionally emit a trace statement.

Parameters:
[in] | mask | Mask associated with this trace statement.
[in] | classId | class of this trace statement.
[in] | format | printf-style format string.
Remarks:
This function should not be called directly. Users should use the macros wrapping this function instead (e.g. GT_1trace()) to enable conditional removal of tracing from the client binaries.
classId can be a logically OR'd set of classes. Doing so will cause the trace to be emitted if any of the classId classes are enabled in the current settings of the mask.
Most, but not all printf format strings are supported.
Precondition:
mask must have been initialized with GT_create().
See also:
GT_create()


Framework Components: XDAIS Types and Constants

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: Ti_sdo_fc_ires_addrspace_IRESMAN_ADDRSPACE

Ti_sdo_fc_ires_addrspace_IRESMAN_ADDRSPACE

Data Structures

struct | IRESMAN_AddrSpaceParams

Functions

String | IRESMAN_ADDRSPACE_getProtocolName ()
Function to return the name of the protocol.
IRES_ProtocolRevision * IRESMAN_ADDRSPACE_getProtocolRevision ()
Function to return the revision of the protocol.
IRES_Status | IRESMAN_ADDRSPACE_init (IRESMAN_Params *initArgs)
Function to initialize the device specific resource manager implementation.
IRES_Status IRESMAN_ADDRSPACE_exit ()
Function called when RESMAN is no longer needed. Use it to free memory allocated etc.
IRES_Handle | IRESMAN_ADDRSPACE_getHandles (IALG_Handle algHandle, IRES_ProtocolArgs *protocolArgs, Int scratchGroupId, IRES_Status *status)
Function that returns the IRES_Handle to the resource requested using the IRES_ResourceProtocolArgs.
IRES_Status | IRESMAN_ADDRSPACE_freeHandle (IALG_Handle algHandle, IRES_Handle algResourceHandle, IRES_ProtocolArgs *protocolArgs, Int scratchGroupId)
Frees handles back to the resource pool.

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_ADDRSPACE
IRES RESMAN implementation for ADDRSPACE.

Detailed Description

IRESMAN PROTOCOL - ADDRSPACE ADDRSPACE specific Resource Manager and corresponding IRES Protocol Implementation

Function Documentation

String IRESMAN_ADDRSPACE_getProtocolName ( )

Function to return the name of the protocol.

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

Function to return the revision of the protocol.

Return values:
Revision identifying the protocol
IRES_Status IRESMAN_ADDRSPACE_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_ADDRSPACE_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_ADDRSPACE_getHandles | ( | IALG_Handle | algHandle,
 |  | IRES_ProtocolArgs * | protocolArgs,
 |  | 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 acquiring the resources
[in] | protocolArgs | 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_ADDRSPACE_freeHandle | ( | IALG_Handle | algHandle,
 |  | IRES_Handle | algResourceHandle,
 |  | IRES_ProtocolArgs * | protocolArgs,
 |  | Int | scratchGroupId
 | ) |  |

Frees handles back to the resource pool.

Parameters:
[in] | algHandle | Handle of the algorithm releasing the resources
[in] | algResourceHandle | Handle that is to be released
[in] | protocolArgs | 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

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_ADDRSPACE

IRES RESMAN implementation for ADDRSPACE.


Framework Components: IRES EDMA3 Protocol

IRES EDMA3 Protocol

Data Structures

struct | IRES_EDMA3CHAN_PaRamStruct
Representation of actual PaRam structure. More...
struct | IRES_EDMA3CHAN_ProtocolArgs
EDMA3 Linked Transfer Protocol Arguments definition. 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 in-efficient allocation of resources, and in some cases, simplyfying assumptions about the resource requests may be made by the allocator. More...
struct | IRES_EDMA3CHAN_Obj
IRES_EDMA3CHAN_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource. More...
struct | IRES_EDMA3CHAN_EDMA3ShadowRegister
IRES_EDMA3CHAN_EDMA3ShadowRegister defines the shadow register part of the EDMA3 CC Register Layer defined below. More...
struct | IRES_EDMA3CHAN_EDMA3DraeRegister
IRES_EDMA3CHAN_EDMA3DraeRegister defines the Region Enable register part of the EDMA3 CC Register Layer defined below. More...
struct | IRES_EDMA3CHAN_EDMA3RegisterLayer
struct | IRES_EDMA3CHAN_Properties
Static Resource Properties. More...

Defines

#define | IRES_EDMA3CHAN_PROTOCOLNAME "ti.sdo.fc.ires.edma3chan"
Name used to describe this protocol.
#define | EDMA3CHAN_GTNAME "ti.sdo.fc.ires.edma3chan"
Name used to describe the GT module.
#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_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

Typedefs

typedef struct IRES_EDMA3CHAN_Obj * | IRES_EDMA3CHAN_Handle
Handle to "logical" resource.

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_GTNAME "ti.sdo.fc.ires.edma3chan"

Name used to describe the GT module.

#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_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" resource.


Framework Components: IRESMAN EDMA3 -

IRESMAN EDMA3 -

Data Structures

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

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_ProtocolArgs *protocolArgs, 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_ProtocolArgs *protocolArgs, Int scratchGroupId)
Frees handles back to the resource pool.

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.
IRESMAN_ConstructFxns IRESMAN_EDMA3CHAN_CONSTRUCTFXNS

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_ProtocolArgs * | protocolArgs,
 |  | 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] | protocolArgs | 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_ProtocolArgs * | protocolArgs,
 |  | 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] | protocolArgs | 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

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: IRES HDVICP Protocol

IRES HDVICP Protocol

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...

Defines

#define | IRES_HDVICP_PROTOCOLNAME "ti.sdo.fc.ires.hdvicp"
Name used to describe this protocol.

Typedefs

typedef struct IRES_HDVICP_Obj * | IRES_HDVICP_Handle
Handle to "logical" resource.

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.

Typedef Documentation

typedef struct IRES_HDVICP_Obj* IRES_HDVICP_Handle

Handle to "logical" resource.

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: IRESMAN PROTOCOL - HDVICP

IRESMAN PROTOCOL - HDVICP

Data Structures

struct | IRESMAN_HdVicpParams

Defines

#define | IRES_HDVICP_MAXRESOURCES 10

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_ProtocolArgs *protocolArgs, 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_ProtocolArgs *protocolArgs, Int scratchGroupId)
Frees handles back to the resource pool.

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.

Define Documentation

#define IRES_HDVICP_MAXRESOURCES 10

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_ProtocolArgs * | protocolArgs,
 |  | 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] | protocolArgs | 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_HDVICP_freeHandles | ( | IALG_Handle | algHandle,
 |  | IRES_Handle | algResourceHandle,
 |  | IRES_ProtocolArgs * | protocolArgs,
 |  | 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] | protocolArgs | 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

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: Ti_sdo_fc_ires_memtcm_IRESMAN_MEMTCM

Ti_sdo_fc_ires_memtcm_IRESMAN_MEMTCM

Data Structures

struct | IRESMAN_MemTcmParams

Functions

String | IRESMAN_MEMTCM_getProtocolName ()
Function to return the name of the protocol.
IRES_ProtocolRevision * IRESMAN_MEMTCM_getProtocolRevision ()
Function to return the revision of the protocol.
IRES_Status | IRESMAN_MEMTCM_init (IRESMAN_Params *initArgs)
Function to initialize the device specific resource manager implementation.
IRES_Status IRESMAN_MEMTCM_exit ()
Function called when RESMAN is no longer needed. Use it to free memory allocated etc.
IRES_Handle | IRESMAN_MEMTCM_getHandles (IALG_Handle algHandle, IRES_ProtocolArgs *protocolArgs, Int scratchGroupId, IRES_Status *status)
Function that returns the IRES_Handle to the resource requested using the IRES_ResourceProtocolArgs.
IRES_Status | IRESMAN_MEMTCM_freeHandle (IALG_Handle algHandle, IRES_Handle algResourceHandle, IRES_ProtocolArgs *protocolArgs, Int scratchGroupId)
Frees handles back to the resource pool.

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_MEMTCM
IRES RESMAN implementation for MEMTCM.

Detailed Description

IRESMAN PROTOCOL - MEMTCM MEMTCM specific Resource Manager and corresponding IRES Protocol Implementation

Function Documentation

String IRESMAN_MEMTCM_getProtocolName ( )

Function to return the name of the protocol.

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

Function to return the revision of the protocol.

Return values:
Revision identifying the protocol
IRES_Status IRESMAN_MEMTCM_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_MEMTCM_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_MEMTCM_getHandles | ( | IALG_Handle | algHandle,
 |  | IRES_ProtocolArgs * | protocolArgs,
 |  | 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 acquiring the resources
[in] | protocolArgs | 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_MEMTCM_freeHandle | ( | IALG_Handle | algHandle,
 |  | IRES_Handle | algResourceHandle,
 |  | IRES_ProtocolArgs * | protocolArgs,
 |  | Int | scratchGroupId
 | ) |  |

Frees handles back to the resource pool.

Parameters:
[in] | algHandle | Handle of the algorithm releasing the resources
[in] | algResourceHandle | Handle that is to be released
[in] | protocolArgs | 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

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_MEMTCM

IRES RESMAN implementation for MEMTCM.


Framework Components: IRES SDMA Protocol

IRES SDMA Protocol

Data Structures

struct | IRES_SDMA_ProtocolArgs
SDMA Protocol Arguments definition. More...
struct | IRES_SDMA_Obj
IRES_SDMA_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource. More...
struct | IRES_SDMA_RegisterLayer
struct | IRES_SDMA_Properties

Defines

#define | IRES_SDMA_PROTOCOLNAME "ti.sdo.fc.ires.sdma"
Name used to describe this protocol.
#define | SDMA_GTNAME "ti.sdo.fc.ires.sdma"
Name used to identify this GT module.

Typedefs

typedef struct IRES_SDMA_Obj * | IRES_SDMA_Handle
Handle to "logical" resource.

Detailed Description

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

Define Documentation

#define IRES_SDMA_PROTOCOLNAME "ti.sdo.fc.ires.sdma"

Name used to describe this protocol.

#define SDMA_GTNAME "ti.sdo.fc.ires.sdma"

Name used to identify this GT module.

Typedef Documentation

typedef struct IRES_SDMA_Obj* IRES_SDMA_Handle

Handle to "logical" resource.


Framework Components: IRESMAN SDMA -

IRESMAN SDMA -

Data Structures

struct | IRESMAN_SdmaParams
Initialization arguments for the SDMA specific resource manager. More...

Functions

String | IRESMAN_SDMA_getProtocolName ()
Function to return the name of the protocol.
IRES_ProtocolRevision * IRESMAN_SDMA_getProtocolRevision ()
Function to return the revision of the protocol.
IRES_Status | IRESMAN_SDMA_init (IRESMAN_Params *initArgs)
Function to initialize the device specific resource manager implementation.
IRES_Status IRESMAN_SDMA_exit ()
Function called when RESMAN is no longer needed. Use it to free memory allocated etc.
IRES_Handle | IRESMAN_SDMA_getHandles (IALG_Handle algHandle, IRES_ProtocolArgs *protocolArgs, Int scratchGroupId, IRES_Status *status)
Function that returns the IRES_Handle to the resource requested using the IRES_ResourceProtocolArgs.
IRES_Status | IRESMAN_SDMA_freeHandle (IALG_Handle algHandle, IRES_Handle algResourceHandle, IRES_ProtocolArgs *protocolArgs, Int scratchGroupId)
Frees handles back to the resource pool.

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_SDMA
IRES RESMAN implementation for SDMA.

Detailed Description

SDMA specific Resource Manager and corresponding IRES Protocol Implementation

Function Documentation

String IRESMAN_SDMA_getProtocolName ( )

Function to return the name of the protocol.

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

Function to return the revision of the protocol.

Return values:
Revision identifying the protocol
IRES_Status IRESMAN_SDMA_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_SDMA_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_SDMA_getHandles | ( | IALG_Handle | algHandle,
 |  | IRES_ProtocolArgs * | protocolArgs,
 |  | 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 acquiring the resources
[in] | protocolArgs | 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_SDMA_freeHandle | ( | IALG_Handle | algHandle,
 |  | IRES_Handle | algResourceHandle,
 |  | IRES_ProtocolArgs * | protocolArgs,
 |  | Int | scratchGroupId
 | ) |  |

Frees handles back to the resource pool.

Parameters:
[in] | algHandle | Handle of the algorithm releasing the resources
[in] | algResourceHandle | Handle that is to be released
[in] | protocolArgs | 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

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_SDMA

IRES RESMAN implementation for SDMA.


Framework Components: Shared Memory Buffer Protocol

Shared Memory Buffer Protocol

Data Structures

struct | SHMBUF_Params
SHMBUF specific params. More...
struct | SHMBUF_Obj
struct | SHMBUF_Args
struct | SHMBUF_Props

Defines

#define | SHMBUF_GTNAME "ti.sdo.fc.ires.shmbuf"
#define | SHMBUF_PROTOCOLNAME "ti.sdo.fc.ires.shmbuf"
Name used to describe this protocol.

Typedefs

typedef struct SHMBUF_Obj * | SHMBUF_Handle

Variables

SHMBUF_Params SHMBUF_PARAMS
IRESMAN_ConstructFxns SHMBUF_REQFXNS
IRESMAN_Fxns SHMBUF_MGRFXNS

Detailed Description

Allows algorithms to request and receive handles representing a shared memory buffer.

Define Documentation

#define SHMBUF_GTNAME "ti.sdo.fc.ires.shmbuf"

Name used to identify the GT module

#define SHMBUF_PROTOCOLNAME "ti.sdo.fc.ires.shmbuf"

Name used to describe this protocol.

Typedef Documentation

typedef struct SHMBUF_Obj* SHMBUF_Handle

Variable Documentation

SHMBUF_Params SHMBUF_PARAMS
IRESMAN_ConstructFxns SHMBUF_REQFXNS
IRESMAN_Fxns SHMBUF_MGRFXNS


Framework Components: IRES VICP Protocol

IRES VICP Protocol

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

Defines

#define | IRES_VICP_MAXRESOURCES 1
#define | IRES_VICP_PROTOCOLNAME "ti.sdo.fc.ires.vicp"
Name used to describe this protocol.

Typedefs

typedef struct IRES_VICP_Obj * | IRES_VICP_Handle
Handle to "logical" resource.

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.

Typedef Documentation

typedef struct IRES_VICP_Obj* IRES_VICP_Handle

Handle to "logical" resource.


Framework Components: IRES VICP Protocol

IRES VICP Protocol

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

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 | 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

Typedefs

typedef struct IRES_VICP2_Obj * | IRES_VICP2_Handle
Handle to "logical" resource.

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 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.


Framework Components: IRESMAN PROTOCOL - VICP

IRESMAN PROTOCOL - VICP

Collaboration diagram for IRESMAN PROTOCOL - VICP:

Data Structures

struct | IRESMAN_VicpParams

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_ProtocolArgs *protocolArgs, 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_ProtocolArgs *protocolArgs, Int scratchGroupId)
Frees handles back to the resource pool.

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_ProtocolArgs * | protocolArgs,
 |  | 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] | protocolArgs | 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_ProtocolArgs * | protocolArgs,
 |  | 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] | protocolArgs | 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

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: IRESMAN PROTOCOL - VICP

IRESMAN PROTOCOL - VICP

Collaboration diagram for IRESMAN PROTOCOL - VICP:

Data Structures

struct | IRESMAN_VicpParams

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_ProtocolArgs *protocolArgs, 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_ProtocolArgs *protocolArgs, Int scratchGroupId)
Frees handles back to the resource pool.

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_ProtocolArgs * | protocolArgs,
 |  | 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] | protocolArgs | 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_ProtocolArgs * | protocolArgs,
 |  | 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] | protocolArgs | 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

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: SCPY - Functional library for SDMA resources

SCPY - Functional library for SDMA resources

Data Structures

struct | SCPY_AddrParams
Parameters of Address (source or destination) of transfer. More...
struct | SCPY_TransferParams
Details of Transfer. More...
struct | SCPY_Params

Defines

#define | OMAP_DMA_DATA_TYPE_S8 0x00
#define | OMAP_DMA_DATA_TYPE_S16 0x01
#define | OMAP_DMA_DATA_TYPE_S32 0x02
#define | OMAP_DMA_PORT_EMIFF 0x00
#define | OMAP_DMA_AMODE_POST_CONST 0x00
#define | OMAP_DMA_AMODE_POST_INC 0x01
#define | OMAP_DMA_AMODE_POST_SINGLE_INDEX 0x02
#define | OMAP_DMA_AMODE_POST_DOUBLE_INDEX 0x03
#define | OMAP_DMA_SYNC_MODE_ELEMENT 0x00
To identify mode of sychronization of transfer.
#define | OMAP_DMA_SYNC_MODE_FRAME 0x01
#define | OMAP_DMA_SYNC_MODE_BLOCK 0x02
#define | OMAP_DMA_SYNC_TYPE_DEST 0x00
#define | OMAP_DMA_SYNC_TYPE_SRC 0x01

Functions

void | SCPY_init ()
SCPY initialization API.
void | SCPY_exit ()
SCPY finalization API.
void | SCPY_configure (IRES_SDMA_Handle logicalChannel, SCPY_Params *params)
Configures transfer on a particular logical handle.
void | SCPY_start (IRES_SDMA_Handle logicalChannel)
Starts a transfer previously configured on a channel.
void | SCPY_wait (IRES_SDMA_Handle logicalChannel)
Wait for the transfer to complete.
Bool | SCPY_complete (IRES_SDMA_Handle logicalChannel)
Returns status of transfer on the logical channel.

Detailed Description

The SCPY module provides a list of SDMA operations an algorithm can perform on logical SDMA channels it acquires through the IRES_SDMA protocol. Examples of SCPY operations include channel configuration, SDMA transfer scheduling, and SDMA transfer synchronization.

Define Documentation

#define OMAP_DMA_DATA_TYPE_S8 0x00
#define OMAP_DMA_DATA_TYPE_S16 0x01
#define OMAP_DMA_DATA_TYPE_S32 0x02
#define OMAP_DMA_PORT_EMIFF 0x00
#define OMAP_DMA_AMODE_POST_CONST 0x00
#define OMAP_DMA_AMODE_POST_INC 0x01
#define OMAP_DMA_AMODE_POST_SINGLE_INDEX 0x02
#define OMAP_DMA_AMODE_POST_DOUBLE_INDEX 0x03
#define OMAP_DMA_SYNC_MODE_ELEMENT 0x00

To identify mode of sychronization of transfer.

#define OMAP_DMA_SYNC_MODE_FRAME 0x01
#define OMAP_DMA_SYNC_MODE_BLOCK 0x02
#define OMAP_DMA_SYNC_TYPE_DEST 0x00
#define OMAP_DMA_SYNC_TYPE_SRC 0x01

Function Documentation

void SCPY_init ( )

SCPY initialization API.

void SCPY_exit ( )

SCPY finalization API.

void SCPY_configure | ( | IRES_SDMA_Handle | logicalChannel,
 |  | SCPY_Params * | params
 | ) |  |

Configures transfer on a particular logical handle.

Parameters:
[in] | logicalChannel | Handle to the logical channel on which transfer will be configured
[in] | params | Params to describe the transfer, src/dst addresses, sychronization mode, transfer dimensions etc.
void SCPY_start ( IRES_SDMA_Handle logicalChannel )

Starts a transfer previously configured on a channel.

Parameters:
[in] logicalChannel Previously configured logical channel on which to start the transfer.
void SCPY_wait ( IRES_SDMA_Handle logicalChannel )

Wait for the transfer to complete.

Parameters:
[in] logicalChannel Logical channel on which transfer is ongoing.
Bool SCPY_complete ( IRES_SDMA_Handle logicalChannel )

Returns status of transfer on the logical channel.

Parameters:
[in] logicalChannel Logical channel on which transfer is ongoing.
Return values:
TRUE | Transfer completed
FALSE | Transfer in progress


Framework Components: Data Structures

  • Data Structures
  • Data Structure Index
  • Data Fields

Data Structures

Here are the data structures with brief descriptions:
ACPY3_INSTR_ExtendedHooks | Array of the extended instrumentation hook functions and their arguments
ACPY3_INSTR_Hook | Structure that holds the instrumentation hook function and its arguments
ACPY3_INSTR_Hooks | Array of the primary instrumentation hook functions and their arguments
ACPY3_Params | DMA transfer specific parameters. Defines the configuration of a logical channel
DMAN3_Params | The module configuration structure for DMAN3 implementation. It is set at design time by the system integrator to ensure optimal sharing of DMA resources for the execution environment
GT_Mask | Object representing a GT module instance
HDINTC_Params | The module configuration structure for HDINTC implementation
hdvicpAppHandle |
HDVICPSYNC_Params | The module configuration structure for HDVICPSYNC implementation
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
IDMA3_ChannelRec | DMA Channel Descriptor to logical DMA channels
IDMA3_Fxns | These fxns are used to query/grant the DMA 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
IDMA3_MemRec | Record containing attributes of the IDMA3 Channel environment memory when (optionally) the IDMA3 Channel is requested with a non-NULL IDMA3_ProtocolObj
IDMA3_Obj | IDMA3_Obj holds the private state associated with each logical DMA channel
IDMA3_ProtocolObj | These functions are used to determine memory requirements for and initialize the IDMA3 protocol's environment that will be allocated by the DMA manager
IRES_ADDRSPACE_Obj | IRES_ADDRSPACE_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource
IRES_ADDRSPACE_Properties |
IRES_ADDRSPACE_ProtocolArgs | ADDRSPACE Protocol Arguments definition
IRES_EDMA3CHAN_EDMA3DraeRegister | IRES_EDMA3CHAN_EDMA3DraeRegister defines the Region Enable register part of the EDMA3 CC Register Layer defined below
IRES_EDMA3CHAN_EDMA3RegisterLayer |
IRES_EDMA3CHAN_EDMA3ShadowRegister | IRES_EDMA3CHAN_EDMA3ShadowRegister defines the shadow register part of the EDMA3 CC Register Layer defined below
IRES_EDMA3CHAN_Obj | IRES_EDMA3CHAN_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource
IRES_EDMA3CHAN_PaRamStruct | Representation of actual PaRam structure
IRES_EDMA3CHAN_Properties | Static Resource Properties
IRES_EDMA3CHAN_ProtocolArgs | EDMA3 Linked Transfer Protocol Arguments definition. 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 in-efficient allocation of resources, and in some cases, simplyfying assumptions about the resource requests may be made by the allocator
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_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_MEMTCM_Obj | IRES_MEMTCM_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource
IRES_MEMTCM_Properties |
IRES_MEMTCM_ProtocolArgs | MEMTCM Protocol Arguments definition
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_SDMA_Obj | IRES_SDMA_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource
IRES_SDMA_Properties |
IRES_SDMA_ProtocolArgs | SDMA Protocol Arguments definition
IRES_SDMA_RegisterLayer |
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_AddrSpaceParams |
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_MemTcmParams |
IRESMAN_Params | Configuration Parameters required by the Resource Manager implementation. These can be extended by individual resource managers if required
IRESMAN_SdmaParams | Initialization arguments for the SDMA specific resource manager
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)
RMAN_YieldArgs | Yield Arguments passed to the algorithm if RMAN's useDSKT2 flag is set. These arguments are used by the yield function set/get context and release/acquire locks for a particular scratch group
SCPY_AddrParams | Parameters of Address (source or destination) of transfer
SCPY_Params |
SCPY_TransferParams | Details of Transfer
SHMBUF_Args |
SHMBUF_Obj |
SHMBUF_Params | SHMBUF specific params
SHMBUF_Props |
VICPSYNC_Params | The module configuration structure for VICPSYNC implementation


Framework Components: ACPY3_INSTR_ExtendedHooks Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

ACPY3_INSTR_ExtendedHooks Struct Reference

Array of the extended instrumentation hook functions and their arguments. More...

#include <acpy3_instr.h>

Collaboration diagram for ACPY3_INSTR_ExtendedHooks:
[legend]

Data Fields

ACPY3_INSTR_Hook InstrHooks [22]

Detailed Description

Array of the extended instrumentation hook functions and their arguments.

Field Documentation

ACPY3_INSTR_Hook ACPY3_INSTR_ExtendedHooks::InstrHooks[22]
The documentation for this struct was generated from the following file:
  • acpy3_instr.h


Framework Components: ACPY3_INSTR_Hook Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

ACPY3_INSTR_Hook Struct Reference

Structure that holds the instrumentation hook function and its arguments. More...

#include <acpy3_instr.h>

Data Fields

ACPY3_INSTR_HookFxn fxn
void * args

Detailed Description

Structure that holds the instrumentation hook function and its arguments.

Field Documentation

ACPY3_INSTR_HookFxn ACPY3_INSTR_Hook::fxn
void* ACPY3_INSTR_Hook::args
The documentation for this struct was generated from the following file:
  • acpy3_instr.h


Framework Components: ACPY3_INSTR_Hooks Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

ACPY3_INSTR_Hooks Struct Reference

Array of the primary instrumentation hook functions and their arguments. More...

#include <acpy3_instr.h>

Collaboration diagram for ACPY3_INSTR_Hooks:
[legend]

Data Fields

ACPY3_INSTR_Hook InstrHooks [4]

Detailed Description

Array of the primary instrumentation hook functions and their arguments.

Field Documentation

ACPY3_INSTR_Hook ACPY3_INSTR_Hooks::InstrHooks[4]
The documentation for this struct was generated from the following file:
  • acpy3_instr.h


Framework Components: ACPY3_Params Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

ACPY3_Params Struct Reference
[ACPY3 (C64P)]

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

#include <acpy3.h>

Data Fields

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

Detailed Description

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

Field Documentation

ACPY3_TransferType ACPY3_Params::transferType

1D1D, 1D2D, 2D1D or 2D2D

Void* ACPY3_Params::srcAddr

Source Address of the DMA transfer

Void* ACPY3_Params::dstAddr

Destination Address of the DMA transfer

unsigned short ACPY3_Params::elementSize

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

unsigned short ACPY3_Params::numElements

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

unsigned short ACPY3_Params::numFrames

Number of 2D frames in 3D transfers (CCNT)

short ACPY3_Params::srcElementIndex

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

short ACPY3_Params::dstElementIndex

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

short ACPY3_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 ACPY3_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.

short ACPY3_Params::waitId

For a linked transfer entry:

  • waitId = -1 : no intermediate wait on this transfer
  • 0 <= waitId < numWaits : this transfer can be waited on or polled for completion
  • Ignored for single-transfers and for the last transfer in a sequence of linked transfers which are always synchronized with waitId == (numWaits - 1)
The documentation for this struct was generated from the following file:
  • acpy3.h


Framework Components: DMAN3_Params Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

DMAN3_Params Struct Reference
[DMAN3]

The module configuration structure for DMAN3 implementation. It is set at design time by the system integrator to ensure optimal sharing of DMA resources for the execution environment. More...

#include <dman3.h>

Data Fields

Uns * | qdmaPaRamBase
Physical base address of the PARAM0 in the EDMA3/QDMA hardware whose resources are being managed by DMAN3.
Uns | maxPaRamEntries
Total number of PARAM Table entries on the hardware (eg, for IVA2 this is 128, for Himalaya, this is 256).
Uns | paRamBaseIndex
Represents the first PARAM TABLE ENTRY NUMBER that is assigned by configuration for exclusive DMAN3 allocation.
Uns | numPaRamEntries
Number of PARAM Table entries starting at DMAN3_PARAM_BASE_INDEX assigned by configuration for exclusive DMAN3 allocation.
Uns | maxQdmaChannels
The total number of Physical QDMA channels available on the hardware.
Uns | numQdmaChannels
The number of Physical QDMA channels that are assigned to DMAN3 via configuration.
Uns * | qdmaChannels
Array of size DMAN3_NUM_QDMA_CHANNELS that will contain the channel numbers of the Physical QDMA channels assigned to DMAN3 via configuration.
Uns | tccAllocationMaskH
32-bit "high" bitmask representing configuration provided list of TCCs for exclusive DMAN3 allocation.
Uns | tccAllocationMaskL
32-bit "low" bitmask representing configuration provided list of TCCs for exclusive DMAN3 allocation.
Int | heapInternal
Memory Heap descriptor for dynamic allocation of DMAN3 objects that must be allocated in L1D Internal RAM.
Int | heapExternal
Memory Heap ID for dyn allocation of private DMAN3 data structures that can be allocated in external memory.
unsigned char | numTccGroup [20]
Array containing the number of TCCs that will be assigned to the algorithm groups for sharing.
unsigned short | numPaRamGroup [20]
Array containing the number of PaRams that will be assigned to the algorithm groups for sharing.
Bool | idma3Internal
Flag to indicate that the internal memory heap should be used for dynamic allocation of IDMA3 objects.
DMAN3_ScratchAllocFxn scratchAllocFxn
Function for dynamic allocation of IDMA3 objects 'env' from shared scratch memory.
DMAN3_ScratchFreeFxn scratchFreeFxn
Function for freeing IDMA3 objects 'env' from shared scratch memory.
Uns | nullPaRamIndex
Index of a reserved PaRam entry that will not be used for any DMA transfers. This PaRam will be used to set QCHMAP register to, when there is no activity on the corresponding QDMA channel.
Uns | maxTCs
The total number of Transfer Controllers available on the hardware (eg, 2 for DaVinci, 4 for Himalaya).
Uns * | qdmaQueueMap
Represents the mapping of the QDMA channels owned by DMAN3 to the event queue.
Uns * | queueTCMap
Represents the mapping of individual hardware Event queues to transfer controllers.
Uns * | queuePri
Represents the priority assigned to each of the Event Queues (and hence the Transfer Controllers).
Bool | allowUnshared
Flag indicating whether DMAN3 should allow algorithms to ask for more resources than configured into their scratch group.

Detailed Description

The module configuration structure for DMAN3 implementation. It is set at design time by the system integrator to ensure optimal sharing of DMA resources for the execution environment.

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

Uns* DMAN3_Params::qdmaPaRamBase

Physical base address of the PARAM0 in the EDMA3/QDMA hardware whose resources are being managed by DMAN3.

DMAN3_QDMA_PARAM_BASE

Uns DMAN3_Params::maxPaRamEntries

Total number of PARAM Table entries on the hardware (eg, for IVA2 this is 128, for Himalaya, this is 256).

DMAN3_MAX_PARAM_ENTRIES

Uns DMAN3_Params::paRamBaseIndex

Represents the first PARAM TABLE ENTRY NUMBER that is assigned by configuration for exclusive DMAN3 allocation.

Remarks:
Must be between zero and 255.

DMAN3_PARAM_BASE_INDEX

Uns DMAN3_Params::numPaRamEntries

Number of PARAM Table entries starting at DMAN3_PARAM_BASE_INDEX assigned by configuration for exclusive DMAN3 allocation.

DMAN3_NUM_CONTIGUOUS_PARAM_ENTRIES

Uns DMAN3_Params::maxQdmaChannels

The total number of Physical QDMA channels available on the hardware.

DMAN3_MAX_QDMA_CHANNELS

Uns DMAN3_Params::numQdmaChannels

The number of Physical QDMA channels that are assigned to DMAN3 via configuration.

DMAN3_NUM_QDMA_CHANNELS

Uns* DMAN3_Params::qdmaChannels

Array of size DMAN3_NUM_QDMA_CHANNELS that will contain the channel numbers of the Physical QDMA channels assigned to DMAN3 via configuration.

DMAN3_QDMA_CHANNELS[]

Uns DMAN3_Params::tccAllocationMaskH

32-bit "high" bitmask representing configuration provided list of TCCs for exclusive DMAN3 allocation.

Remarks:
For TCC's in the range 32-63, the High Mask (tccAllocationMaskH) is configured so that a '1' in bit position 'i' indicates the TCC '32 + i' is assigned to DMAN3.

DMAN3_TCC_FREEMASK_H

See also:
tccAllocationMaskL;
Uns DMAN3_Params::tccAllocationMaskL

32-bit "low" bitmask representing configuration provided list of TCCs for exclusive DMAN3 allocation.

Remarks:
For TCC's in the range 0-31, the Low Mask (tccAllocationMaskL) is configured so that a '1' in bit position 'i' indicates the TCC 'i' is assigned to DMAN3.

DMAN3_TCC_FREEMASK_L

See also:
tccAllocationMaskH;
Int DMAN3_Params::heapInternal

Memory Heap descriptor for dynamic allocation of DMAN3 objects that must be allocated in L1D Internal RAM.

Remarks:
A value of -1 indicates that the heap is NOT DEFINED.
If heapInternal is not defined then any IDMA3 protocol that requests IDMA3_INTERNAL type 'env' memory will fail.
See also:
heapExternal
Int DMAN3_Params::heapExternal

Memory Heap ID for dyn allocation of private DMAN3 data structures that can be allocated in external memory.

Remarks:
A value of -1 indicates that the heap is NOT DEFINED.
If heapExternal is not defined then DMAN3 attempts to use heapInternal. As a consequence at least one of them must be defined.
See also:
heapInternal
unsigned char DMAN3_Params::numTccGroup[20]

Array containing the number of TCCs that will be assigned to the algorithm groups for sharing.

Remarks:
Channels created with a given group ID will use TCCs allocated for that group ID, and may share them with other channels created with the same group ID. DMAN3_NUMTCC_GROUP
unsigned short DMAN3_Params::numPaRamGroup[20]

Array containing the number of PaRams that will be assigned to the algorithm groups for sharing.

Remarks:
Channels created with a given group ID will use PaRams allocated for that group ID, and may share them with other channels created with the same group ID. DMAN3_NUMPARAM_GROUP
Bool DMAN3_Params::idma3Internal

Flag to indicate that the internal memory heap should be used for dynamic allocation of IDMA3 objects.

Remarks:
A value of 0 means that IDMA3 objects will be allocated in the heap specified by heapExternal.
If the value of idma3Internal is non-zero, IDMA3 objects will be allocated in the heap specified by heapInternal.
DMAN3_ScratchAllocFxn DMAN3_Params::scratchAllocFxn

Function for dynamic allocation of IDMA3 objects 'env' from shared scratch memory.

Remarks:
If scratchAllocFxn is NULL then the 'env' will be allocated from persistent memory.
If scratchFreeFxn != NULL, then this function must not be NULL.
For example, to allocate 'env' in DSKT2 scratch memory, set scratchAllocFxn to DSKT2_allocScratch().
DMAN3_ScratchFreeFxn DMAN3_Params::scratchFreeFxn

Function for freeing IDMA3 objects 'env' from shared scratch memory.

Remarks:
If scratchAllocFxn is NULL then the 'env' will be freed from persistent memory.
If scratchAllocFxn != NULL, then this function must not be NULL.
For example, if 'env' is to be allocated in DSKT2 scratch memory, set scratchFreeFxn to DSKT2_freeScratch().
Uns DMAN3_Params::nullPaRamIndex

Index of a reserved PaRam entry that will not be used for any DMA transfers. This PaRam will be used to set QCHMAP register to, when there is no activity on the corresponding QDMA channel.

Uns DMAN3_Params::maxTCs

The total number of Transfer Controllers available on the hardware (eg, 2 for DaVinci, 4 for Himalaya).

Uns* DMAN3_Params::qdmaQueueMap

Represents the mapping of the QDMA channels owned by DMAN3 to the event queue.

Remarks:
For example, qdmaQueueMap[0] specifies queue number for qdmaChannel[0], etc.
Uns* DMAN3_Params::queueTCMap

Represents the mapping of individual hardware Event queues to transfer controllers.

Uns* DMAN3_Params::queuePri

Represents the priority assigned to each of the Event Queues (and hence the Transfer Controllers).

Bool DMAN3_Params::allowUnshared

Flag indicating whether DMAN3 should allow algorithms to ask for more resources than configured into their scratch group.

Remarks:
If this field is set to FALSE, the DMAN3 library will fail to grant DMA channels to an algorithm requesting more TCCs or PaRams then the number configured for its scratch group.
If this field is TRUE, and an algorithm requests more TCCs or PaRams than the number configured for its scratch group, DMAN3 will do either of the following:
  • If no algorithm is currently instantiated for the given scratch group, DMAN3 will bump up the number of TCCs and PaRams to the maximum of the number configured and that requested by the algorithm, for the scratch group. This will remain in effect until all algorithms for that scratch group are deleted.
  • If an algorithm has already been granted DMA channels for the given scratch group (so the number of TCCs and PaRams for that scratch group has already been determined by (1) above), and the number of TCCs or PaRams for the scratch group is insufficient for the algorithm currently requesting DMA channels, DMAN3 will allocate new TCCs and PaRams if available. These new TCCs and PaRams will not be shared by any other algorithm.
The documentation for this struct was generated from the following file:
  • dman3.h


Framework Components: GT_Mask Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

GT_Mask Struct Reference
[Generic Trace Support]

Object representing a GT module instance. More...

#include <gt.h>

Data Fields

String | modName
UInt8 * | flags

Detailed Description

Object representing a GT module instance.

Remarks:
This is initialized by GT_create().
This structure should not be modified directly. Rather, it should be manipulated internally via API calls. It is documented only because storage space must be allocated prior to initializing it via GT_create().
See also:
GT_create()

Field Documentation

String GT_Mask::modName

Name of this module instance.

UInt8* GT_Mask::flags

The current state of this instance

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


Framework Components: HDINTC_Params Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

HDINTC_Params Struct Reference
[HDINTC]

The module configuration structure for HDINTC implementation. More...

#include <hdintc.h>

Data Fields

int | interruptVectorId_0
Interrupt Vector 0.
int | interruptVectorId_1
Interrupt Vector 1.
int | hdvicpInterruptEventNo_0
Interrupt Event 0.
int | hdvicpInterruptEventNo_1
Interrupt Event 1.
int | biosInterruptVectorId_0
BIOS Interrupt Vector ID 0.
int | biosInterruptVectorId_1
BIOS Interrupt Vector ID 1.
int | biosInterruptEventNo_0
BIOS Interrupt Event 0.
int | biosInterruptEventNo_1
BIOS Interrupt Event 1.

Detailed Description

The module configuration structure for HDINTC implementation.

Remarks:
It is set at design time by the system integrator to ensure the interrupt lines that are used to process HDVICP generated interrupts are not mapped by any other interrupt event. Additionally, the HDVICP event-numbers are configurable to support different SoCs.

Field Documentation

int HDINTC_Params::interruptVectorId_0

Interrupt Vector 0.

Remarks:
Map this to an unused interrupt vector ID
int HDINTC_Params::interruptVectorId_1

Interrupt Vector 1.

Remarks:
Map this to an unused interrupt vector ID
int HDINTC_Params::hdvicpInterruptEventNo_0

Interrupt Event 0.

Remarks:
This must match the physical event-id associated with the HDVICP processor:0 interrupts that need to be serviced by GEM, via the interrupt line selected by 'interruptVectorId_0'.
int HDINTC_Params::hdvicpInterruptEventNo_1

Interrupt Event 1.

Remarks:
This must match the physical event-id associated with the HDVICP processor:0 interrupts that need to be serviced by GEM, via the interrupt line selected by 'interruptVectorId_0'.
int HDINTC_Params::biosInterruptVectorId_0

BIOS Interrupt Vector ID 0.

Remarks:
Map this to an unused interrupt vector ID
This vector ID is going to be used to set up a BIOS ISR
int HDINTC_Params::biosInterruptVectorId_1

BIOS Interrupt Vector ID 1.

Remarks:
Map this to an unused interrupt vector ID
This vector ID is going to be used to set up a BIOS ISR
int HDINTC_Params::biosInterruptEventNo_0

BIOS Interrupt Event 0.

Remarks:
This must correspond to an unused event on this device. This is a dummy event that will be mapped to the biosInterruptVectorId_0 above.
This interrupt will be software triggered (by writing to the ISR), it won't be triggered by an actual event.
int HDINTC_Params::biosInterruptEventNo_1

BIOS Interrupt Event 1.

Remarks:
This must correspond to an unused event on this device. This is a dummy event that will be mapped to the biosInterruptVectorId_1 above.
This interrupt will be software triggered (by writing to the ISR), it won't be triggered by an actual event.
The documentation for this struct was generated from the following file:
  • hdintc.h


Framework Components: hdvicpAppHandle Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

hdvicpAppHandle Struct Reference
[HDINTC]

#include <hdintc.h>

Data Fields

XDAS_UInt32 handleSize
XDAS_UInt32 processId
void * info

Field Documentation

XDAS_UInt32 hdvicpAppHandle::handleSize
XDAS_UInt32 hdvicpAppHandle::processId
void* hdvicpAppHandle::info
The documentation for this struct was generated from the following file:
  • hdintc.h


Framework Components: HDVICPSYNC_Params Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

HDVICPSYNC_Params Struct Reference
[HDVICPSYNC]

The module configuration structure for HDVICPSYNC implementation. More...

#include <hdvicpsync.h>

Data Fields

int size

Detailed Description

The module configuration structure for HDVICPSYNC implementation.

Field Documentation

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


Framework Components: IALG_Fxns Struct Reference

  • Data Structures
  • Data Structure Index
  • 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: IALG_MemRec Struct Reference

  • Data Structures
  • Data Structure Index
  • 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: IALG_Obj Struct Reference

  • Data Structures
  • Data Structure Index
  • 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 [read]

Pointer to IALG function table.

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


Framework Components: IALG_Params Struct Reference

  • Data Structures
  • Data Structure Index
  • 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 a 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: IALG_Status Struct Reference

  • Data Structures
  • Data Structure Index
  • 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: IDMA3_ChannelRec Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

IDMA3_ChannelRec Struct Reference
[IDMA3 (C64P)]

DMA Channel Descriptor to logical DMA channels. More...

#include <idma3.h>

Collaboration diagram for IDMA3_ChannelRec:
[legend]

Data Fields

IDMA3_Handle handle
Int | numTransfers
Int | numWaits
IDMA3_Priority priority
IDMA3_ProtocolHandle protocol
Bool | persistent

Detailed Description

DMA Channel Descriptor to logical DMA channels.

Field Documentation

IDMA3_Handle IDMA3_ChannelRec::handle

Handle to logical DMA channel

Int IDMA3_ChannelRec::numTransfers

Number of DMA transfers that are submitted using this logical channel handle. Single (==1) or Linked ( >= 2).

Int IDMA3_ChannelRec::numWaits

Number of individual transfers that can be waited in a linked start. (1 for single transfers or for waiting all)

IDMA3_Priority IDMA3_ChannelRec::priority

Relative priority recommendation: High, Medium, Low.

IDMA3_ProtocolHandle IDMA3_ChannelRec::protocol

When non-NULL, the protocol object provides interface for querying and initializing logical DMA channel for use by the given protocol. The protocol can be IDMA3_PROTOCOL_NULL in this case no 'env' is allocated

For example, when requesting a logical channel to be used with ACPY3 APIs, the protocol needs to be set to &ACPY3_PROTOCOL.

Bool IDMA3_ChannelRec::persistent

When persistent is set to TRUE, the PaRAMs and TCCs will be allocated exclusively for this channel. They cannot be shared with any other IDMA3 channel.

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


Framework Components: IDMA3_Fxns Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

IDMA3_Fxns Struct Reference
[IDMA3 (C64P)]

These fxns are used to query/grant the DMA 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 <idma3.h>

Data Fields

Void * | implementationId
Unique pointer that identifies the module implementing this interface.
Void(* | dmaChangeChannels )(IALG_Handle handle, IDMA3_ChannelRec *chnlRec)
Apps call this whenever the logical channels are moved at runtime.
Uns(* | dmaGetChannelCnt )(Void)
Apps call this to query algorithm about the maximum number of logical dma channel requested.
Uns(* | dmaGetChannels )(IALG_Handle handle, IDMA3_ChannelRec *chnlRec)
Apps call this to query algorithm about its dma channel requests at init time, or to get the current channel holdings.
Int(* | dmaInit )(IALG_Handle handle, IDMA3_ChannelRec *chnlRec)
Apps call this to grant dma handle(s) to the algorithm at initialization. Algorithm initializes the instance object.

Detailed Description

These fxns are used to query/grant the DMA 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* IDMA3_Fxns::implementationId

Unique pointer that identifies the module implementing this interface.

Void(* IDMA3_Fxns::dmaChangeChannels)(IALG_Handle handle, IDMA3_ChannelRec *chnlRec)

Apps call this whenever the logical channels are moved at runtime.

Uns(* IDMA3_Fxns::dmaGetChannelCnt)(Void)

Apps call this to query algorithm about the maximum number of logical dma channel requested.

Uns(* IDMA3_Fxns::dmaGetChannels)(IALG_Handle handle, IDMA3_ChannelRec *chnlRec)

Apps call this to query algorithm about its dma channel requests at init time, or to get the current channel holdings.

Int(* IDMA3_Fxns::dmaInit)(IALG_Handle handle, IDMA3_ChannelRec *chnlRec)

Apps call this to grant dma handle(s) to the algorithm at initialization. Algorithm initializes the instance object.

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


Framework Components: IDMA3_MemRec Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

IDMA3_MemRec Struct Reference
[IDMA3 (C64P)]

Record containing attributes of the IDMA3 Channel environment memory when (optionally) the IDMA3 Channel is requested with a non-NULL IDMA3_ProtocolObj. More...

#include <idma3.h>

Data Fields

Void * | base
Uns | size
Uns | align
IDMA3_MemType memType

Detailed Description

Record containing attributes of the IDMA3 Channel environment memory when (optionally) the IDMA3 Channel is requested with a non-NULL IDMA3_ProtocolObj.

Field Documentation

Void* IDMA3_MemRec::base

Base address of allocated memory.

Uns IDMA3_MemRec::size

Size of buffer to allocate (MAUs).

Uns IDMA3_MemRec::align

Buffer alignment (0 or a power of 2). Use the values of 0 or 1 to indicate no alignment requirements.

IDMA3_MemType IDMA3_MemRec::memType

Type of memory to use for allocation.

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


Framework Components: IDMA3_Obj Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

IDMA3_Obj Struct Reference
[IDMA3 (C64P)]

IDMA3_Obj holds the private state associated with each logical DMA channel. More...

#include <idma3.h>

Collaboration diagram for IDMA3_Obj:
[legend]

Data Fields

unsigned short | numTccs
unsigned short | numPaRams
unsigned char * | tccTable
Uns * | paRamAddr
unsigned short | qdmaChan
Bool | transferPending
Void * | env
IDMA3_ProtocolHandle protocol
Bool | persistent

Detailed Description

IDMA3_Obj holds the private state associated with each logical DMA channel.

Field Documentation

unsigned short IDMA3_Obj::numTccs

The number of TCCs allocated to this channel.

unsigned short IDMA3_Obj::numPaRams

The number of PaRam entries allocated to this channel.

unsigned char* IDMA3_Obj::tccTable

TCCs assigned to channel

Uns* IDMA3_Obj::paRamAddr

PaRAMs assigned to channel

unsigned short IDMA3_Obj::qdmaChan

Physical QDMA Channel assigned to handle

Bool IDMA3_Obj::transferPending

Set to true when a new transfer is started on this channel. Set to false when a wait/sync operation is performed on this channel.

Void* IDMA3_Obj::env

IDMA3_ProtocolHandle ('protocol') dependent private channel memory. The memory for the 'env' is allocated and reclaimed by the framework when this IDMA3 channel has been requested with a non-NULL 'protocol'.

The size, type and alignment of the allocated 'env' memory is obtained by calling the channel's 'protocol'->getEnvMemRec() function.

During channel creation, the 'env' pointer must always be created as a private & persistent memory assigned to the IDMA3 channel object. However, the framework/resource manager is also allowed to allocate requested internal 'env' memory as 'scratch' memory which can only be used when the channel is in active state. In the 'scratch' allocation case, the framework/resource manager must still allocate the 'env' as 'persistent', possibly in external memory, and must pass the address of the 'scratch' 'internal' 'env' memory in the first word of the 'env' memory.

If the channel 'env' memory is created as 'persistent' with no 'scratch' shadow, then the first word of the env memory must be set to NULL.

IDMA3_ProtocolHandle IDMA3_Obj::protocol

The channel protocol functions used by the DMA manager to determine memory requirements for the 'env'

Bool IDMA3_Obj::persistent

Indicates if the channel has been allocated with persistent property.

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


Framework Components: IDMA3_ProtocolObj Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

IDMA3_ProtocolObj Struct Reference
[IDMA3 (C64P)]

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

#include <idma3.h>

Data Fields

String | name
Void(* | getEnvMemRec )(IDMA3_ChannelRec *chnlRec, IDMA3_MemRec *memRec)
Bool(* | initHandle )(IDMA3_Handle handle)
Bool(* | deInitHandle )(IDMA3_Handle handle)

Detailed Description

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

Remarks:
These fxns are implemented by the IDMA3 protocol that is used for a given channel (e.g, ACPY3), and are passed in the IDMA3_ChannelRec structure to request a logical DMA channel. If the IDMA3 protocol does not require any particular one of these functions, it may be set to NULL.
getEnvMemRec() - Called by the DMA manager when creating a logical DMA channel, to query the IDMA3 protocol's memory requirements for its environment.
initHandle() - Called by the DMA manager after allocation the environment, to allow the IDMA3 protocol to do any initialization of its environment.
deInitHandle() - Called by the DMA manager when a channel is freed, so that the IDMA3 protocol can do any required de-initialization or freeing any memory that may have been allocated in initHandle().

Field Documentation

String IDMA3_ProtocolObj::name

Name of the protocol

Void(* IDMA3_ProtocolObj::getEnvMemRec)(IDMA3_ChannelRec *chnlRec, IDMA3_MemRec *memRec)

Fill in the IDMA3_MemRec with the memory attributes needed for allocation of the IDMA3 protocol's environment buffer.

Bool(* IDMA3_ProtocolObj::initHandle)(IDMA3_Handle handle)

Initialize the env stored in the IDMA3 channel handle. Return TRUE on success, FALSE otherwise. If FALSE is returned channel creation will fail.

When (and if) the framework/resource manager allocates requested internal 'env' memory as 'scratch', the 'env' pointer passed in the IDMA3_Handle points to a persistent, private memory which contains the address of the 'scratch' allocated 'internal' 'env' memory in the first word of the 'persistent' 'env' pointer. If the first word of the env memory is NULL, then no separate 'scratch' memory has been allocated and 'env' memory itself is 'persistent'.

Bool(* IDMA3_ProtocolObj::deInitHandle)(IDMA3_Handle handle)

De-Initialize the env stored in the IDMA3 channel handle, before it is freed by the DMA manager.

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


Framework Components: IRES_ADDRSPACE_Obj Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

IRES_ADDRSPACE_Obj Struct Reference

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

#include <ires_addrspace.h>

Collaboration diagram for IRES_ADDRSPACE_Obj:
[legend]

Data Fields

IRES_Obj ires
Void * | addr
unsigned int | len

Detailed Description

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

Field Documentation

IRES_Obj IRES_ADDRSPACE_Obj::ires
Void* IRES_ADDRSPACE_Obj::addr
unsigned int IRES_ADDRSPACE_Obj::len
The documentation for this struct was generated from the following file:
  • ires_addrspace.h


Framework Components: IRES_ADDRSPACE_Properties Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

IRES_ADDRSPACE_Properties Struct Reference

#include <ires_addrspace.h>

Data Fields

int size

Field Documentation

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


Framework Components: IRES_ADDRSPACE_ProtocolArgs Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

IRES_ADDRSPACE_ProtocolArgs Struct Reference

ADDRSPACE Protocol Arguments definition. More...

#include <ires_addrspace.h>

Collaboration diagram for IRES_ADDRSPACE_ProtocolArgs:
[legend]

Data Fields

IRES_ProtocolArgs base
Void * | addr
unsigned int | len
IRES_ADDRSPACE_AccessType attrib

Detailed Description

ADDRSPACE Protocol Arguments definition.

Field Documentation

IRES_ProtocolArgs IRES_ADDRSPACE_ProtocolArgs::base

Implementation of base protocol args

Void* IRES_ADDRSPACE_ProtocolArgs::addr

Hardware address accessed by alg

unsigned int IRES_ADDRSPACE_ProtocolArgs::len

Length of the address space

IRES_ADDRSPACE_AccessType IRES_ADDRSPACE_ProtocolArgs::attrib

Describes the kind of access required R, W, E etc

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


Framework Components: IRES_EDMA3CHAN_EDMA3DraeRegister Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

IRES_EDMA3CHAN_EDMA3DraeRegister Struct Reference
[IRES EDMA3 Protocol]

IRES_EDMA3CHAN_EDMA3DraeRegister defines the Region Enable register part of the EDMA3 CC Register Layer defined below. More...

#include <ires_edma3Chan.h>

Data Fields

volatile unsigned int | DRAE
volatile unsigned int | DRAEH

Detailed Description

IRES_EDMA3CHAN_EDMA3DraeRegister defines the Region Enable register part of the EDMA3 CC Register Layer defined below.

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: IRES_EDMA3CHAN_EDMA3RegisterLayer Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

IRES_EDMA3CHAN_EDMA3RegisterLayer Struct Reference
[IRES EDMA3 Protocol]

#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]

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: IRES_EDMA3CHAN_EDMA3ShadowRegister Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

IRES_EDMA3CHAN_EDMA3ShadowRegister Struct Reference
[IRES EDMA3 Protocol]

IRES_EDMA3CHAN_EDMA3ShadowRegister defines the shadow register part of the EDMA3 CC Register Layer defined below. 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

IRES_EDMA3CHAN_EDMA3ShadowRegister defines the shadow register part of the EDMA3 CC Register Layer defined below.

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: IRES_EDMA3CHAN_Obj Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

IRES_EDMA3CHAN_Obj Struct Reference
[IRES EDMA3 Protocol]

IRES_EDMA3CHAN_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource. 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

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

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. Could be IRES_EDMA3CHAN_CHAN_NONE if no QDMA channel was requested

short IRES_EDMA3CHAN_Obj::assignedEdmaChannelIndex

Assigned edma channel. Could be IRES_EDMA3CHAN_CHAN_NONE if no EDMA channel was requested

unsigned int IRES_EDMA3CHAN_Obj::esrBitMaskL
unsigned int IRES_EDMA3CHAN_Obj::esrBitMaskH

Event set register bit mask to trigger edma channel if requested.

unsigned int IRES_EDMA3CHAN_Obj::iprBitMaskL
unsigned int IRES_EDMA3CHAN_Obj::iprBitMaskH

Interrupt pending register bit mask to pend on transfer completion.

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


Framework Components: IRES_EDMA3CHAN_PaRamStruct Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

IRES_EDMA3CHAN_PaRamStruct Struct Reference
[IRES EDMA3 Protocol]

Representation of actual PaRam structure. 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 structure.

Field Documentation

unsigned int IRES_EDMA3CHAN_PaRamStruct::opt
unsigned int IRES_EDMA3CHAN_PaRamStruct::src
unsigned short IRES_EDMA3CHAN_PaRamStruct::acnt
unsigned short IRES_EDMA3CHAN_PaRamStruct::bcnt
unsigned int IRES_EDMA3CHAN_PaRamStruct::dst
unsigned short IRES_EDMA3CHAN_PaRamStruct::srcElementIndex
unsigned short IRES_EDMA3CHAN_PaRamStruct::dstElementIndex
unsigned short IRES_EDMA3CHAN_PaRamStruct::link
unsigned short IRES_EDMA3CHAN_PaRamStruct::bCntrld
unsigned short IRES_EDMA3CHAN_PaRamStruct::srcFrameIndex
unsigned short IRES_EDMA3CHAN_PaRamStruct::dstFrameIndex
unsigned short IRES_EDMA3CHAN_PaRamStruct::ccnt
unsigned short IRES_EDMA3CHAN_PaRamStruct::rsvd
The documentation for this struct was generated from the following file:
  • ires_edma3Chan.h


Framework Components: IRES_EDMA3CHAN_Properties Struct Reference

  • Data Structures
  • Data Structure Index
  • 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: IRES_EDMA3CHAN_ProtocolArgs Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

IRES_EDMA3CHAN_ProtocolArgs Struct Reference
[IRES EDMA3 Protocol]

EDMA3 Linked Transfer Protocol Arguments definition. 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 in-efficient allocation of resources, and in some cases, simplyfying assumptions about the resource requests may be made by the allocator. 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. 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 in-efficient allocation of resources, and in some cases, simplyfying 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, scratch or persistent.

short IRES_EDMA3CHAN_ProtocolArgs::numPaRams

Number of params requested 0 to IRES_EDMA3CHAN_MAXPARAMS

short IRES_EDMA3CHAN_ProtocolArgs::paRamIndex

Describe type of paRams required. Can specify the start Index of the PaRam block (if numPaRams > 1 and requesting contiguous PaRams) or request as IRES_EDMA3CHAN_PARAM_ANY

short IRES_EDMA3CHAN_ProtocolArgs::numTccs

Number of Tcc(s) requested 0 to IRES_EDMA3CHAN_MAXTCCS

short IRES_EDMA3CHAN_ProtocolArgs::tccIndex

Describe type of tccs required. Can specify the start Index of the Tcc block (if numPaRams > 1 and requesting contiguous Tccs) or request as IRES_EDMA3CHAN_TCC_ANY

short IRES_EDMA3CHAN_ProtocolArgs::qdmaChan

Qdma channel required if any

short IRES_EDMA3CHAN_ProtocolArgs::edmaChan

Edma channel required if any Note:- 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. Will fail if the above 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: IRES_Fxns Struct Reference

  • Data Structures
  • Data Structure Index
  • 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.

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: IRES_HDVICP_Obj Struct Reference

  • Data Structures
  • Data Structure Index
  • 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: IRES_HDVICP_Properties Struct Reference

  • Data Structures
  • Data Structure Index
  • 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: IRES_HDVICP_ProtocolArgs Struct Reference

  • Data Structures
  • Data Structure Index
  • 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: IRES_HDVICP_RegisterLayer Struct Reference

  • Data Structures
  • Data Structure Index
  • 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: IRES_MEMTCM_Obj Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

IRES_MEMTCM_Obj Struct Reference

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

#include <ires_memtcm.h>

Collaboration diagram for IRES_MEMTCM_Obj:
[legend]

Data Fields

IRES_Obj ires
unsigned int | memSize
void * | memAddr

Detailed Description

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

Field Documentation

IRES_Obj IRES_MEMTCM_Obj::ires
unsigned int IRES_MEMTCM_Obj::memSize
void* IRES_MEMTCM_Obj::memAddr
The documentation for this struct was generated from the following file:
  • ires_memtcm.h


Framework Components: IRES_MEMTCM_Properties Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

IRES_MEMTCM_Properties Struct Reference

#include <ires_memtcm.h>

Data Fields

int size

Field Documentation

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


Framework Components: IRES_MEMTCM_ProtocolArgs Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

IRES_MEMTCM_ProtocolArgs Struct Reference

MEMTCM Protocol Arguments definition. More...

#include <ires_memtcm.h>

Collaboration diagram for IRES_MEMTCM_ProtocolArgs:
[legend]

Data Fields

IRES_ProtocolArgs base
unsigned int memSize

Detailed Description

MEMTCM Protocol Arguments definition.

Field Documentation

IRES_ProtocolArgs IRES_MEMTCM_ProtocolArgs::base
unsigned int IRES_MEMTCM_ProtocolArgs::memSize
The documentation for this struct was generated from the following file:
  • ires_memtcm.h


Framework Components: IRES_Obj Struct Reference

  • Data Structures
  • Data Structure Index
  • 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: IRES_Properties Struct Reference

  • Data Structures
  • Data Structure Index
  • 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: IRES_ProtocolArgs Struct Reference

  • Data Structures
  • Data Structure Index
  • 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: IRES_ProtocolRevision Struct Reference

  • Data Structures
  • Data Structure Index
  • 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: IRES_ResourceDescriptor Struct Reference

  • Data Structures
  • Data Structure Index
  • 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
IRES_ProtocolRevision * revision
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 [read]

Pointer to the Resource Protocol Arguments. 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.

struct IRES_Obj* IRES_ResourceDescriptor::handle [read]

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: IRES_SDMA_Obj Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

IRES_SDMA_Obj Struct Reference
[IRES SDMA Protocol]

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

#include <ires_sdma.h>

Collaboration diagram for IRES_SDMA_Obj:
[legend]

Data Fields

IRES_Obj ires
SDMA_ChannelDescriptor * channel

Detailed Description

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

Field Documentation

IRES_Obj IRES_SDMA_Obj::ires
SDMA_ChannelDescriptor* IRES_SDMA_Obj::channel
The documentation for this struct was generated from the following file:
  • ires_sdma.h


Framework Components: IRES_SDMA_Properties Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

IRES_SDMA_Properties Struct Reference
[IRES SDMA Protocol]

#include <ires_sdma.h>

Collaboration diagram for IRES_SDMA_Properties:
[legend]

Data Fields

IRES_SDMA_RegisterLayer * globalRegs

Field Documentation

IRES_SDMA_RegisterLayer* IRES_SDMA_Properties::globalRegs
The documentation for this struct was generated from the following file:
  • ires_sdma.h


Framework Components: IRES_SDMA_ProtocolArgs Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

IRES_SDMA_ProtocolArgs Struct Reference
[IRES SDMA Protocol]

SDMA Protocol Arguments definition. More...

#include <ires_sdma.h>

Collaboration diagram for IRES_SDMA_ProtocolArgs:
[legend]

Data Fields

IRES_ProtocolArgs base

Detailed Description

SDMA Protocol Arguments definition.

Field Documentation

IRES_ProtocolArgs IRES_SDMA_ProtocolArgs::base
The documentation for this struct was generated from the following file:
  • ires_sdma.h


Framework Components: IRES_SDMA_RegisterLayer Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

IRES_SDMA_RegisterLayer Struct Reference
[IRES SDMA Protocol]

#include <ires_sdma.h>

Data Fields

unsigned int | DMA4_CCR
unsigned int | DMA4_CLNK_CTRL
unsigned int | DMA4_CICR
unsigned int | DMA4_CSR
unsigned int | DMA4_CSDP
unsigned int | DMA4_CEN
unsigned int | DMA4_CFN
unsigned int | DMA4_CSSA
unsigned int | DMA4_CDSA
unsigned int | DMA4_CSE
unsigned int | DMA4_CSF
unsigned int | DMA4_CDE
unsigned int | DMA4_CDF
unsigned int | DMA4_CSAC
unsigned int | DMA4_CDAC
unsigned int | DMA4_CCEN
unsigned int | DMA4_CCFN
unsigned int | DMA4_COLOR

Field Documentation

unsigned int IRES_SDMA_RegisterLayer::DMA4_CCR
unsigned int IRES_SDMA_RegisterLayer::DMA4_CLNK_CTRL
unsigned int IRES_SDMA_RegisterLayer::DMA4_CICR
unsigned int IRES_SDMA_RegisterLayer::DMA4_CSR
unsigned int IRES_SDMA_RegisterLayer::DMA4_CSDP
unsigned int IRES_SDMA_RegisterLayer::DMA4_CEN
unsigned int IRES_SDMA_RegisterLayer::DMA4_CFN
unsigned int IRES_SDMA_RegisterLayer::DMA4_CSSA
unsigned int IRES_SDMA_RegisterLayer::DMA4_CDSA
unsigned int IRES_SDMA_RegisterLayer::DMA4_CSE
unsigned int IRES_SDMA_RegisterLayer::DMA4_CSF
unsigned int IRES_SDMA_RegisterLayer::DMA4_CDE
unsigned int IRES_SDMA_RegisterLayer::DMA4_CDF
unsigned int IRES_SDMA_RegisterLayer::DMA4_CSAC
unsigned int IRES_SDMA_RegisterLayer::DMA4_CDAC
unsigned int IRES_SDMA_RegisterLayer::DMA4_CCEN
unsigned int IRES_SDMA_RegisterLayer::DMA4_CCFN
unsigned int IRES_SDMA_RegisterLayer::DMA4_COLOR
The documentation for this struct was generated from the following file:
  • ires_sdma.h


Framework Components: IRES_VICP2_Buffers Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

IRES_VICP2_Buffers Struct Reference
[IRES VICP 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: IRES_VICP2_Obj Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

IRES_VICP2_Obj Struct Reference
[IRES VICP 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: IRES_VICP2_Properties Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

IRES_VICP2_Properties Struct Reference
[IRES VICP 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: IRES_VICP2_ProtocolArgs Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

IRES_VICP2_ProtocolArgs Struct Reference
[IRES VICP 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: IRES_VICP_Obj Struct Reference

  • Data Structures
  • Data Structure Index
  • 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: IRES_VICP_Properties Struct Reference

  • Data Structures
  • Data Structure Index
  • 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: IRES_VICP_ProtocolArgs Struct Reference

  • Data Structures
  • Data Structure Index
  • 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: IRES_VICP_Registers Struct Reference

  • Data Structures
  • Data Structure Index
  • 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: IRES_YieldContext Struct Reference

  • Data Structures
  • Data Structure Index
  • 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: IRESMAN_AddrSpaceParams Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

IRESMAN_AddrSpaceParams Struct Reference
[Ti_sdo_fc_ires_addrspace_IRESMAN_ADDRSPACE]

#include <iresman_addrspace.h>

Collaboration diagram for IRESMAN_AddrSpaceParams:
[legend]

Data Fields

IRESMAN_Params baseConfig

Detailed Description

Field Documentation

IRESMAN_Params IRESMAN_AddrSpaceParams::baseConfig
The documentation for this struct was generated from the following file:
  • iresman_addrspace.h


Framework Components: IRESMAN_ConstructArgs Struct Reference

  • Data Structures
  • Data Structure Index
  • 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: IRESMAN_ConstructFxns Struct Reference

  • Data Structures
  • Data Structure Index
  • 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: IRESMAN_Edma3ChanParams Struct Reference

  • Data Structures
  • Data Structure Index
  • 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: IRESMAN_Fxns Struct Reference

  • Data Structures
  • Data Structure Index
  • 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_ProtocolArgs *protocolArgs, 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_ProtocolArgs *protocolArgs, Int scratchGroupId)
Frees handles back to the resource pool.

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_ProtocolArgs *protocolArgs, 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] | protocolArgs | 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_ProtocolArgs *protocolArgs, 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] | protocolArgs | Arguments that help determine which resources to free
Return values:
IRESMAN_EOK Success IRESMAN_EERROR Handle could not be freed
The documentation for this struct was generated from the following file:
  • iresman.h


Framework Components: IRESMAN_HdVicpParams Struct Reference

  • Data Structures
  • Data Structure Index
  • 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: IRESMAN_MemTcmParams Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

IRESMAN_MemTcmParams Struct Reference
[Ti_sdo_fc_ires_memtcm_IRESMAN_MEMTCM]

#include <iresman_memtcm.h>

Collaboration diagram for IRESMAN_MemTcmParams:
[legend]

Data Fields

IRESMAN_Params baseConfig

Detailed Description

Field Documentation

IRESMAN_Params IRESMAN_MemTcmParams::baseConfig
The documentation for this struct was generated from the following file:
  • iresman_memtcm.h


Framework Components: IRESMAN_Params Struct Reference

  • Data Structures
  • Data Structure Index
  • 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
Size of the structure.
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 the 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: IRESMAN_SdmaParams Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

IRESMAN_SdmaParams Struct Reference
[IRESMAN SDMA -]

Initialization arguments for the SDMA specific resource manager. More...

#include <iresman_sdma.h>

Collaboration diagram for IRESMAN_SdmaParams:
[legend]

Data Fields

IRESMAN_Params baseConfig

Detailed Description

Initialization arguments for the SDMA specific resource manager.

Field Documentation

IRESMAN_Params IRESMAN_SdmaParams::baseConfig

The base configuration information

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


Framework Components: IRESMAN_VicpParams Struct Reference

  • Data Structures
  • Data Structure Index
  • 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: RMAN_Params Struct Reference

  • Data Structures
  • Data Structure Index
  • 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
IRESMAN_PersistentAllocFxn * allocFxn
IRESMAN_PersistentFreeFxn * freeFxn
IRES_YieldFxn yieldFxn
Bool | yieldSamePriority

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
IRESMAN_PersistentAllocFxn* RMAN_Params::allocFxn
IRESMAN_PersistentFreeFxn* RMAN_Params::freeFxn
IRES_YieldFxn RMAN_Params::yieldFxn
Bool RMAN_Params::yieldSamePriority
The documentation for this struct was generated from the following file:
  • rman.h


Framework Components: RMAN_YieldArgs Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

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

Yield Arguments passed to the algorithm if RMAN's useDSKT2 flag is set. These arguments are used by the yield function set/get context and release/acquire locks for a particular scratch group. More...

#include <rman.h>

Data Fields

Int | groupId
Bool | yieldFlag

Detailed Description

Yield Arguments passed to the algorithm if RMAN's useDSKT2 flag is set. These arguments are used by the yield function set/get context and release/acquire locks for a particular scratch group.

Field Documentation

Int RMAN_YieldArgs::groupId
Bool RMAN_YieldArgs::yieldFlag
The documentation for this struct was generated from the following file:
  • rman.h


Framework Components: SCPY_AddrParams Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

SCPY_AddrParams Struct Reference
[SCPY - Functional library for SDMA resources]

Parameters of Address (source or destination) of transfer. More...

#include <scpy.h>

Data Fields

int | addr_mode
unsigned int | addr
int | elem_index
int | frame_index

Detailed Description

Parameters of Address (source or destination) of transfer.

Field Documentation

int SCPY_AddrParams::addr_mode
unsigned int SCPY_AddrParams::addr
int SCPY_AddrParams::elem_index
int SCPY_AddrParams::frame_index
The documentation for this struct was generated from the following file:
  • scpy.h


Framework Components: SCPY_Params Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

SCPY_Params Struct Reference
[SCPY - Functional library for SDMA resources]

#include <scpy.h>

Collaboration diagram for SCPY_Params:
[legend]

Data Fields

SCPY_AddrParams * src
SCPY_AddrParams * dst
SCPY_TransferParams * transfer

Field Documentation

SCPY_AddrParams* SCPY_Params::src
SCPY_AddrParams* SCPY_Params::dst
SCPY_TransferParams* SCPY_Params::transfer
The documentation for this struct was generated from the following file:
  • scpy.h


Framework Components: SCPY_TransferParams Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

SCPY_TransferParams Struct Reference
[SCPY - Functional library for SDMA resources]

Details of Transfer. More...

#include <scpy.h>

Data Fields

int | dataType
int | elemCount
int | frameCount

Detailed Description

Details of Transfer.

Field Documentation

int SCPY_TransferParams::dataType
int SCPY_TransferParams::elemCount
int SCPY_TransferParams::frameCount
The documentation for this struct was generated from the following file:
  • scpy.h


Framework Components: SHMBUF_Args Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

SHMBUF_Args Struct Reference
[Shared Memory Buffer Protocol]

#include <shmbuf.h>

Collaboration diagram for SHMBUF_Args:
[legend]

Data Fields

IRES_ProtocolArgs iresArgs
Int | length
Int | align

Field Documentation

IRES_ProtocolArgs SHMBUF_Args::iresArgs
Int SHMBUF_Args::length
Int SHMBUF_Args::align
The documentation for this struct was generated from the following file:
  • shmbuf.h


Framework Components: SHMBUF_Obj Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

SHMBUF_Obj Struct Reference
[Shared Memory Buffer Protocol]

#include <shmbuf.h>

Collaboration diagram for SHMBUF_Obj:
[legend]

Data Fields

IRES_Obj ires
Void * | base
Int | length

Field Documentation

IRES_Obj SHMBUF_Obj::ires
Void* SHMBUF_Obj::base
Int SHMBUF_Obj::length
The documentation for this struct was generated from the following file:
  • shmbuf.h


Framework Components: SHMBUF_Params Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

SHMBUF_Params Struct Reference
[Shared Memory Buffer Protocol]

SHMBUF specific params. More...

#include <shmbuf.h>

Collaboration diagram for SHMBUF_Params:
[legend]

Data Fields

IRESMAN_Params iresConfig
Int | bufsize
UInt32 | key
UInt32 | isScratch

Detailed Description

SHMBUF specific params.

Remarks:
This struct extends IRESMAN_Params. These params are used to initialize the resource.

Field Documentation

IRESMAN_Params SHMBUF_Params::iresConfig
Int SHMBUF_Params::bufsize
UInt32 SHMBUF_Params::key
UInt32 SHMBUF_Params::isScratch
The documentation for this struct was generated from the following file:
  • shmbuf.h


Framework Components: SHMBUF_Props Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

SHMBUF_Props Struct Reference
[Shared Memory Buffer Protocol]

#include <shmbuf.h>

Data Fields

Int | size
Void * | base
Int | length
Int | isScratch

Field Documentation

Int SHMBUF_Props::size
Void* SHMBUF_Props::base
Int SHMBUF_Props::length
Int SHMBUF_Props::isScratch
The documentation for this struct was generated from the following file:
  • shmbuf.h


Framework Components: VICPSYNC_Params Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields

VICPSYNC_Params Struct Reference
[VICPSYNC]

The module configuration structure for VICPSYNC implementation. More...

#include <vicpsync.h>

Data Fields

int size

Detailed Description

The module configuration structure for VICPSYNC implementation.

Field Documentation

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


Framework Components: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • 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 -

  • acnt : IRES_EDMA3CHAN_PaRamStruct
  • activateAllResources : IRES_Fxns
  • activateResource : IRES_Fxns
  • addr : IRES_ADDRSPACE_ProtocolArgs , IRES_ADDRSPACE_Obj , SCPY_AddrParams
  • addr_mode : SCPY_AddrParams
  • 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
  • align : IDMA3_MemRec , SHMBUF_Args
  • alignment : IALG_MemRec
  • allocFxn : IRESMAN_Params , RMAN_Params
  • allowUnshared : DMAN3_Params
  • args : ACPY3_INSTR_Hook
  • assignedEdmaChannelIndex : IRES_EDMA3CHAN_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
  • assignedNumTccs : IRES_EDMA3CHAN_Obj
  • assignedPaRamAddresses : IRES_EDMA3CHAN_Obj
  • assignedPaRamIndices : IRES_EDMA3CHAN_Obj
  • assignedQdmaChannelIndex : IRES_EDMA3CHAN_Obj
  • assignedSEQ : IRES_VICP_Obj
  • assignedTccIndices : IRES_EDMA3CHAN_Obj
  • assignedVLCD : IRES_VICP_Obj
  • attrib : IRES_ADDRSPACE_ProtocolArgs
  • attrs : IALG_MemRec


Framework Components: File Index

  • File List
  • Globals

File List

Here is a list of all files with brief descriptions:
acpy3.h [code] | ACPY3 Definitions (C64P) - 3rd Generation ACPY. Provides a comprehensive list of DMA operations an algorithm can perform on logical DMA channels it acquires through the IDMA3 protocol
acpy3_instr.h [code] | ACPY3 Instrumentation API definitions
dbc.h [code] | Design By Contract Definitions - Provides basic Design By Contract support, including asserts, preconditions, and postconditions
dbg.h [code] |
dman3.h [code] | DMAN3 Interface Definitions - 3rd Generation DMA Manager. Application interface to the DMA Manager. Grants DMA resources to xDAIS algorithms
dskt2.h [code] | Provides services to support XDAIS algorithm instance objects
dskt2_qos.h [code] |
gt.h [code] | The "Generic Tracing" module. Provides producers of content the ability to, in a runtime-independant way, add tracing. Also provides consumers of trace-enabled content the mechanisms necessary to enable/disable the various trace statements
hdintc.h [code] | HDINTC Interface Definitions - Application interface to the Interrupt Registry Manager. Registers non-BIOS, non-dispatched interrupt service handlers to register and synchronize with HDVICP interrupts
hdvicpsync.h [code] | HDVICPSYNC Interface Definitions - Framework support package for synchronization between codec and HDVICP coprocessor usage
ialg.h [code] | This header defines all types, constants, and functions defined by XDAIS for algorithms
idma3.h [code] | IDMA3 Interface Definitions (C64P) - Allows algorithms to request and receive handles representing private logical DMA resources
ires.h [code] | IRES Interface Definitions - Allows algorithms to request and receive handles representing private logical resources
ires_addrspace.h [code] | IRES PROTOCOL ADDRSPACE Interface Definitions - Allows algorithms to request and receive handles that allow an OS agnostic way of accessing hardware address spaces
ires_common.h [code] | IRES Resource Protocol Definitions - IRES Resource
ires_edma3Chan.h [code] |
ires_hdvicp.h [code] | IRES PROTOCOL HDVICP Interface Definitions - Allows algorithms to request and receive handles representing the HDVICP resource
ires_memtcm.h [code] | IRES PROTOCOL MEMTCM Interface Definitions (C64P) - Allows algorithms to request and receive handles representing (CMEM alloc-ed) ARM TCM memory on the DM365
ires_sdma.h [code] | IRES PROTOCOL SDMA Interface Definitions (C64P) - Allows algorithms to request and receive handles representing the SDMA 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 VICP 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_addrspace.h [code] | IRESMAN
iresman_edma3Chan.h [code] |
iresman_hdvicp.h [code] | IRESMAN
iresman_memtcm.h [code] | Resource manager for managing memory allocated via CMEM on parts running Linux OS
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_sdma.h [code] | IRESMAN SDMA specific Resource Manager Definitions - SDMA specific resource manager implementation
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
scpy.h [code] | SCPY Module interface Definitions (C64P) - Allows algorithms submit and sychronize with SDMA transfers
shmbuf.h [code] | Linux shared memory buffer resource. This is another simple example of a resource manager that implements IRES and IRESMAN interfaces. This resource manager manages a single buffer that can be used by algorithms in different processes. An algorithm can request a chunk of memory with a specified length and alignment, within this buffer
vicpsync.h [code] | VICPSYNC Interface Definitions - Framework support package for synchronization between codec and VICP usage. This package allows algorithms to wait on interrupt completion of individual functional units of the VICP * coprocessor
xdas.h [code] | This header defines all types and constants used in the XDAS interfaces


Framework Components: acpy3.h File Reference

  • File List
  • Globals
packages » ti » sdo » fc » acpy3

acpy3.h File Reference

Detailed Description

ACPY3 Definitions (C64P) - 3rd Generation ACPY. Provides a comprehensive list of DMA operations an algorithm can perform on logical DMA channels it acquires through the IDMA3 protocol.

#include <ti/xdais/idma3.h>
Include dependency graph for acpy3.h:

Go to the source code of this file.

Data Structures

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

Defines

#define | ACPY3_GTNAME "ti.sdo.fc.acpy3"

Enumerations

enum ACPY3_ParamField16b {
ACPY3_PARAMFIELD_ELEMENTSIZE = 8,
ACPY3_PARAMFIELD_NUMELEMENTS = 10,
ACPY3_PARAMFIELD_ELEMENTINDEX_SRC = 16,
ACPY3_PARAMFIELD_ELEMENTINDEX_DST = 18,
ACPY3_PARAMFIELD_FRAMEINDEX_SRC = 24,
ACPY3_PARAMFIELD_FRAMEINDEX_DST = 26,
ACPY3_PARAMFIELD_NUMFRAMES = 28
}

ACPY3 16-bit param field structure. These values are passed to ACPY3_fastConfigure16b() to indicate the field of the ACPY3_Params structure to be changed.

More...
enum ACPY3_ParamField32b {
ACPY3_PARAMFIELD_SRCADDR = 4,
ACPY3_PARAMFIELD_DSTADDR = 12,
ACPY3_PARAMFIELD_ELEMENTINDEXES = 16,
ACPY3_PARAMFIELD_FRAMEINDEXES = 24
}

ACPY3 32-bit param field structure. These values are passed to ACPY3_fastConfigure32b() to indicate the field of the ACPY3_Params structure to be changed.

More...
enum ACPY3_TransferType {
ACPY3_1D1D,
ACPY3_1D2D,
ACPY3_2D1D,
ACPY3_2D2D
}

ACPY3 DMA Transfer Types:.

More...

Functions

Void | ACPY3_configure (IDMA3_Handle handle, ACPY3_Params *params, short transferNo)
Functions called by the framework for allocating and initializing the channel state.
Void | ACPY3_fastConfigure16b (IDMA3_Handle handle, ACPY3_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 | ACPY3_fastConfigure32b (IDMA3_Handle handle, ACPY3_ParamField32b fieldId, Uns value, short transferNo)
Modify the 32-bit DMA transfer parameter, indicated by the parameter field id, fieldId, of the current channel settings.
Void | ACPY3_setFinal (IDMA3_Handle handle, short transferNo)
Indicate that a given transfer will be the last in a sequence of linked transfers.
Void | ACPY3_fastSetFinal (IDMA3_Handle handle, short transferNo)
Indicate that a given transfer will be the last in a sequence of linked transfers.
Void | ACPY3_start (IDMA3_Handle handle)
Submit a single or linked transfer using the most recently configured transfer parameter settings.
Void | ACPY3_wait (IDMA3_Handle handle)
Wait for all data transfers on a logical channel to complete.
Void | ACPY3_waitLinked (IDMA3_Handle handle, unsigned short waitId)
Wait for an individual transfer in a Linked transfer to finish.
Bool | ACPY3_complete (IDMA3_Handle handle)
Check to see if all dma transfers on logical channel are finished.
Bool | ACPY3_completeLinked (IDMA3_Handle handle, unsigned short waitId)
Non-blocking query to check completion of an individual transfer in a Linked transfer.
Void | ACPY3_activate (IDMA3_Handle handle)
Activate the given channel.
Void | ACPY3_deactivate (IDMA3_Handle handle)
Deactivates the given channel.
Void | ACPY3_init (Void)
Initialize the ACPY3 module. Called by framework.
Void | ACPY3_exit (Void)
Finalization of the ACPY3 module.

Variables

IDMA3_ProtocolObj ACPY3_PROTOCOL


Framework Components: acpy3_instr.h File Reference

  • File List
  • Globals
packages » ti » sdo » fc » acpy3

acpy3_instr.h File Reference

Detailed Description

ACPY3 Instrumentation API definitions.

Remarks:
These APIs are available only for the instrumented build of the ACPY3 library.
#include <ti/xdais/idma3.h>
Include dependency graph for acpy3_instr.h:

Go to the source code of this file.

Data Structures

struct | ACPY3_INSTR_Hook
Structure that holds the instrumentation hook function and its arguments. More...
struct | ACPY3_INSTR_Hooks
Array of the primary instrumentation hook functions and their arguments. More...
struct | ACPY3_INSTR_ExtendedHooks
Array of the extended instrumentation hook functions and their arguments. More...

#define | ACPY3_INSTR_NUMHOOKS 4
Number of primary instrumentation hook functions.
#define | ACPY3_INSTR_NUMEXTENDEDHOOKS 22
enum ACPY3_INSTR_HookType {
ACPY3_INSTR_START_ENTER = 0,
ACPY3_INSTR_START_EXIT,
ACPY3_INSTR_WAIT_ENTER,
ACPY3_INSTR_WAIT_EXIT
}

Primary instrumentation hook function names.

More...
enum ACPY3_INSTR_ExtendedHookType {
ACPY3_INSTR_WAITLINKED_ENTER,
ACPY3_INSTR_WAITLINKED_EXIT,
ACPY3_INSTR_ACTIVATE_ENTER,
ACPY3_INSTR_ACTIVATE_EXIT,
ACPY3_INSTR_DEACTIVATE_ENTER,
ACPY3_INSTR_DEACTIVATE_EXIT,
ACPY3_INSTR_COMPLETE_ENTER,
ACPY3_INSTR_COMPLETE_EXIT,
ACPY3_INSTR_COMPLETELINKED_ENTER,
ACPY3_INSTR_COMPLETELINKED_EXIT,
ACPY3_INSTR_CONFIGURE_ENTER,
ACPY3_INSTR_CONFIGURE_EXIT,
ACPY3_INSTR_FASTCONFIGURE16_ENTER,
ACPY3_INSTR_FASTCONFIGURE16_EXIT,
ACPY3_INSTR_FASTCONFIGURE32_ENTER,
ACPY3_INSTR_FASTCONFIGURE32_EXIT,
ACPY3_INSTR_SETFINAL_ENTER,
ACPY3_INSTR_SETFINAL_EXIT,
ACPY3_INSTR_SETFASTFINAL_ENTER,
ACPY3_INSTR_SETFASTFINAL_EXIT,
ACPY3_INSTR_INIT_ENTER,
ACPY3_INSTR_INIT_EXIT,
ACPY3_INSTR_EXIT_ENTER,
ACPY3_INSTR_EXIT_EXIT
}

Extended instrumentation hook function names.

More...
typedef void(* | ACPY3_INSTR_HookFxn )(IDMA3_Handle handle, void *param)
Function signature for hook instrumentation function.
Void | ACPY3_INSTR_registerHooks (IDMA3_Handle handle, ACPY3_INSTR_Hooks *hooks, ACPY3_INSTR_ExtendedHooks *extended_hooks)
Registering the hook functions for instrumentation.
Void | ACPY3_INSTR_unregisterHooks (IDMA3_Handle handle)
Un-registering the hook functions for instrumentation.


Framework Components: dbc.h File Reference

  • File List
  • Globals
packages » ti » sdo » fc » utils

dbc.h File Reference

Detailed Description

Design By Contract Definitions - Provides basic Design By Contract support, including asserts, preconditions, and postconditions.

Go to the source code of this file.

Defines

#define | DBC_assert(c)
#define | DBC_require(c)
#define | DBC_ensure(c)


Framework Components: dbg.h File Reference

  • File List
  • Globals
packages » ti » sdo » fc » utils

dbg.h File Reference

Go to the source code of this file.

Defines

#define | DBG_printf0(a, b)
#define | DBG_printf1(a, b, c)
#define | DBG_printf2(a, b, c, d)

Define Documentation

#define DBG_printf0 | ( | a,
 |  | b | )
#define DBG_printf1 | ( | a,
 |  | b,
 |  | c | )
#define DBG_printf2 | ( | a,
 |  | b,
 |  | c,
 |  | d | )


Framework Components: dman3.h File Reference

  • File List
  • Globals
packages » ti » sdo » fc » dman3

dman3.h File Reference

Detailed Description

DMAN3 Interface Definitions - 3rd Generation DMA Manager. Application interface to the DMA Manager. Grants DMA resources to xDAIS algorithms.

#include <ti/xdais/ialg.h>
#include <ti/xdais/idma3.h>
Include dependency graph for dman3.h:

Go to the source code of this file.

Data Structures

struct | DMAN3_Params
The module configuration structure for DMAN3 implementation. It is set at design time by the system integrator to ensure optimal sharing of DMA resources for the execution environment. More...

Defines

#define | DMAN3_GTNAME "ti.sdo.fc.dman3"
#define | DMAN3_MAXGROUPS 20
Defines: DMAN3 Status Codes

#define | DMAN3_SOK 0
#define | DMAN3_EOUTOFMEMORY -1
#define | DMAN3_EFAIL -2
#define | DMAN3_EFREE -3
#define | DMAN3_EOUTOFTCCS -4
#define | DMAN3_EOUTOFPARAMS -5
#define | DMAN3_ETCCCONFIG -6
#define | DMAN3_EPARAMCONFIG -7

Typedefs

typedef Bool(* | DMAN3_ScratchAllocFxn )(IALG_Handle alg, Int mutexId, IALG_MemRec *memTab, Int numRecs)
Function prototype for allocating IDMA3 Object's env from shared scratch memory. Algorithms might specify a particular IDMA3 protocol that provides custom DMA services. This protocol might require extra memory for the IDMA3 object's environment. DMAN3_ScratchAllocFxn might be used to allocate this memory. If this is NULL, then the env will be allocated from persistent memory.
typedef Void(* | DMAN3_ScratchFreeFxn )(Int mutexId, Void *addr, Uns size)
Function prototype for freeing IDMA3 Object's env from shared scratch memory. If this is NULL then env will be freed from persistent memory.

Functions

Int | DMAN3_grantDmaChannels (Int groupId, IALG_Handle algHandle[], IDMA3_Fxns *dmaFxns[], Int numAlgs)
Add one or several algorithms to the DMA Manager. The DMA Manager will grant DMA resources to the algorithms as a result. This function is called when initializing XDAIS algorithm instances.
Void | DMAN3_exit (Void)
Finalization method of the DMAN module.
Int | DMAN3_createChannels (Int groupId, IDMA3_ChannelRec dmaTab[], Int numChans)
Allocate and initialize memory for one or several channel handles.
Void | DMAN3_init (Void)
Initialization method of the DMAN3 module. DMAN3_init() uses externally configured and provided DMAN3_PARAMS to initialize DMAN3 resources (QDMA channel map, memory heap...).
Int | DMAN3_releaseDmaChannels (IALG_Handle algHandle[], IDMA3_Fxns *dmaFxns[], Int numAlgs)
Remove logical channel resources from one or several algorithm instances.
Int | DMAN3_freeChannels (IDMA3_Handle channelTab[], Int numChans)
Free memory for array of channel handles.

Variables

DMAN3_Params DMAN3_PARAMS
Default module configuration structure (defined in dman3.c).
Uns | ti_sdo_fc_dman3_DMAN3_numQdmaGroup [20+1]
Array containing the number of Qdma channels that will be assigned to the algorithm groups for sharing.


Framework Components: dskt2.h File Reference

  • File List
  • Globals
packages » ti » sdo » fc » dskt2

dskt2.h File Reference

Detailed Description

Provides services to support XDAIS algorithm instance objects.

#include <ti/xdais/ialg.h>
#include <stddef.h>
Include dependency graph for dskt2.h:

Go to the source code of this file.

Defines

#define | DSKT2_GTNAME "ti.sdo.fc.dskt2"
#define | DSKT2_NUM_SCRATCH_GROUPS 20
#define | DSKT2_MAX_MEM_ALLOCATION_SIZE 0xFFFF
#define | DSKT2_NUM_SHAREDHEAPS 2

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.

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, Int 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.
Void | DSKT2_freeScratch (Int mutexId, Void *addr, Uns 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.


Framework Components: dskt2_qos.h File Reference

  • File List
  • Globals
packages » ti » sdo » fc » dskt2

dskt2_qos.h File Reference

Go to the source code of this file.

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 }

Functions

Void | DSKT2_QOS_getStat (Uns heapType, Uns mutexId, Uns *sizeSharedScratch, Uns *inHeap)

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 | ( | Uns | heapType,
 |  | Uns | mutexId,
 |  | Uns * | sizeSharedScratch,
 |  | Uns * | inHeap
 | ) |  |


Framework Components: gt.h File Reference

  • File List
  • Globals
packages » ti » sdo » utils » trace

gt.h File Reference

Detailed Description

The "Generic Tracing" module. Provides producers of content the ability to, in a runtime-independant way, add tracing. Also provides consumers of trace-enabled content the mechanisms necessary to enable/disable the various trace statements.

Go to the source code of this file.

Data Structures

struct | GT_Mask
Object representing a GT module instance. More...

Defines

#define | GT_ENTER ((UInt8)0x01)
Mask for tracing entry and exit points within functions.
#define | GT_1CLASS ((UInt8)0x02)
#define | GT_2CLASS ((UInt8)0x04)
#define | GT_3CLASS ((UInt8)0x08)
#define | GT_4CLASS ((UInt8)0x10)
#define | GT_5CLASS ((UInt8)0x20)
User mask 5. By convention, used for benchmarking related tracing.
#define | GT_6CLASS ((UInt8)0x40)
User mask 6. By convention, used for internal warning related tracing.
#define | GT_7CLASS ((UInt8)0x80)
User mask 7. By convention, used for internal error related tracing.
#define | GT_create(mask, modName) _GT_create((mask), (modName))
#define | GT_set(str) _GT_set(str)
#define | GT_0trace(mask, classId, format)
#define | GT_1trace(mask, classId, format, arg1)
#define | GT_2trace(mask, classId, format, arg1, arg2)
#define | GT_3trace(mask, classId, format, arg1, arg2, arg3)
#define | GT_4trace(mask, classId, format, arg1, arg2, arg3, arg4)
#define | GT_5trace(mask, classId, format, arg1, arg2, arg3, arg4, arg5)
#define | GT_6trace(mask, classId, format, arg1, arg2, arg3, arg4, arg5, arg6)

Functions

Void | _GT_create (GT_Mask *mask, String modName)
Initialize a GT mask.
Void | GT_init (Void)
Initialize the GT module.
Void | _GT_set (String str)
Modify the current trace mask settings.
Int | _GT_trace (GT_Mask *mask, Int classId, String format,...)
Conditionally emit a trace statement.


Framework Components: hdintc.h File Reference

  • File List
  • Globals
packages » ti » sdo » fc » hdintc

hdintc.h File Reference

Detailed Description

HDINTC Interface Definitions - Application interface to the Interrupt Registry Manager. Registers non-BIOS, non-dispatched interrupt service handlers to register and synchronize with HDVICP interrupts.

#include <ti/xdais/ialg.h>
#include <ti/xdais/xdas.h>
Include dependency graph for hdintc.h:

Go to the source code of this file.

Data Structures

struct | HDINTC_Params
The module configuration structure for HDINTC implementation. More...
struct | hdvicpAppHandle

Defines

#define | HDINTC_GTNAME "ti.sdo.fc.hdintc"
Defines: Status Codes

#define | HDINTC_SOK 0
#define | HDINTC_EOUTOFMEMORY -1
#define | HDINTC_EFAIL -2

Typedefs

typedef struct hdvicpAppHandle | HDVICP_Obj
typedef HDVICP_Obj * | HDVICP_Handle

Functions

void | HDVICP_configure (IALG_Handle handle, void *hdvicpHandle, void(*ISRfunctionptr)(IALG_Handle handle))
This is the top level function on the gem side, which sets the interrupt configuration for the interrupts received from ARM968. In effect, this function currently sets the global function ptr to the actual MB processing decode function that needs to be called from the interrupt service routine.
void | HDVICP_wait (void *hdvicpHandle)
This is the top level function on the gem side, which implements the hdvicp_wait(). Current implementation allows GEM to wait on a global intc flag which will be 1 as long as one frame is not completed.
void | HDVICP_done (void *hdvicpHandle)
This is the top level function on the gem side, which implements the hdvicp_done(). Current implementation allows GEM to set a global intc flag to 0 to come out of hdvicp_wait() as soon as one frame is completed.

Variables

HDINTC_Params HDINTC_PARAMS
Default module configuration structure (defined in hdintc.c).


Framework Components: hdvicpsync.h File Reference

  • File List
  • Globals
packages » ti » sdo » fc » hdvicpsync

hdvicpsync.h File Reference

Detailed Description

HDVICPSYNC Interface Definitions - Framework support package for synchronization between codec and HDVICP coprocessor usage.

#include <ti/xdais/ialg.h>
#include <ti/sdo/fc/ires/hdvicp/ires_hdvicp.h>
Include dependency graph for hdvicpsync.h:

Go to the source code of this file.

Data Structures

struct | HDVICPSYNC_Params
The module configuration structure for HDVICPSYNC implementation. More...

Defines

#define | HDVICPSYNC_GTNAME "ti.sdo.fc.hdvicpsync"
Name to identify the GT module.

Enumerations

enum HDVICPSYNC_InterruptType {
HDVICPSYNC_IRQ,
HDVICPSYNC_FIQ
}

Interrupt type that can be specified for each Resource type.

More...
enum HDVICPSYNC_Status {
HDVICPSYNC_OK,
HDVICPSYNC_EFAIL,
HDVICPSYNC_ENORESOURCE
}

Functions

HDVICPSYNC_Status | HDVICPSYNC_start (IALG_Handle handle, HDVICPSYNC_InterruptType intType, IRES_HDVICP_Handle hdvicpHandle)
This function is used to mark the beginning of HDVICP coprocessor usage by the algorithm.
HDVICPSYNC_Status | HDVICPSYNC_wait (IRES_HDVICP_Handle hdvicpHandle)
This is the top level function that allows the ARM-side algorithm to wait for the Kaleido (frame) interrupt to fire.
HDVICPSYNC_Status | HDVICPSYNC_unregister (IRES_HDVICP_Handle hdvicpHandle)
This is the top level function that allows the ARM-side algorithms to explicitly unregister a particular interrupt handler for ISRS registerd via a call to HDVICPSYNC_start API.
Bool | HDVICPSYNC_done (IRES_HDVICP_Handle hdvicpHandle)
This is the top level function that allows the ARM-side algorithm to return a status indicating if a Kaleido interrupt has fired (frame has been processed) since HDVICPSYNC_start was called.

Variables

HDVICPSYNC_Params HDVICPSYNC_PARAMS
Default module configuration structure (defined in hdvicpsync.c).


Framework Components: ialg.h File Reference

  • File List
  • Globals
fctools » packages » ti » xdais

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.

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...

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)

Typedefs

typedef struct IALG_Obj * | IALG_Handle
Handle to an algorithm instance object.
typedef unsigned int | IALG_Cmd
Algorithm specific command.

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: idma3.h File Reference

  • File List
  • Globals
fctools » packages » ti » xdais

idma3.h File Reference

Detailed Description

IDMA3 Interface Definitions (C64P) - Allows algorithms to request and receive handles representing private logical DMA resources.

#include "ialg.h"
Include dependency graph for idma3.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct | IDMA3_MemRec
Record containing attributes of the IDMA3 Channel environment memory when (optionally) the IDMA3 Channel is requested with a non-NULL IDMA3_ProtocolObj. More...
struct | IDMA3_ChannelRec
DMA Channel Descriptor to logical DMA channels. More...
struct | IDMA3_Fxns
These fxns are used to query/grant the DMA 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...
struct | IDMA3_ProtocolObj
These functions are used to determine memory requirements for and initialize the IDMA3 protocol's environment that will be allocated by the DMA manager. More...
struct | IDMA3_Obj
IDMA3_Obj holds the private state associated with each logical DMA channel. More...

Defines

#define | IDMA3_PROTOCOL_NULL ((IDMA3_ProtocolHandle)NULL)
NULL protocol definition.

Typedefs

typedef struct IDMA3_Obj * | IDMA3_Handle
Handle to "logical" DMA channel.
typedef struct IDMA3_ProtocolObj * | IDMA3_ProtocolHandle
Handle to IDMA3 protocol object.

Enumerations

enum IDMA3_MemType {
IDMA3_INTERNAL,
IDMA3_EXTERNAL
}

Memory space descriptors for IDMA3_MemRec.

More...
enum IDMA3_Priority {
IDMA3_PRIORITY_URGENT,
IDMA3_PRIORITY_HIGH,
IDMA3_PRIORITY_MEDIUM,
IDMA3_PRIORITY_LOW
}

IDMA3 Priority Levels.

More...


Framework Components: ires.h File Reference

  • File List
  • Globals
fctools » packages » ti » xdais

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 Void(* | IRES_ContextSaveFxn )(IALG_Handle algHandle, Void *contextArgs)
typedef Void(* | IRES_ContextRestoreFxn )(IALG_Handle algHandle, Void *contextArgs)
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.

Enumerations

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


Framework Components: ires_addrspace.h File Reference

  • File List
  • Globals
packages » ti » sdo » fc » ires » addrspace

ires_addrspace.h File Reference

Detailed Description

IRES PROTOCOL ADDRSPACE Interface Definitions - Allows algorithms to request and receive handles that allow an OS agnostic way of accessing hardware address spaces.

#include <ti/xdais/ires.h>
Include dependency graph for ires_addrspace.h:

Go to the source code of this file.

Data Structures

struct | IRES_ADDRSPACE_ProtocolArgs
ADDRSPACE Protocol Arguments definition. More...
struct | IRES_ADDRSPACE_Obj
IRES_ADDRSPACE_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource. More...
struct | IRES_ADDRSPACE_Properties

#define | IRES_ADDRSPACE_PROTOCOLNAME "ti.sdo.fc.ires.addrspace"
Name used to describe this protocol.
#define | ADDRSPACE_GTNAME "ti.sdo.fc.ires.addrspace"
Name used to identify this GT module.
enum IRES_ADDRSPACE_AccessType {
IRES_ADDRSPACE_READ = 1,
IRES_ADDRSPACE_WRITE = 2,
IRES_ADDRSPACE_EXEC = 4,
IRES_ADDRSPACE_NONE = 8
}

Decription of kinds of accesses that may be allowed on returned addresses.

More...
typedef struct IRES_ADDRSPACE_Obj * | IRES_ADDRSPACE_Handle
Handle to "logical" resource.

Define Documentation

#define IRES_ADDRSPACE_PROTOCOLNAME "ti.sdo.fc.ires.addrspace"

Name used to describe this protocol.

#define ADDRSPACE_GTNAME "ti.sdo.fc.ires.addrspace"

Name used to identify this GT module.

Typedef Documentation

typedef struct IRES_ADDRSPACE_Obj* IRES_ADDRSPACE_Handle

Handle to "logical" resource.

Enumeration Type Documentation

enum IRES_ADDRSPACE_AccessType

Decription of kinds of accesses that may be allowed on returned addresses.

Enumerator:
IRES_ADDRSPACE_READ
IRES_ADDRSPACE_WRITE
IRES_ADDRSPACE_EXEC
IRES_ADDRSPACE_NONE


Framework Components: ires_common.h File Reference

  • File List
  • Globals
fctools » packages » ti » xdais

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 struct IRES_Obj * | IRES_Handle
Handle to "logical" resource.


Framework Components: ires_edma3Chan.h File Reference

  • File List
  • Globals
packages » ti » sdo » fc » ires » edma3chan

ires_edma3Chan.h File Reference

#include <ti/xdais/ires.h>
Include dependency graph for ires_edma3Chan.h:

Go to the source code of this file.

Data Structures

struct | IRES_EDMA3CHAN_PaRamStruct
Representation of actual PaRam structure. More...
struct | IRES_EDMA3CHAN_ProtocolArgs
EDMA3 Linked Transfer Protocol Arguments definition. 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 in-efficient allocation of resources, and in some cases, simplyfying assumptions about the resource requests may be made by the allocator. More...
struct | IRES_EDMA3CHAN_Obj
IRES_EDMA3CHAN_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource. More...
struct | IRES_EDMA3CHAN_EDMA3ShadowRegister
IRES_EDMA3CHAN_EDMA3ShadowRegister defines the shadow register part of the EDMA3 CC Register Layer defined below. More...
struct | IRES_EDMA3CHAN_EDMA3DraeRegister
IRES_EDMA3CHAN_EDMA3DraeRegister defines the Region Enable register part of the EDMA3 CC Register Layer defined below. More...
struct | IRES_EDMA3CHAN_EDMA3RegisterLayer
struct | IRES_EDMA3CHAN_Properties
Static Resource Properties. More...

Defines

#define | IRES_EDMA3CHAN_PROTOCOLNAME "ti.sdo.fc.ires.edma3chan"
Name used to describe this protocol.
#define | EDMA3CHAN_GTNAME "ti.sdo.fc.ires.edma3chan"
Name used to describe the GT module.
#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_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

Typedefs

typedef struct IRES_EDMA3CHAN_Obj * | IRES_EDMA3CHAN_Handle
Handle to "logical" resource.


Framework Components: ires_hdvicp.h File Reference

  • File List
  • Globals
packages » ti » sdo » fc » ires » hdvicp

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.h>
Include dependency graph for ires_hdvicp.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

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...

Defines

#define | IRES_HDVICP_PROTOCOLNAME "ti.sdo.fc.ires.hdvicp"
Name used to describe this protocol.

Typedefs

typedef struct IRES_HDVICP_Obj * | IRES_HDVICP_Handle
Handle to "logical" resource.

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: ires_memtcm.h File Reference

  • File List
  • Globals
packages » ti » sdo » fc » ires » memtcm

ires_memtcm.h File Reference

Detailed Description

IRES PROTOCOL MEMTCM Interface Definitions (C64P) - Allows algorithms to request and receive handles representing (CMEM alloc-ed) ARM TCM memory on the DM365.

#include <ti/xdais/ires.h>
Include dependency graph for ires_memtcm.h:

Go to the source code of this file.

Data Structures

struct | IRES_MEMTCM_ProtocolArgs
MEMTCM Protocol Arguments definition. More...
struct | IRES_MEMTCM_Obj
IRES_MEMTCM_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource. More...
struct | IRES_MEMTCM_Properties

#define | IRES_MEMTCM_PROTOCOLNAME "ti.sdo.fc.ires.examples.resources.memtcm"
Name used to describe this protocol.
#define | MEMTCM_GTNAME "ti.sdo.fc.ires.examples.resources.memtcm"
Name used to identify this GT module.
typedef struct IRES_MEMTCM_Obj * | IRES_MEMTCM_Handle
Handle to "logical" resource.

Define Documentation

#define IRES_MEMTCM_PROTOCOLNAME "ti.sdo.fc.ires.examples.resources.memtcm"

Name used to describe this protocol.

#define MEMTCM_GTNAME "ti.sdo.fc.ires.examples.resources.memtcm"

Name used to identify this GT module.

Typedef Documentation

typedef struct IRES_MEMTCM_Obj* IRES_MEMTCM_Handle

Handle to "logical" resource.


Framework Components: ires_sdma.h File Reference

  • File List
  • Globals
packages » ti » sdo » fc » ires » sdma

ires_sdma.h File Reference

Detailed Description

IRES PROTOCOL SDMA Interface Definitions (C64P) - Allows algorithms to request and receive handles representing the SDMA resource.

#include <ti/xdais/ires.h>
#include <ti/sdo/linuxutils/sdma/include/sdma.h>
Include dependency graph for ires_sdma.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct | IRES_SDMA_ProtocolArgs
SDMA Protocol Arguments definition. More...
struct | IRES_SDMA_Obj
IRES_SDMA_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource. More...
struct | IRES_SDMA_RegisterLayer
struct | IRES_SDMA_Properties

Defines

#define | IRES_SDMA_PROTOCOLNAME "ti.sdo.fc.ires.sdma"
Name used to describe this protocol.
#define | SDMA_GTNAME "ti.sdo.fc.ires.sdma"
Name used to identify this GT module.

Typedefs

typedef struct IRES_SDMA_Obj * | IRES_SDMA_Handle
Handle to "logical" resource.


Framework Components: ires_vicp.h File Reference

  • File List
  • Globals
packages » ti » sdo » fc » ires » vicp

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.h>
Include dependency graph for ires_vicp.h:

Go to the source code of this file.

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

Defines

#define | IRES_VICP_MAXRESOURCES 1
#define | IRES_VICP_PROTOCOLNAME "ti.sdo.fc.ires.vicp"
Name used to describe this protocol.

Typedefs

typedef struct IRES_VICP_Obj * | IRES_VICP_Handle
Handle to "logical" resource.


Framework Components: ires_vicp2.h File Reference

  • File List
  • Globals
packages » ti » sdo » fc » ires » vicp

ires_vicp2.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.h>
Include dependency graph for ires_vicp2.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

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

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 | 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

Typedefs

typedef struct IRES_VICP2_Obj * | IRES_VICP2_Handle
Handle to "logical" resource.


Framework Components: iresman.h File Reference

  • File List
  • Globals
packages » ti » sdo » fc » ires

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 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.


Framework Components: iresman_addrspace.h File Reference

  • File List
  • Globals
packages » ti » sdo » fc » ires » addrspace

iresman_addrspace.h File Reference

Detailed Description

IRESMAN.

#include <ti/sdo/fc/ires/iresman.h>
Include dependency graph for iresman_addrspace.h:

Go to the source code of this file.

Data Structures

struct | IRESMAN_AddrSpaceParams

Functions

String | IRESMAN_ADDRSPACE_getProtocolName ()
Function to return the name of the protocol.
IRES_ProtocolRevision * IRESMAN_ADDRSPACE_getProtocolRevision ()
Function to return the revision of the protocol.
IRES_Status | IRESMAN_ADDRSPACE_init (IRESMAN_Params *initArgs)
Function to initialize the device specific resource manager implementation.
IRES_Status IRESMAN_ADDRSPACE_exit ()
Function called when RESMAN is no longer needed. Use it to free memory allocated etc.
IRES_Handle | IRESMAN_ADDRSPACE_getHandles (IALG_Handle algHandle, IRES_ProtocolArgs *protocolArgs, Int scratchGroupId, IRES_Status *status)
Function that returns the IRES_Handle to the resource requested using the IRES_ResourceProtocolArgs.
IRES_Status | IRESMAN_ADDRSPACE_freeHandle (IALG_Handle algHandle, IRES_Handle algResourceHandle, IRES_ProtocolArgs *protocolArgs, Int scratchGroupId)
Frees handles back to the resource pool.

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_ADDRSPACE
IRES RESMAN implementation for ADDRSPACE.


Framework Components: iresman_edma3Chan.h File Reference

  • File List
  • Globals
packages » ti » sdo » fc » ires » edma3chan

iresman_edma3Chan.h File Reference

#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.

Data Structures

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

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_ProtocolArgs *protocolArgs, 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_ProtocolArgs *protocolArgs, Int scratchGroupId)
Frees handles back to the resource pool.

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: iresman_hdvicp.h File Reference

  • File List
  • Globals
packages » ti » sdo » fc » ires » hdvicp

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.

Data Structures

struct | IRESMAN_HdVicpParams

Defines

#define | IRES_HDVICP_MAXRESOURCES 10

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_ProtocolArgs *protocolArgs, 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_ProtocolArgs *protocolArgs, Int scratchGroupId)
Frees handles back to the resource pool.

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: iresman_memtcm.h File Reference

  • File List
  • Globals
packages » ti » sdo » fc » ires » memtcm

iresman_memtcm.h File Reference

Detailed Description

Resource manager for managing memory allocated via CMEM on parts running Linux OS.

#include <ti/sdo/fc/ires/iresman.h>
Include dependency graph for iresman_memtcm.h:

Go to the source code of this file.

Data Structures

struct | IRESMAN_MemTcmParams

Functions

String | IRESMAN_MEMTCM_getProtocolName ()
Function to return the name of the protocol.
IRES_ProtocolRevision * IRESMAN_MEMTCM_getProtocolRevision ()
Function to return the revision of the protocol.
IRES_Status | IRESMAN_MEMTCM_init (IRESMAN_Params *initArgs)
Function to initialize the device specific resource manager implementation.
IRES_Status IRESMAN_MEMTCM_exit ()
Function called when RESMAN is no longer needed. Use it to free memory allocated etc.
IRES_Handle | IRESMAN_MEMTCM_getHandles (IALG_Handle algHandle, IRES_ProtocolArgs *protocolArgs, Int scratchGroupId, IRES_Status *status)
Function that returns the IRES_Handle to the resource requested using the IRES_ResourceProtocolArgs.
IRES_Status | IRESMAN_MEMTCM_freeHandle (IALG_Handle algHandle, IRES_Handle algResourceHandle, IRES_ProtocolArgs *protocolArgs, Int scratchGroupId)
Frees handles back to the resource pool.

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_MEMTCM
IRES RESMAN implementation for MEMTCM.


Framework Components: iresman_protocol.h File Reference

  • File List
  • Globals
packages » ti » sdo » fc » ires

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...


Framework Components: iresman_sdma.h File Reference

  • File List
  • Globals
packages » ti » sdo » fc » ires » sdma

iresman_sdma.h File Reference

Detailed Description

IRESMAN SDMA specific Resource Manager Definitions - SDMA specific resource manager implementation.

#include <ti/sdo/fc/ires/iresman.h>
Include dependency graph for iresman_sdma.h:

Go to the source code of this file.

Data Structures

struct | IRESMAN_SdmaParams
Initialization arguments for the SDMA specific resource manager. More...

Functions

String | IRESMAN_SDMA_getProtocolName ()
Function to return the name of the protocol.
IRES_ProtocolRevision * IRESMAN_SDMA_getProtocolRevision ()
Function to return the revision of the protocol.
IRES_Status | IRESMAN_SDMA_init (IRESMAN_Params *initArgs)
Function to initialize the device specific resource manager implementation.
IRES_Status IRESMAN_SDMA_exit ()
Function called when RESMAN is no longer needed. Use it to free memory allocated etc.
IRES_Handle | IRESMAN_SDMA_getHandles (IALG_Handle algHandle, IRES_ProtocolArgs *protocolArgs, Int scratchGroupId, IRES_Status *status)
Function that returns the IRES_Handle to the resource requested using the IRES_ResourceProtocolArgs.
IRES_Status | IRESMAN_SDMA_freeHandle (IALG_Handle algHandle, IRES_Handle algResourceHandle, IRES_ProtocolArgs *protocolArgs, Int scratchGroupId)
Frees handles back to the resource pool.

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_SDMA
IRES RESMAN implementation for SDMA.


Framework Components: iresman_vicp.h File Reference

  • File List
  • Globals
packages » ti » sdo » fc » ires » vicp

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.

Data Structures

struct | IRESMAN_VicpParams

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_ProtocolArgs *protocolArgs, 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_ProtocolArgs *protocolArgs, Int scratchGroupId)
Frees handles back to the resource pool.

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: iresman_vicp2.h File Reference

  • File List
  • Globals
packages » ti » sdo » fc » ires » vicp

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.

Data Structures

struct | IRESMAN_VicpParams

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_ProtocolArgs *protocolArgs, 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_ProtocolArgs *protocolArgs, Int scratchGroupId)
Frees handles back to the resource pool.

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: memutils.h File Reference

  • File List
  • Globals
packages » ti » sdo » fc » memutils

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.


Framework Components: rman.h File Reference

  • File List
  • Globals
packages » ti » sdo » fc » rman

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.

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...
struct | RMAN_YieldArgs
Yield Arguments passed to the algorithm if RMAN's useDSKT2 flag is set. These arguments are used by the yield function set/get context and release/acquire locks for a particular scratch group. More...

Defines

#define | ti_sdo_fc_ires_NOPROTOCOLREV
#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.

Typedefs

typedef struct Sem_Obj * | RMAN_SemHandle
Declare abstract handle for Semaphore object.

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 IRESMAN protocol/protocol revision i.e., device specific resource manager implementation with the Resource Registry of RMAN. RMAN logs these entries in an internal table that is uses to satisfy requests for different IRES resources.
IRES_Status | RMAN_unregister (IRESMAN_Fxns *resmanFxns)
Unregisters the protocol and the corresponding resource manager implementation from RMAN's Resource Registry. This API is called when this resource no longer needs to be managed by RMAN.
IRES_Status | RMAN_assignResources (IALG_Handle algHandle, IRES_Fxns *resFxns, Int scratchGroupId)
Assign IRES resources to the algorithm indicated by algHandle. Algorithm could request multiple IRES resources of same/ different type through its IRES implementation. RMAN would identify which IRESMAN implementation (that is registered with it) to query and then request resources from that, to satisfy the individual IRES requests. Non-algorithm users of this API can obtain resources by passing * NULL as the algHandle. Resources will still be assigned to the IRES_Fxns::initResources API.
IRES_Status | RMAN_freeResources (IALG_Handle algHandle, IRES_Fxns *resFxns, 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.

Variables

__FAR__ RMAN_Params | RMAN_PARAMS
__FAR__ IRESMAN_Fxns * | RMAN_TABLE []
__FAR__ short | RMAN_FREE_ENTRIES []
__FAR__ short | RMAN_numRegistryEntries
__FAR__ IRESMAN_Fxns ** | RMAN_registryEntries
__FAR__ IRESMAN_Params ** | RMAN_registryResmanArgs

Define Documentation

#define ti_sdo_fc_ires_NOPROTOCOLREV


Framework Components: scpy.h File Reference

  • File List
  • Globals
packages » ti » sdo » fc » scpy

scpy.h File Reference

Detailed Description

SCPY Module interface Definitions (C64P) - Allows algorithms submit and sychronize with SDMA transfers.

#include <ti/sdo/fc/ires/sdma/ires_sdma.h>
Include dependency graph for scpy.h:

Go to the source code of this file.

Data Structures

struct | SCPY_AddrParams
Parameters of Address (source or destination) of transfer. More...
struct | SCPY_TransferParams
Details of Transfer. More...
struct | SCPY_Params

Defines

#define | OMAP_DMA_DATA_TYPE_S8 0x00
#define | OMAP_DMA_DATA_TYPE_S16 0x01
#define | OMAP_DMA_DATA_TYPE_S32 0x02
#define | OMAP_DMA_PORT_EMIFF 0x00
#define | OMAP_DMA_AMODE_POST_CONST 0x00
#define | OMAP_DMA_AMODE_POST_INC 0x01
#define | OMAP_DMA_AMODE_POST_SINGLE_INDEX 0x02
#define | OMAP_DMA_AMODE_POST_DOUBLE_INDEX 0x03
#define | OMAP_DMA_SYNC_MODE_ELEMENT 0x00
To identify mode of sychronization of transfer.
#define | OMAP_DMA_SYNC_MODE_FRAME 0x01
#define | OMAP_DMA_SYNC_MODE_BLOCK 0x02
#define | OMAP_DMA_SYNC_TYPE_DEST 0x00
#define | OMAP_DMA_SYNC_TYPE_SRC 0x01

Functions

void | SCPY_init ()
SCPY initialization API.
void | SCPY_exit ()
SCPY finalization API.
void | SCPY_configure (IRES_SDMA_Handle logicalChannel, SCPY_Params *params)
Configures transfer on a particular logical handle.
void | SCPY_start (IRES_SDMA_Handle logicalChannel)
Starts a transfer previously configured on a channel.
void | SCPY_wait (IRES_SDMA_Handle logicalChannel)
Wait for the transfer to complete.
Bool | SCPY_complete (IRES_SDMA_Handle logicalChannel)
Returns status of transfer on the logical channel.


Framework Components: shmbuf.h File Reference

  • File List
  • Globals
packages » ti » sdo » fc » ires » shmbuf

shmbuf.h File Reference

Detailed Description

Linux shared memory buffer resource. This is another simple example of a resource manager that implements IRES and IRESMAN interfaces. This resource manager manages a single buffer that can be used by algorithms in different processes. An algorithm can request a chunk of memory with a specified length and alignment, within this buffer.

#include <ti/xdais/ires_common.h>
#include <ti/sdo/fc/ires/iresman_protocol.h>
#include <ti/sdo/fc/ires/iresman.h>
Include dependency graph for shmbuf.h:

Go to the source code of this file.

Data Structures

struct | SHMBUF_Params
SHMBUF specific params. More...
struct | SHMBUF_Obj
struct | SHMBUF_Args
struct | SHMBUF_Props

Defines

#define | SHMBUF_GTNAME "ti.sdo.fc.ires.shmbuf"
#define | SHMBUF_PROTOCOLNAME "ti.sdo.fc.ires.shmbuf"
Name used to describe this protocol.

Typedefs

typedef struct SHMBUF_Obj * | SHMBUF_Handle

Variables

SHMBUF_Params SHMBUF_PARAMS
IRESMAN_ConstructFxns SHMBUF_REQFXNS
IRESMAN_Fxns SHMBUF_MGRFXNS


Framework Components: vicpsync.h File Reference

  • File List
  • Globals
packages » ti » sdo » fc » vicpsync

vicpsync.h File Reference

Detailed Description

VICPSYNC Interface Definitions - Framework support package for synchronization between codec and VICP usage. This package allows algorithms to wait on interrupt completion of individual functional units of the VICP * coprocessor.

#include <ti/xdais/ialg.h>
#include <ti/sdo/fc/ires/vicp/ires_vicp2.h>
Include dependency graph for vicpsync.h:

Go to the source code of this file.

Data Structures

struct | VICPSYNC_Params
The module configuration structure for VICPSYNC implementation. More...

Defines

#define | VICPSYNC_GTNAME "ti.sdo.fc.vicpsync"

Enumerations

enum VICPSYNC_ResourceType {
VICPSYNC_IMX0,
VICPSYNC_IMX1,
VICPSYNC_MJCP,
VICPSYNC_NSF
}

Resource types for which the API can be called.

More...
enum VICPSYNC_InterruptLine {
VICPSYNC_FIXED,
VICPSYNC_FLEXIBLE
}

Interrupt line that can be specified for each Resource type.

More...
enum VICPSYNC_InterruptType {
VICPSYNC_IRQ,
VICPSYNC_FIQ
}

Interrupt type that can be specified for each Resource type.

More...
enum VICPSYNC_Status {
VICPSYNC_OK,
VICPSYNC_EFAIL,
VICPSYNC_ENORESOURCE
}

Functions

VICPSYNC_Status | VICPSYNC_start (IALG_Handle handle, VICPSYNC_ResourceType res, VICPSYNC_InterruptType intType, VICPSYNC_InterruptLine intLine, IRES_VICP2_Handle vicpHandle)
This is the top level function that allows ARM-side algorithms to mark beginning of the usage of individual functional units of VICP.
VICPSYNC_Status | VICPSYNC_wait (IRES_VICP2_Handle vicpHandle, VICPSYNC_ResourceType res)
This is the top level function that allows the ARM-side algorithms to wait for interrupt corresponding to the functional unit of the VICP to fire.
Bool | VICPSYNC_done (IRES_VICP2_Handle vicpHandle, VICPSYNC_ResourceType res)
This is the top level function that allows the ARM-side algorithms to query the status of the interrupt corresponding to the functional unit that was configured using VICPSYNC_start call.
VICPSYNC_Status | VICPSYNC_unregister (IRES_VICP2_Handle vicpHandle, VICPSYNC_ResourceType res)
This is the top level function that allows the ARM-side algorithms to unregister the ISR associated with the VICP resource that may have been previously registered via a call to VICPSYNC_start.

Variables

VICPSYNC_Params VICPSYNC_PARAMS
Default module configuration structure (defined in vicpsync.c).


Framework Components: xdas.h File Reference

  • File List
  • Globals
fctools » packages » ti » xdais

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: Directory Hierarchy

Directories

This directory hierarchy is sorted roughly, but not completely, alphabetically:
  • fctools
    • packages
      • ti
        • xdais
  • packages
    • ti
      • sdo
        • fc
          • acpy3
          • dman3
          • dskt2
          • hdintc
          • hdvicpsync
          • ires
            • addrspace
            • edma3chan
            • hdvicp
            • memtcm
            • sdma
            • shmbuf
            • vicp
          • memutils
          • rman
          • scpy
          • utils
          • vicpsync
        • utils
          • trace


Framework Components: fctools/ Directory Reference

fctools

fctools Directory Reference

Directories

directory packages


Framework Components: fctools/packages/ Directory Reference

fctools » packages

packages Directory Reference

Directories

directory ti


Framework Components: fctools/packages/ti/ Directory Reference

fctools » packages » ti

ti Directory Reference

Directories

directory xdais


Framework Components: fctools/packages/ti/xdais/ Directory Reference

fctools » packages » ti » xdais

xdais Directory Reference

Files

file | ialg.h [code]

This header defines all types, constants, and functions defined by XDAIS for algorithms.

file | idma3.h [code]

IDMA3 Interface Definitions (C64P) - Allows algorithms to request and receive handles representing private logical DMA resources.

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: packages/ Directory Reference

packages

packages Directory Reference

Directories

directory ti


Framework Components: packages/ti/ Directory Reference

packages » ti

ti Directory Reference

Directories

directory sdo


Framework Components: packages/ti/sdo/ Directory Reference

packages » ti » sdo

sdo Directory Reference

Directories

directory | fc
directory | utils


Framework Components: packages/ti/sdo/fc/ Directory Reference

packages » ti » sdo » fc

fc Directory Reference

Directories

directory | acpy3
directory | dman3
directory | dskt2
directory | hdintc
directory | hdvicpsync
directory | ires
directory | memutils
directory | rman
directory | scpy
directory | utils
directory | vicpsync


Framework Components: packages/ti/sdo/fc/acpy3/ Directory Reference

packages » ti » sdo » fc » acpy3

acpy3 Directory Reference

Files

file | acpy3.h [code]

ACPY3 Definitions (C64P) - 3rd Generation ACPY. Provides a comprehensive list of DMA operations an algorithm can perform on logical DMA channels it acquires through the IDMA3 protocol.

file | acpy3_instr.h [code]

ACPY3 Instrumentation API definitions.


Framework Components: packages/ti/sdo/fc/dman3/ Directory Reference

packages » ti » sdo » fc » dman3

dman3 Directory Reference

Files

file dman3.h [code]

DMAN3 Interface Definitions - 3rd Generation DMA Manager. Application interface to the DMA Manager. Grants DMA resources to xDAIS algorithms.


Framework Components: packages/ti/sdo/fc/dskt2/ Directory Reference

packages » ti » sdo » fc » dskt2

dskt2 Directory Reference

Files

file | dskt2.h [code]

Provides services to support XDAIS algorithm instance objects.

file | dskt2_qos.h [code]


Framework Components: packages/ti/sdo/fc/hdintc/ Directory Reference

packages » ti » sdo » fc » hdintc

hdintc Directory Reference

Files

file hdintc.h [code]

HDINTC Interface Definitions - Application interface to the Interrupt Registry Manager. Registers non-BIOS, non-dispatched interrupt service handlers to register and synchronize with HDVICP interrupts.


Framework Components: packages/ti/sdo/fc/hdvicpsync/ Directory Reference

packages » ti » sdo » fc » hdvicpsync

hdvicpsync Directory Reference

Files

file hdvicpsync.h [code]

HDVICPSYNC Interface Definitions - Framework support package for synchronization between codec and HDVICP coprocessor usage.


Framework Components: packages/ti/sdo/fc/ires/ Directory Reference

packages » ti » sdo » fc » ires

ires Directory Reference

Directories

directory | addrspace
directory | edma3chan
directory | hdvicp
directory | memtcm
directory | sdma
directory | shmbuf
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: packages/ti/sdo/fc/ires/addrspace/ Directory Reference

packages » ti » sdo » fc » ires » addrspace

addrspace Directory Reference

Files

file | ires_addrspace.h [code]

IRES PROTOCOL ADDRSPACE Interface Definitions - Allows algorithms to request and receive handles that allow an OS agnostic way of accessing hardware address spaces.

file | iresman_addrspace.h [code]

IRESMAN.


Framework Components: packages/ti/sdo/fc/ires/edma3chan/ Directory Reference

packages » ti » sdo » fc » ires » edma3chan

edma3chan Directory Reference

Files

file | ires_edma3Chan.h [code]
file | iresman_edma3Chan.h [code]


Framework Components: packages/ti/sdo/fc/ires/hdvicp/ Directory Reference

packages » ti » sdo » fc » ires » hdvicp

hdvicp Directory Reference

Files

file | ires_hdvicp.h [code]

IRES PROTOCOL HDVICP Interface Definitions - Allows algorithms to request and receive handles representing the HDVICP resource.

file | iresman_hdvicp.h [code]

IRESMAN.


Framework Components: packages/ti/sdo/fc/ires/memtcm/ Directory Reference

packages » ti » sdo » fc » ires » memtcm

memtcm Directory Reference

Files

file | ires_memtcm.h [code]

IRES PROTOCOL MEMTCM Interface Definitions (C64P) - Allows algorithms to request and receive handles representing (CMEM alloc-ed) ARM TCM memory on the DM365.

file | iresman_memtcm.h [code]

Resource manager for managing memory allocated via CMEM on parts running Linux OS.


Framework Components: packages/ti/sdo/fc/ires/sdma/ Directory Reference

packages » ti » sdo » fc » ires » sdma

sdma Directory Reference

Files

file | ires_sdma.h [code]

IRES PROTOCOL SDMA Interface Definitions (C64P) - Allows algorithms to request and receive handles representing the SDMA resource.

file | iresman_sdma.h [code]

IRESMAN SDMA specific Resource Manager Definitions - SDMA specific resource manager implementation.


Framework Components: packages/ti/sdo/fc/ires/shmbuf/ Directory Reference

packages » ti » sdo » fc » ires » shmbuf

shmbuf Directory Reference

Files

file shmbuf.h [code]

Linux shared memory buffer resource. This is another simple example of a resource manager that implements IRES and IRESMAN interfaces. This resource manager manages a single buffer that can be used by algorithms in different processes. An algorithm can request a chunk of memory with a specified length and alignment, within this buffer.


Framework Components: packages/ti/sdo/fc/ires/vicp/ Directory Reference

packages » ti » sdo » fc » ires » vicp

vicp Directory Reference

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 VICP 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: packages/ti/sdo/fc/memutils/ Directory Reference

packages » ti » sdo » fc » memutils

memutils Directory Reference

Files

file memutils.h [code]

MEMUTILS Interface Definitions - Memory and Cache related APIs.


Framework Components: packages/ti/sdo/fc/rman/ Directory Reference

packages » ti » sdo » fc » rman

rman Directory Reference

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: packages/ti/sdo/fc/scpy/ Directory Reference

packages » ti » sdo » fc » scpy

scpy Directory Reference

Files

file scpy.h [code]

SCPY Module interface Definitions (C64P) - Allows algorithms submit and sychronize with SDMA transfers.


Framework Components: packages/ti/sdo/fc/utils/ Directory Reference

packages » ti » sdo » fc » utils

utils Directory Reference

Files

file | dbc.h [code]

Design By Contract Definitions - Provides basic Design By Contract support, including asserts, preconditions, and postconditions.

file | dbg.h [code]


Framework Components: packages/ti/sdo/fc/vicpsync/ Directory Reference

packages » ti » sdo » fc » vicpsync

vicpsync Directory Reference

Files

file vicpsync.h [code]

VICPSYNC Interface Definitions - Framework support package for synchronization between codec and VICP usage. This package allows algorithms to wait on interrupt completion of individual functional units of the VICP * coprocessor.


Framework Components: packages/ti/sdo/utils/ Directory Reference

packages » ti » sdo » utils

utils Directory Reference

Directories

directory trace


Framework Components: packages/ti/sdo/utils/trace/ Directory Reference

packages » ti » sdo » utils » trace

trace Directory Reference

Files

file gt.h [code]

The "Generic Tracing" module. Provides producers of content the ability to, in a runtime-independant way, add tracing. Also provides consumers of trace-enabled content the mechanisms necessary to enable/disable the various trace statements.


Framework Components: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • a
  • d
  • e
  • g
  • 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:

- _ -

  • _GT_create() : gt.h
  • _GT_set() : gt.h
  • _GT_trace() : gt.h
  • _RMAN_allocPersistent : iresman_addrspace.h , iresman_sdma.h , iresman_vicp.h , iresman_edma3Chan.h , iresman_vicp2.h , iresman_hdvicp.h , iresman_memtcm.h
  • _RMAN_freePersistent : iresman_vicp2.h , iresman_hdvicp.h , iresman_vicp.h , iresman_edma3Chan.h , iresman_memtcm.h , iresman_sdma.h , iresman_addrspace.h


Framework Components: acpy3.h Source File

  • File List
  • Globals
packages » ti » sdo » fc » acpy3

acpy3.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2010, 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  */
00054 #ifndef _ACPY3_
00055 #define _ACPY3_
00056
00057
00058 #ifdef __cplusplus
00059 extern "C" {
00060 #endif
00061
00064
00065 #include <ti/xdais/idma3.h>
00066
00067 #define ACPY3_GTNAME "ti.sdo.fc.acpy3"
00068
00069
00075 typedef enum ACPY3_ParamField16b {
00076
00077     ACPY3_PARAMFIELD_ELEMENTSIZE =  8,
00078     ACPY3_PARAMFIELD_NUMELEMENTS = 10 ,
00079     ACPY3_PARAMFIELD_ELEMENTINDEX_SRC = 16,
00080     ACPY3_PARAMFIELD_ELEMENTINDEX_DST = 18,
00081     ACPY3_PARAMFIELD_FRAMEINDEX_SRC =  24,
00082     ACPY3_PARAMFIELD_FRAMEINDEX_DST =  26,
00083     ACPY3_PARAMFIELD_NUMFRAMES = 28
00084
00085 } ACPY3_ParamField16b;
00086
00092 typedef enum ACPY3_ParamField32b {
00093
00094     ACPY3_PARAMFIELD_SRCADDR = 4,
00095     ACPY3_PARAMFIELD_DSTADDR = 12,
00096     ACPY3_PARAMFIELD_ELEMENTINDEXES = 16,
00097     ACPY3_PARAMFIELD_FRAMEINDEXES = 24
00098
00099 } ACPY3_ParamField32b;
00100
00111 typedef enum ACPY3_TransferType {
00112
00118     ACPY3_1D1D,
00119
00133     ACPY3_1D2D,
00134
00146     ACPY3_2D1D,
00147
00159     ACPY3_2D2D
00160 } ACPY3_TransferType;
00161
00162
00167 typedef struct ACPY3_Params {
00168
00170     ACPY3_TransferType transferType;
00171
00173     Void *         srcAddr;
00174
00176     Void *         dstAddr;
00177
00179     unsigned short elementSize;
00180
00182     unsigned short numElements;
00183
00185     unsigned short numFrames ;
00186
00191     short srcElementIndex;
00192
00197     short dstElementIndex;
00198
00204     short srcFrameIndex;
00205
00211     short dstFrameIndex;
00212
00222     short waitId;
00223
00224 } ACPY3_Params;
00225
00226
00227 extern IDMA3_ProtocolObj ACPY3_PROTOCOL;
00228
00251 Void ACPY3_configure(IDMA3_Handle handle, ACPY3_Params *params,
00252     short transferNo);
00253
00254
00292 #if defined(ACPY3_FASTCONFIGURE16B_INLINE) || defined(ACPY3_INLINE_ALL)
00293 #include <ti/sdo/fc/acpy3/acpy3_fastconfigure16b.h>
00294 #else
00295 Void ACPY3_fastConfigure16b(IDMA3_Handle handle, ACPY3_ParamField16b fieldId,
00296     unsigned short value, short transferNo);
00297 #endif
00298
00338 #if defined(ACPY3_FASTCONFIGURE32B_INLINE) || defined(ACPY3_INLINE_ALL)
00339 #include <ti/sdo/fc/acpy3/acpy3_fastconfigure32b.h>
00340 #else
00341 Void ACPY3_fastConfigure32b(IDMA3_Handle handle, ACPY3_ParamField32b fieldId,
00342     Uns value, short transferNo);
00343 #endif
00344
00386 #if defined(ACPY3_SETFINAL_INLINE) || defined(ACPY3_INLINE_ALL)
00387 #include <ti/sdo/fc/acpy3/acpy3_setfinal.h>
00388 #else
00389 Void ACPY3_setFinal(IDMA3_Handle handle, short transferNo);
00390 #endif
00391
00435 #if defined(ACPY3_FASTSETFINAL_INLINE) || defined(ACPY3_INLINE_ALL)
00436 #include <ti/sdo/fc/acpy3/acpy3_fastsetfinal.h>
00437 #else
00438 Void ACPY3_fastSetFinal(IDMA3_Handle handle, short transferNo);
00439 #endif
00440
00486 #if defined(ACPY3_START_INLINE) || defined(ACPY3_INLINE_ALL)
00487 #include <ti/sdo/fc/acpy3/acpy3_start.h>
00488 #else
00489 Void ACPY3_start(IDMA3_Handle handle);
00490 #endif
00491
00492
00519 #if defined(ACPY3_WAIT_INLINE) || defined(ACPY3_INLINE_ALL)
00520 #include <ti/sdo/fc/acpy3/acpy3_wait.h>
00521 #else
00522 Void ACPY3_wait(IDMA3_Handle handle);
00523 #endif
00524
00525
00544 Void ACPY3_waitLinked(IDMA3_Handle handle, unsigned short waitId);
00545
00546
00577 #if defined(ACPY3_COMPLETE_INLINE) || defined(ACPY3_INLINE_ALL)
00578 #include <ti/sdo/fc/acpy3/acpy3_complete.h>
00579 #else
00580 Bool ACPY3_complete(IDMA3_Handle handle);
00581 #endif
00582
00583
00611 Bool ACPY3_completeLinked(IDMA3_Handle handle, unsigned short waitId);
00612
00613
00629 Void ACPY3_activate(IDMA3_Handle handle);
00630
00631
00646 Void ACPY3_deactivate(IDMA3_Handle handle);
00647
00648
00652 Void ACPY3_init(Void);
00653
00657 Void ACPY3_exit(Void);
00658
00659
00662 #ifdef __cplusplus
00663 }
00664 #endif /* extern "C" */
00665
00666
00667 #endif /* _ACPY3_ */
00668
00669 /*
00670  *  @(#) ti.sdo.fc.acpy3; 1, 0, 4,301; 12-1-2010 17:24:24; /db/atree/library/trees/fc/fc-p01x/src/ xlibrary
00671
00672  */
00673


Framework Components: acpy3_instr.h Source File

  • File List
  • Globals
packages » ti » sdo » fc » acpy3

acpy3_instr.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2010, 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  */
00042 #ifndef ti_sdo_fc_acpy_ACPY3_INSTR_
00043 #define ti_sdo_fc_acpy_ACPY3_INSTR_
00044
00047
00048 #include <ti/xdais/idma3.h>
00049
00050
00052 #ifndef _ACPY3_INSTR_
00053     #define ACPY3_INSTR_CALLHOOKFXN(hooks, handle,hookId)
00054 #else
00055     #define ACPY3_INSTR_CALLHOOKFXN(hooks, handle, hookId)\
00056         if(NULL != hooks)\
00057         {\
00058             if (NULL!= hooks->InstrHooks[hookId].fxn)\
00059             {\
00060                 hooks->InstrHooks[hookId].fxn(handle, hooks->\
00061                     InstrHooks[hookId].args);\
00062             }\
00063         }
00064 #endif /* _ACPY3_INSTR_ */
00065
00071 #define ACPY3_INSTR_NUMHOOKS 4
00072 #define ACPY3_INSTR_NUMEXTENDEDHOOKS 22
00073
00074
00078 typedef enum ACPY3_INSTR_HookType {
00079     ACPY3_INSTR_START_ENTER = 0,
00080     ACPY3_INSTR_START_EXIT,
00081     ACPY3_INSTR_WAIT_ENTER,
00082     ACPY3_INSTR_WAIT_EXIT
00083 } ACPY3_INSTR_HookType;
00084
00085
00089 typedef enum ACPY3_INSTR_ExtendedHookType {
00090     ACPY3_INSTR_WAITLINKED_ENTER,
00091     ACPY3_INSTR_WAITLINKED_EXIT,
00092     ACPY3_INSTR_ACTIVATE_ENTER,
00093     ACPY3_INSTR_ACTIVATE_EXIT,
00094     ACPY3_INSTR_DEACTIVATE_ENTER,
00095     ACPY3_INSTR_DEACTIVATE_EXIT,
00096     ACPY3_INSTR_COMPLETE_ENTER,
00097     ACPY3_INSTR_COMPLETE_EXIT,
00098     ACPY3_INSTR_COMPLETELINKED_ENTER,
00099     ACPY3_INSTR_COMPLETELINKED_EXIT,
00100     ACPY3_INSTR_CONFIGURE_ENTER,
00101     ACPY3_INSTR_CONFIGURE_EXIT,
00102     ACPY3_INSTR_FASTCONFIGURE16_ENTER,
00103     ACPY3_INSTR_FASTCONFIGURE16_EXIT,
00104     ACPY3_INSTR_FASTCONFIGURE32_ENTER,
00105     ACPY3_INSTR_FASTCONFIGURE32_EXIT,
00106     ACPY3_INSTR_SETFINAL_ENTER,
00107     ACPY3_INSTR_SETFINAL_EXIT,
00108     ACPY3_INSTR_SETFASTFINAL_ENTER,
00109     ACPY3_INSTR_SETFASTFINAL_EXIT,
00110     ACPY3_INSTR_INIT_ENTER,
00111     ACPY3_INSTR_INIT_EXIT,
00112     ACPY3_INSTR_EXIT_ENTER,
00113     ACPY3_INSTR_EXIT_EXIT
00114 } ACPY3_INSTR_ExtendedHookType;
00115
00116
00120 typedef void (*ACPY3_INSTR_HookFxn)(IDMA3_Handle handle, void *param);
00121
00122
00127 typedef struct ACPY3_INSTR_Hook {
00128     ACPY3_INSTR_HookFxn fxn;
00129     void * args;
00130 } ACPY3_INSTR_Hook;
00131
00132
00137 typedef struct ACPY3_INSTR_Hooks {
00138     ACPY3_INSTR_Hook InstrHooks[ACPY3_INSTR_NUMHOOKS];
00139 } ACPY3_INSTR_Hooks;
00140
00141
00146 typedef struct ACPY3_INSTR_ExtendedHooks {
00147     ACPY3_INSTR_Hook InstrHooks[ACPY3_INSTR_NUMEXTENDEDHOOKS];
00148 } ACPY3_INSTR_ExtendedHooks;
00149
00150
00158 Void ACPY3_INSTR_registerHooks(IDMA3_Handle handle, ACPY3_INSTR_Hooks * hooks,
00159     ACPY3_INSTR_ExtendedHooks  * extended_hooks);
00160
00161
00167 Void ACPY3_INSTR_unregisterHooks(IDMA3_Handle handle);
00168
00171 #endif /* ti_sdo_fc_acpy_ACPY3_INSTR_ */
00172 /*
00173  *  @(#) ti.sdo.fc.acpy3; 1, 0, 4,301; 12-1-2010 17:24:25; /db/atree/library/trees/fc/fc-p01x/src/ xlibrary
00174
00175  */
00176


Framework Components: Alphabetical List

  • Data Structures
  • Data Structure Index
  • Data Fields

Data Structure Index

A | D | G | H | I | R | S | V
A
IALG_Params IRES_Fxns IRES_VICP2_Buffers IRESMAN_Params
ACPY3_INSTR_ExtendedHooks IALG_Status IRES_HDVICP_Obj IRES_VICP2_Obj IRESMAN_SdmaParams
ACPY3_INSTR_Hook IDMA3_ChannelRec IRES_HDVICP_Properties IRES_VICP2_Properties IRESMAN_VicpParams
ACPY3_INSTR_Hooks IDMA3_Fxns IRES_HDVICP_ProtocolArgs IRES_VICP2_ProtocolArgs
R
ACPY3_Params IDMA3_MemRec IRES_HDVICP_RegisterLayer IRES_VICP_Obj RMAN_Params
D
IDMA3_Obj IRES_MEMTCM_Obj IRES_VICP_Properties RMAN_YieldArgs
DMAN3_Params IDMA3_ProtocolObj IRES_MEMTCM_Properties IRES_VICP_ProtocolArgs
S
G
IRES_ADDRSPACE_Obj IRES_MEMTCM_ProtocolArgs IRES_VICP_Registers SCPY_AddrParams
GT_Mask IRES_ADDRSPACE_Properties IRES_Obj IRES_YieldContext SCPY_Params
H
IRES_ADDRSPACE_ProtocolArgs IRES_Properties IRESMAN_AddrSpaceParams SCPY_TransferParams
HDINTC_Params IRES_EDMA3CHAN_EDMA3DraeRegister IRES_ProtocolArgs IRESMAN_ConstructArgs SHMBUF_Args
hdvicpAppHandle IRES_EDMA3CHAN_EDMA3RegisterLayer IRES_ProtocolRevision IRESMAN_ConstructFxns SHMBUF_Obj
HDVICPSYNC_Params IRES_EDMA3CHAN_EDMA3ShadowRegister IRES_ResourceDescriptor IRESMAN_Edma3ChanParams SHMBUF_Params
I
IRES_EDMA3CHAN_Obj IRES_SDMA_Obj IRESMAN_Fxns SHMBUF_Props
IALG_Fxns IRES_EDMA3CHAN_PaRamStruct IRES_SDMA_Properties IRESMAN_HdVicpParams
V


Framework Components: dbc.h Source File

  • File List
  • Globals
packages » ti » sdo » fc » utils

dbc.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2010, 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  */
00054 #ifndef _DBC_
00055 #define _DBC_
00056
00057
00060
00061
00062 #ifdef __cplusplus
00063 extern "C" {
00064 #endif
00065
00066
00067 /* DBC_ASSERTS is intended to be set to 1 in debug builds */
00068 #if DBC_ASSERTS
00069 #include <sys.h>
00070 #define DBC_assert(c) if (!(c)) { \
00071         SYS_abort("Assertion Failed: file=%s, line=%d.\n", __FILE__, \
00072         __LINE__); }
00074 #define DBC_require DBC_assert
00075 #define DBC_ensure  DBC_assert
00077 #else
00078
00079 #define DBC_assert(c)
00080 #define DBC_require(c)
00081 #define DBC_ensure(c)
00083 #endif
00084
00085
00086 #ifdef __cplusplus
00087 }
00088 #endif /* extern "C" */
00089
00090  /* ingroup DSPDBC */
00092
00093
00094 #endif /* _DBC_ */
00095
00096 /*
00097  *  @(#) ti.sdo.fc.utils; 1, 0, 2,286; 12-1-2010 17:26:08; /db/atree/library/trees/fc/fc-p01x/src/ xlibrary
00098
00099  */
00100


Framework Components: dbg.h Source File

  • File List
  • Globals
packages » ti » sdo » fc » utils

dbg.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2010, 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  *  ======== dbg.h ========
00035  *
00036  *  DSP-side debug support.
00037  *
00038  */
00039
00040 #ifndef _DBGSUPPORT_
00041 #define _DBGSUPPORT_
00042
00043
00044 #ifdef _DBG_                    /* set when 'dbg' macro used in MAKE file */
00045
00046 #ifdef _DBG_WITH_SYS_
00047 #include <sys.h>
00048 #define TRACE 0 /* unused with _DBG_WITH_SYS, but necessary */
00049
00050 #define DBG_printf0(a,b) SYS_printf(b)
00051 #define DBG_printf1(a,b,c) SYS_printf(b,c)
00052 #define DBG_printf2(a,b,c,d) SYS_printf(b,c,d)
00053
00054 #elif defined(_DBG_WITH_GT_)
00055
00056 #include <ti/sdo/fc/utils/trace/gt.h>
00057 extern GT_Mask ti_sdo_fc_GTMask;
00058
00059 #define DBG_printf0(a,b) GT_0trace(ti_sdo_fc_GTMask, GT_ENTER, b "\n")
00060 #define DBG_printf1(a,b,c) GT_1trace(ti_sdo_fc_GTMask, GT_ENTER, b "\n", c)
00061 #define DBG_printf2(a,b,c,d) GT_2trace(ti_sdo_fc_GTMask, GT_ENTER, b "\n", c, d)
00062
00063 #else
00064
00065 #include <log.h>
00066 #define TRACE &bridge
00067 extern LOG_Obj bridge;
00068 #define DBG_printf0(a,b) LOG_printf(a,b)
00069 #define DBG_printf1(a,b,c) LOG_printf(a,b,c)
00070 #define DBG_printf2(a,b,c,d) LOG_printf(a,b,c,d)
00071
00072 #endif
00073
00074 #else /* !_DBG_ */
00075
00076 #define DBG_printf0(a,b)
00077 #define DBG_printf1(a,b,c)
00078 #define DBG_printf2(a,b,c,d)
00079
00080 #endif
00081
00082
00083 #endif /* _DBGSUPPORT_ */
00084
00085 /*
00086  *  @(#) ti.sdo.fc.utils; 1, 0, 2,286; 12-1-2010 17:26:08; /db/atree/library/trees/fc/fc-p01x/src/ xlibrary
00087
00088  */
00089


Framework Components: packages/ti/ -> fctools Relation

packages » ti

ti → fctools Relation

File in packages » ti | Includes file in fctools
sdo / fc / acpy3 / acpy3.h | packages / ti / xdais / idma3.h
sdo / fc / acpy3 / acpy3_instr.h | packages / ti / xdais / idma3.h
sdo / fc / dman3 / dman3.h | packages / ti / xdais / ialg.h
sdo / fc / dman3 / dman3.h | packages / ti / xdais / idma3.h
sdo / fc / dskt2 / dskt2.h | packages / ti / xdais / ialg.h
sdo / fc / hdintc / hdintc.h | packages / ti / xdais / ialg.h
sdo / fc / hdintc / hdintc.h | packages / ti / xdais / xdas.h
sdo / fc / hdvicpsync / hdvicpsync.h | packages / ti / xdais / ialg.h
sdo / fc / ires / addrspace / ires_addrspace.h | packages / ti / xdais / ires.h
sdo / fc / ires / edma3chan / ires_edma3Chan.h | packages / ti / xdais / ires.h
sdo / fc / ires / hdvicp / ires_hdvicp.h | packages / ti / xdais / ires.h
sdo / fc / ires / memtcm / ires_memtcm.h | packages / ti / xdais / ires.h
sdo / fc / ires / sdma / ires_sdma.h | packages / ti / xdais / ires.h
sdo / fc / ires / vicp / ires_vicp.h | packages / ti / xdais / ires.h
sdo / fc / ires / vicp / ires_vicp2.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
sdo / fc / ires / shmbuf / shmbuf.h | packages / ti / xdais / ires_common.h
sdo / fc / vicpsync / vicpsync.h | packages / ti / xdais / ialg.h


Framework Components: packages/ti/sdo/ -> fctools Relation

packages » ti » sdo

sdo → fctools Relation

File in packages » ti » sdo | Includes file in fctools
fc / acpy3 / acpy3.h | packages / ti / xdais / idma3.h
fc / acpy3 / acpy3_instr.h | packages / ti / xdais / idma3.h
fc / dman3 / dman3.h | packages / ti / xdais / ialg.h
fc / dman3 / dman3.h | packages / ti / xdais / idma3.h
fc / dskt2 / dskt2.h | packages / ti / xdais / ialg.h
fc / hdintc / hdintc.h | packages / ti / xdais / ialg.h
fc / hdintc / hdintc.h | packages / ti / xdais / xdas.h
fc / hdvicpsync / hdvicpsync.h | packages / ti / xdais / ialg.h
fc / ires / addrspace / ires_addrspace.h | packages / ti / xdais / ires.h
fc / ires / edma3chan / ires_edma3Chan.h | packages / ti / xdais / ires.h
fc / ires / hdvicp / ires_hdvicp.h | packages / ti / xdais / ires.h
fc / ires / memtcm / ires_memtcm.h | packages / ti / xdais / ires.h
fc / ires / sdma / ires_sdma.h | packages / ti / xdais / ires.h
fc / ires / vicp / ires_vicp.h | packages / ti / xdais / ires.h
fc / ires / vicp / ires_vicp2.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
fc / ires / shmbuf / shmbuf.h | packages / ti / xdais / ires_common.h
fc / vicpsync / vicpsync.h | packages / ti / xdais / ialg.h


Framework Components: packages/ti/sdo/fc/ -> fctools Relation

packages » ti » sdo » fc

fc → fctools Relation

File in packages » ti » sdo » fc | Includes file in fctools
acpy3 / acpy3.h | packages / ti / xdais / idma3.h
acpy3 / acpy3_instr.h | packages / ti / xdais / idma3.h
dman3 / dman3.h | packages / ti / xdais / ialg.h
dman3 / dman3.h | packages / ti / xdais / idma3.h
dskt2 / dskt2.h | packages / ti / xdais / ialg.h
hdintc / hdintc.h | packages / ti / xdais / ialg.h
hdintc / hdintc.h | packages / ti / xdais / xdas.h
hdvicpsync / hdvicpsync.h | packages / ti / xdais / ialg.h
ires / addrspace / ires_addrspace.h | packages / ti / xdais / ires.h
ires / edma3chan / ires_edma3Chan.h | packages / ti / xdais / ires.h
ires / hdvicp / ires_hdvicp.h | packages / ti / xdais / ires.h
ires / memtcm / ires_memtcm.h | packages / ti / xdais / ires.h
ires / sdma / ires_sdma.h | packages / ti / xdais / ires.h
ires / vicp / ires_vicp.h | packages / ti / xdais / ires.h
ires / vicp / ires_vicp2.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
ires / shmbuf / shmbuf.h | packages / ti / xdais / ires_common.h
vicpsync / vicpsync.h | packages / ti / xdais / ialg.h


Framework Components: packages/ti/sdo/fc/acpy3/ -> fctools Relation

packages » ti » sdo » fc » acpy3

acpy3 → fctools Relation

File in packages » ti » sdo » fc » acpy3 Includes file in fctools


Framework Components: packages/ti/sdo/fc/dman3/ -> fctools Relation

packages » ti » sdo » fc » dman3

dman3 → fctools Relation

File in packages » ti » sdo » fc » dman3 Includes file in fctools


Framework Components: 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: packages/ti/sdo/fc/hdintc/ -> fctools Relation

packages » ti » sdo » fc » hdintc

hdintc → fctools Relation

File in packages » ti » sdo » fc » hdintc Includes file in fctools


Framework Components: packages/ti/sdo/fc/hdvicpsync/ -> fctools Relation

packages » ti » sdo » fc » hdvicpsync

hdvicpsync → fctools Relation

File in packages » ti » sdo » fc » hdvicpsync Includes file in fctools


Framework Components: packages/ti/sdo/fc/hdvicpsync/ -> ires Relation

packages » ti » sdo » fc » hdvicpsync

hdvicpsync → ires Relation

File in packages » ti » sdo » fc » hdvicpsync Includes file in packages » ti » sdo » fc » ires


Framework Components: 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
addrspace / ires_addrspace.h | packages / ti / xdais / ires.h
edma3chan / ires_edma3Chan.h | packages / ti / xdais / ires.h
hdvicp / ires_hdvicp.h | packages / ti / xdais / ires.h
memtcm / ires_memtcm.h | packages / ti / xdais / ires.h
sdma / ires_sdma.h | packages / ti / xdais / ires.h
vicp / ires_vicp.h | packages / ti / xdais / ires.h
vicp / ires_vicp2.h | packages / ti / xdais / ires.h
iresman.h | packages / ti / xdais / ires_common.h
iresman_protocol.h | packages / ti / xdais / ires_common.h
shmbuf / shmbuf.h | packages / ti / xdais / ires_common.h


Framework Components: packages/ti/sdo/fc/ires/addrspace/ -> fctools Relation

packages » ti » sdo » fc » ires » addrspace

addrspace → fctools Relation

File in packages » ti » sdo » fc » ires » addrspace Includes file in fctools


Framework Components: 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: 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


Framework Components: packages/ti/sdo/fc/ires/memtcm/ -> fctools Relation

packages » ti » sdo » fc » ires » memtcm

memtcm → fctools Relation

File in packages » ti » sdo » fc » ires » memtcm Includes file in fctools


Framework Components: packages/ti/sdo/fc/ires/sdma/ -> fctools Relation

packages » ti » sdo » fc » ires » sdma

sdma → fctools Relation

File in packages » ti » sdo » fc » ires » sdma Includes file in fctools


Framework Components: 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: 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: 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: packages/ti/sdo/fc/scpy/ -> ires Relation

packages » ti » sdo » fc » scpy

scpy → ires Relation

File in packages » ti » sdo » fc » scpy Includes file in packages » ti » sdo » fc » ires


Framework Components: packages/ti/sdo/fc/ires/shmbuf/ -> fctools Relation

packages » ti » sdo » fc » ires » shmbuf

shmbuf → fctools Relation

File in packages » ti » sdo » fc » ires » shmbuf Includes file in fctools


Framework Components: packages/ti/sdo/fc/vicpsync/ -> fctools Relation

packages » ti » sdo » fc » vicpsync

vicpsync → fctools Relation

File in packages » ti » sdo » fc » vicpsync Includes file in fctools


Framework Components: packages/ti/sdo/fc/vicpsync/ -> ires Relation

packages » ti » sdo » fc » vicpsync

vicpsync → ires Relation

File in packages » ti » sdo » fc » vicpsync Includes file in packages » ti » sdo » fc » ires


Framework Components: disclaimer.dox File Reference

  • File List
  • Globals

disclaimer.dox File Reference

Copyright 2010, Texas Instruments Incorporated


Framework Components: dman3.h Source File

  • File List
  • Globals
packages » ti » sdo » fc » dman3

dman3.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2010, 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  */
00054 #ifndef ti_sdo_fc_dman3_DMAN3_
00055 #define ti_sdo_fc_dman3_DMAN3_
00056
00059
00060
00061 #ifdef __cplusplus
00062 extern "C" {
00063 #endif
00064
00065 #include <ti/xdais/ialg.h>
00066 #include <ti/xdais/idma3.h>
00067
00068 #define DMAN3_GTNAME "ti.sdo.fc.dman3"
00070 #define DMAN3_MAXGROUPS      20
00078 #define DMAN3_SOK             0
00079 #define DMAN3_EOUTOFMEMORY   -1
00082 #define DMAN3_EFAIL          -2
00083 #define DMAN3_EFREE          -3
00085 #define DMAN3_EOUTOFTCCS     -4
00088 #define DMAN3_EOUTOFPARAMS   -5
00091 #define DMAN3_ETCCCONFIG     -6
00097 #define DMAN3_EPARAMCONFIG   -7
00104
00105
00114 typedef Bool (*DMAN3_ScratchAllocFxn)(IALG_Handle alg, Int mutexId,
00115         IALG_MemRec *memTab, Int numRecs);
00116
00122 typedef Void (*DMAN3_ScratchFreeFxn)(Int mutexId, Void *addr, Uns size);
00123
00124
00135 typedef struct DMAN3_Params {
00142     Uns    *qdmaPaRamBase;
00143
00150     Uns     maxPaRamEntries;
00151
00161     Uns     paRamBaseIndex;
00162
00170     Uns     numPaRamEntries;
00171
00178     Uns     maxQdmaChannels;
00179
00186     Uns     numQdmaChannels;
00187
00195     Uns    *qdmaChannels;
00196
00210     Uns     tccAllocationMaskH;
00211
00225     Uns     tccAllocationMaskL;
00226
00237     Int heapInternal;
00238
00250     Int heapExternal;
00251
00260     unsigned char numTccGroup[DMAN3_MAXGROUPS];
00270     unsigned short numPaRamGroup[DMAN3_MAXGROUPS];
00281     Bool          idma3Internal;
00282
00295     DMAN3_ScratchAllocFxn scratchAllocFxn;
00296
00308     DMAN3_ScratchFreeFxn scratchFreeFxn;
00309
00316     Uns nullPaRamIndex;
00317
00322     Uns     maxTCs;
00323
00331     Uns   *qdmaQueueMap;
00332
00337     Uns   *queueTCMap;
00338
00343     Uns   *queuePri;
00344
00372     Bool allowUnshared;
00373 } DMAN3_Params;
00374
00375
00379 extern DMAN3_Params DMAN3_PARAMS;
00380
00385 extern Uns ti_sdo_fc_dman3_DMAN3_numQdmaGroup[DMAN3_MAXGROUPS + 1];
00386
00387
00431 extern Int DMAN3_grantDmaChannels(Int groupId, IALG_Handle algHandle[],
00432         IDMA3_Fxns *dmaFxns[], Int numAlgs);
00433
00437 extern Void DMAN3_exit(Void);
00438
00480 extern Int DMAN3_createChannels(Int groupId, IDMA3_ChannelRec dmaTab[],
00481         Int numChans);
00482
00483
00491 extern Void DMAN3_init(Void);
00492
00493
00515 extern Int  DMAN3_releaseDmaChannels(IALG_Handle algHandle[],
00516     IDMA3_Fxns *dmaFxns[], Int numAlgs);
00517
00518
00534 extern Int DMAN3_freeChannels(IDMA3_Handle channelTab[], Int numChans);
00535
00536
00537 #ifdef __cplusplus
00538 }
00539 #endif /* extern "C" */
00540
00541
00544 #endif
00545 /*
00546  *  @(#) ti.sdo.fc.dman3; 1, 0, 4,300; 12-1-2010 17:24:25; /db/atree/library/trees/fc/fc-p01x/src/ xlibrary
00547
00548  */
00549


Framework Components: doxygen.txt File Reference

  • File List
  • Globals

doxygen.txt File Reference

Copyright 2010, Texas Instruments Incorporated


Framework Components: 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) 2010, 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
00059 #include <ti/xdais/ialg.h>
00060 #include <stddef.h>
00061
00062 #define DSKT2_GTNAME "ti.sdo.fc.dskt2"
00066 #define DSKT2_NUM_SCRATCH_GROUPS 20
00070 #define DSKT2_MAX_MEM_ALLOCATION_SIZE  0xFFFF
00074 /* NOTE: DO NOT Change NUM_SHAREDHEAPS*/
00075 #define DSKT2_NUM_SHAREDHEAPS 2
00076
00084 typedef Void (*DSKT2_CacheWBInvFxn)(Ptr blockPtr, size_t byteCnt, Bool wait);
00085
00149 extern Void DSKT2_activateAlg(Int scratchMutexId, IALG_Handle alg);
00150
00151
00184 extern Int DSKT2_controlAlg(IALG_Handle alg, IALG_Cmd cmd,
00185     IALG_Status *status);
00186
00187
00261 extern IALG_Handle DSKT2_createAlg(Int scratchMutexId, IALG_Fxns * fxns,
00262     IALG_Handle parent, IALG_Params * params);
00263
00264
00354 extern IALG_Handle DSKT2_createAlg2(Int scratchMutexId, IALG_Fxns * fxns,
00355     IALG_Handle parent, IALG_Params * params, Int extHeapId);
00356
00357
00429 IALG_Handle DSKT2_createAlgExt(Int scratchId, IALG_Fxns * fxns,
00430         IALG_Handle parent, IALG_Params * params);
00431
00484 extern Void DSKT2_deactivateAlg(Int scratchMutexId, IALG_Handle alg);
00485
00497 extern Int DSKT2_deactivateAll();
00498
00529 extern Bool DSKT2_freeAlg(Int scratchMutexId, IALG_Handle alg);
00530
00560 extern Bool DSKT2_allocScratch(IALG_Handle alg,Int mutexId, IALG_MemRec *memTab,
00561         Int numRecs);
00585 extern Void DSKT2_freeScratch(Int mutexId, Void *addr, Uns size);
00586
00599 extern Bool DSKT2_allocPersistent(IALG_MemRec *memTab, Int numRecs);
00600
00613 extern Void DSKT2_freePersistent(IALG_MemRec *memTab, Int numRecs);
00614
00617 #ifdef __cplusplus
00618 }
00619 #endif /* extern "C" */
00620
00621 #endif  /* DSKT2_ */
00622
00623 /*
00624  *  @(#) ti.sdo.fc.dskt2; 1, 0, 4,300; 12-1-2010 17:24:35; /db/atree/library/trees/fc/fc-p01x/src/ xlibrary
00625
00626  */
00627


Framework Components: 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) 2010, 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 typedef enum DSKT2_QOS_TI_MsgArg1Types {
00043     DSKT2_QOS_SHARED_SCRATCH_ALLHEAPS = 0x200,
00044     DSKT2_QOS_SHARED_SCRATCH_DARAM = 0x201,
00045     DSKT2_QOS_SHARED_SCRATCH_SARAM = 0x202
00046 } DSKT2_QOS_TI_MsgArg1Types;
00047
00048 typedef enum DSKT2_QOS_TI_GetSharedScratchMsgArg2   {
00049     /*
00050      * If Arg2 is NOT ALL_SCRATCHGROUPS then  the assigned value
00051      * is Scratch Group/Mutex Id
00052      */
00053     DSKT2_QOS_ALL_SCRATCHGROUPS = 0x100
00054 } DSKT2_QOS_TI_GetSharedScratchMsgArg2;
00055
00056 extern Void  DSKT2_QOS_getStat(Uns heapType, Uns mutexId,
00057         Uns *sizeSharedScratch, Uns *inHeap);
00058
00059 #endif
00060
00061 /*
00062  *  @(#) ti.sdo.fc.dskt2; 1, 0, 4,300; 12-1-2010 17:24:36; /db/atree/library/trees/fc/fc-p01x/src/ xlibrary
00063
00064  */
00065


Framework Components: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • 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:

- k -

  • key : SHMBUF_Params


Framework Components: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • 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 -

  • len : IRES_ADDRSPACE_ProtocolArgs , IRES_ADDRSPACE_Obj
  • length : SHMBUF_Props , SHMBUF_Args , SHMBUF_Obj
  • link : IRES_EDMA3CHAN_PaRamStruct


Framework Components: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • 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
  • maxPaRamEntries : DMAN3_Params
  • maxQdmaChannels : DMAN3_Params
  • maxTCs : DMAN3_Params
  • memAddr : IRES_MEMTCM_Obj
  • memoryBaseAddress : IRES_HDVICP_Obj
  • memProtectionExists : IRES_EDMA3CHAN_Properties
  • memRequestSizes : IRES_VICP2_ProtocolArgs
  • memSize : IRES_MEMTCM_ProtocolArgs , IRES_MEMTCM_Obj
  • memType : IDMA3_MemRec
  • mode : IRES_VICP2_ProtocolArgs , IRES_ProtocolArgs , IRES_EDMA3CHAN_ProtocolArgs , IRES_VICP_ProtocolArgs
  • modName : GT_Mask
  • 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: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • 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 -

  • name : IDMA3_ProtocolObj
  • nullPaRamIndex : DMAN3_Params
  • numDmaChannels : IRES_EDMA3CHAN_Properties
  • numElements : ACPY3_Params
  • numEvtQueue : IRES_EDMA3CHAN_Properties
  • numFrames : ACPY3_Params
  • numMemBufs : IRES_VICP2_Obj
  • numMemoryRequests : IRES_VICP2_ProtocolArgs
  • numPaRamEntries : DMAN3_Params
  • numPaRamGroup : DMAN3_Params
  • numPaRams : IDMA3_Obj , IRES_EDMA3CHAN_ProtocolArgs
  • numPaRAMSets : IRES_EDMA3CHAN_Properties
  • numQdmaChannels : IRES_EDMA3CHAN_Properties , DMAN3_Params
  • numRegions : IRES_EDMA3CHAN_Properties
  • numRegistries : RMAN_Params
  • numResourceDescriptors : IRES_Fxns
  • numResources : IRESMAN_HdVicpParams
  • numTccGroup : DMAN3_Params
  • numTccs : IRES_EDMA3CHAN_ProtocolArgs , IRES_EDMA3CHAN_Properties , IDMA3_Obj
  • numTcs : IRES_EDMA3CHAN_Properties
  • numTransfers : IDMA3_ChannelRec
  • numWaits : IDMA3_ChannelRec


Framework Components: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • 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: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • 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_MEMTCM_ProtocolArgs , IRES_SDMA_ProtocolArgs , IDMA3_MemRec , SHMBUF_Obj , SHMBUF_Props , IRES_ADDRSPACE_ProtocolArgs , IRES_HDVICP_ProtocolArgs
  • baseConfig : IRESMAN_MemTcmParams , IRESMAN_SdmaParams , IRESMAN_VicpParams , IRESMAN_AddrSpaceParams , IRESMAN_Edma3ChanParams , IRESMAN_HdVicpParams
  • bcnt : IRES_EDMA3CHAN_PaRamStruct
  • bCntrld : IRES_EDMA3CHAN_PaRamStruct
  • biosInterruptEventNo_0 : HDINTC_Params
  • biosInterruptEventNo_1 : HDINTC_Params
  • biosInterruptVectorId_0 : HDINTC_Params
  • biosInterruptVectorId_1 : HDINTC_Params
  • buffers : IRES_VICP2_Properties
  • bufsize : SHMBUF_Params


Framework Components: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • 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
  • channel : IRES_SDMA_Obj
  • configBaseAddress : IRES_VICP2_Obj
  • constructHandle : IRESMAN_ConstructFxns
  • contextArgs : IRES_YieldContext
  • contextRestore : IRES_YieldContext
  • contextSave : IRES_YieldContext
  • contiguousAllocation : IRES_EDMA3CHAN_ProtocolArgs


Framework Components: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • 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 -

  • dataType : SCPY_TransferParams
  • DCHMAP : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • deactivateAllResources : IRES_Fxns
  • deactivateResource : IRES_Fxns
  • deInitHandle : IDMA3_ProtocolObj
  • deinitResources : IRES_Fxns
  • destructHandle : IRESMAN_ConstructFxns
  • DMA4_CCEN : IRES_SDMA_RegisterLayer
  • DMA4_CCFN : IRES_SDMA_RegisterLayer
  • DMA4_CCR : IRES_SDMA_RegisterLayer
  • DMA4_CDAC : IRES_SDMA_RegisterLayer
  • DMA4_CDE : IRES_SDMA_RegisterLayer
  • DMA4_CDF : IRES_SDMA_RegisterLayer
  • DMA4_CDSA : IRES_SDMA_RegisterLayer
  • DMA4_CEN : IRES_SDMA_RegisterLayer
  • DMA4_CFN : IRES_SDMA_RegisterLayer
  • DMA4_CICR : IRES_SDMA_RegisterLayer
  • DMA4_CLNK_CTRL : IRES_SDMA_RegisterLayer
  • DMA4_COLOR : IRES_SDMA_RegisterLayer
  • DMA4_CSAC : IRES_SDMA_RegisterLayer
  • DMA4_CSDP : IRES_SDMA_RegisterLayer
  • DMA4_CSE : IRES_SDMA_RegisterLayer
  • DMA4_CSF : IRES_SDMA_RegisterLayer
  • DMA4_CSR : IRES_SDMA_RegisterLayer
  • DMA4_CSSA : IRES_SDMA_RegisterLayer
  • dmaChangeChannels : IDMA3_Fxns
  • dmaChPaRAMMapExists : IRES_EDMA3CHAN_Properties
  • dmaGetChannelCnt : IDMA3_Fxns
  • dmaGetChannels : IDMA3_Fxns
  • dmaInit : IDMA3_Fxns
  • DMAQNUM : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • dmaViewConfigBaseAddr : IRES_VICP2_Obj
  • DRA : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • DRAE : IRES_EDMA3CHAN_EDMA3DraeRegister
  • DRAEH : IRES_EDMA3CHAN_EDMA3DraeRegister
  • dst : SCPY_Params , IRES_EDMA3CHAN_PaRamStruct
  • dstAddr : ACPY3_Params
  • dstElementIndex : IRES_EDMA3CHAN_PaRamStruct , ACPY3_Params
  • dstFrameIndex : IRES_EDMA3CHAN_PaRamStruct , ACPY3_Params


Framework Components: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • 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
  • elem_index : SCPY_AddrParams
  • elemCount : SCPY_TransferParams
  • elementSize : ACPY3_Params
  • EMCR : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • EMCRH : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • EMR : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • EMRH : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • env : IDMA3_Obj
  • ER : IRES_EDMA3CHAN_EDMA3RegisterLayer , IRES_EDMA3CHAN_EDMA3ShadowRegister
  • ERH : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • ESR : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • esrBitMaskH : IRES_EDMA3CHAN_Obj
  • esrBitMaskL : IRES_EDMA3CHAN_Obj
  • ESRH : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • exit : IRESMAN_Fxns


Framework Components: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • 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 -

  • flags : GT_Mask
  • frame_index : SCPY_AddrParams
  • frameCount : SCPY_TransferParams
  • freeFxn : IRESMAN_Params , RMAN_Params
  • freeHandle : IRESMAN_Fxns
  • fxn : ACPY3_INSTR_Hook
  • fxns : IALG_Obj


Framework Components: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • 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 -

  • getEnvMemRec : IDMA3_ProtocolObj
  • getHandle : IRESMAN_Fxns
  • getMemRecs : IRESMAN_ConstructFxns
  • getName : IRESMAN_ConstructFxns
  • getNumMemRecs : IRESMAN_ConstructFxns
  • getProtocolName : IRESMAN_Fxns
  • getProtocolRevision : IRESMAN_Fxns
  • getResourceDescriptors : IRES_Fxns
  • getRevision : IRESMAN_ConstructFxns
  • getStaticProperties : IRES_Obj
  • globalRegs : IRES_VICP_Properties , IRES_EDMA3CHAN_Properties , IRES_HDVICP_Properties , IRES_SDMA_Properties
  • groupId : RMAN_YieldArgs


Framework Components: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • 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 : IDMA3_ChannelRec , IRES_ResourceDescriptor
  • handleSize : hdvicpAppHandle
  • hdvicpInterruptEventNo_0 : HDINTC_Params
  • hdvicpInterruptEventNo_1 : HDINTC_Params
  • heapExternal : DMAN3_Params
  • heapInternal : DMAN3_Params
  • huffmem : IRES_VICP2_Buffers


Framework Components: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • 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_HDVICP_ProtocolArgs , IRES_HDVICP_Obj
  • idma3Internal : DMAN3_Params
  • IECR : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • IECRH : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • IER : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • IERH : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • 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 , IDMA3_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 : hdvicpAppHandle , IRES_HDVICP_Obj , IRESMAN_HdVicpParams
  • init : IRESMAN_Fxns
  • initHandle : IDMA3_ProtocolObj
  • initResources : IRES_Fxns
  • InstrHooks : ACPY3_INSTR_ExtendedHooks , ACPY3_INSTR_Hooks
  • interruptVectorId_0 : HDINTC_Params
  • interruptVectorId_1 : HDINTC_Params
  • IPR : IRES_EDMA3CHAN_EDMA3RegisterLayer , IRES_EDMA3CHAN_EDMA3ShadowRegister
  • iprBitMaskH : IRES_EDMA3CHAN_Obj
  • iprBitMaskL : IRES_EDMA3CHAN_Obj
  • IPRH : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • ires : SHMBUF_Obj , IRES_VICP_Obj , IRES_SDMA_Obj , IRES_MEMTCM_Obj , IRES_VICP2_Obj , IRES_ADDRSPACE_Obj , IRES_HDVICP_Obj , IRES_EDMA3CHAN_Obj
  • iresArgs : SHMBUF_Args
  • iresConfig : SHMBUF_Params
  • isScratch : SHMBUF_Props , SHMBUF_Params


Framework Components: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • 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 -

  • paRamAddr : IDMA3_Obj
  • paRamBaseIndex : DMAN3_Params
  • PARAMENTRY : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • paRamIndex : IRES_EDMA3CHAN_ProtocolArgs
  • persistent : IDMA3_ChannelRec , IDMA3_Obj , IRES_Obj
  • predmem_base : IRES_VICP2_Buffers
  • priority : IDMA3_ChannelRec
  • processId : hdvicpAppHandle
  • protocol : IDMA3_ChannelRec , IDMA3_Obj
  • protocolArgs : IRES_ResourceDescriptor
  • pscRegisterSpace : IRES_VICP2_Obj , IRES_HDVICP_Obj


Framework Components: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • 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 : IDMA3_Obj , IRES_EDMA3CHAN_ProtocolArgs
  • qdmaChannels : DMAN3_Params
  • qdmaPaRamBase : DMAN3_Params
  • QDMAQNUM : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • qdmaQueueMap : DMAN3_Params
  • 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_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • QSER : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • QSTAT : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • QUEEVTENTRY : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • QUEPRI : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • QUETCMAP : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • queuePri : DMAN3_Params
  • queueTCMap : DMAN3_Params
  • QWMTHRA : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • QWMTHRB : IRES_EDMA3CHAN_EDMA3RegisterLayer


Framework Components: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • 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
  • registerBaseAddress : IRES_HDVICP_Obj
  • reinitResources : IRES_Fxns
  • 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
  • resourceHandle : IRES_YieldContext
  • resourceName : IRES_ResourceDescriptor
  • REV : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • revision : IRES_ResourceDescriptor
  • rsvd : IRES_EDMA3CHAN_PaRamStruct
  • RSVD0 : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • 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: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • 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 : DMAN3_Params
  • scratchFreeFxn : DMAN3_Params
  • 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
  • shadowPaRamsAllocation : IRES_EDMA3CHAN_ProtocolArgs
  • size : VICPSYNC_Params , IRES_ADDRSPACE_Properties , HDVICPSYNC_Params , IRES_EDMA3CHAN_ProtocolArgs , IRES_HDVICP_RegisterLayer , IDMA3_MemRec , IRES_HDVICP_Properties , IRES_VICP_ProtocolArgs , IRESMAN_ConstructArgs , SHMBUF_Props , IRES_VICP2_Properties , IRES_MEMTCM_Properties , IRES_VICP_Registers , IRES_VICP2_ProtocolArgs , IRESMAN_Params , IRES_VICP_Properties , IALG_MemRec , IRES_VICP2_Buffers , IRES_Properties , IALG_Params , IALG_Status , IRES_ProtocolArgs
  • Source : IRES_ProtocolRevision
  • space : IALG_MemRec
  • src : IRES_EDMA3CHAN_PaRamStruct , SCPY_Params
  • srcAddr : ACPY3_Params
  • srcElementIndex : ACPY3_Params , IRES_EDMA3CHAN_PaRamStruct
  • srcFrameIndex : IRES_EDMA3CHAN_PaRamStruct , ACPY3_Params


Framework Components: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • 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 -

  • tccAllocationMaskH : DMAN3_Params
  • tccAllocationMaskL : DMAN3_Params
  • tccIndex : IRES_EDMA3CHAN_ProtocolArgs
  • tccTable : IDMA3_Obj
  • transfer : SCPY_Params
  • transferPending : IDMA3_Obj
  • transferType : ACPY3_Params


Framework Components: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • 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: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • 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 -

  • waitId : ACPY3_Params


Framework Components: Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • 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 -

  • yieldFlag : RMAN_YieldArgs
  • yieldFxn : RMAN_Params
  • yieldSamePriority : RMAN_Params


Framework Components: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- a -

  • acnt : IRES_EDMA3CHAN_PaRamStruct
  • activateAllResources : IRES_Fxns
  • activateResource : IRES_Fxns
  • addr : IRES_ADDRSPACE_ProtocolArgs , IRES_ADDRSPACE_Obj , SCPY_AddrParams
  • addr_mode : SCPY_AddrParams
  • 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
  • align : IDMA3_MemRec , SHMBUF_Args
  • alignment : IALG_MemRec
  • allocFxn : IRESMAN_Params , RMAN_Params
  • allowUnshared : DMAN3_Params
  • args : ACPY3_INSTR_Hook
  • assignedEdmaChannelIndex : IRES_EDMA3CHAN_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
  • assignedNumTccs : IRES_EDMA3CHAN_Obj
  • assignedPaRamAddresses : IRES_EDMA3CHAN_Obj
  • assignedPaRamIndices : IRES_EDMA3CHAN_Obj
  • assignedQdmaChannelIndex : IRES_EDMA3CHAN_Obj
  • assignedSEQ : IRES_VICP_Obj
  • assignedTccIndices : IRES_EDMA3CHAN_Obj
  • assignedVLCD : IRES_VICP_Obj
  • attrib : IRES_ADDRSPACE_ProtocolArgs
  • attrs : IALG_MemRec


Framework Components: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- k -

  • key : SHMBUF_Params


Framework Components: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- l -

  • len : IRES_ADDRSPACE_ProtocolArgs , IRES_ADDRSPACE_Obj
  • length : SHMBUF_Props , SHMBUF_Args , SHMBUF_Obj
  • link : IRES_EDMA3CHAN_PaRamStruct


Framework Components: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- m -

  • Major : IRES_ProtocolRevision
  • maxPaRamEntries : DMAN3_Params
  • maxQdmaChannels : DMAN3_Params
  • maxTCs : DMAN3_Params
  • memAddr : IRES_MEMTCM_Obj
  • memoryBaseAddress : IRES_HDVICP_Obj
  • memProtectionExists : IRES_EDMA3CHAN_Properties
  • memRequestSizes : IRES_VICP2_ProtocolArgs
  • memSize : IRES_MEMTCM_ProtocolArgs , IRES_MEMTCM_Obj
  • memType : IDMA3_MemRec
  • mode : IRES_VICP2_ProtocolArgs , IRES_ProtocolArgs , IRES_EDMA3CHAN_ProtocolArgs , IRES_VICP_ProtocolArgs
  • modName : GT_Mask
  • 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: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- n -

  • name : IDMA3_ProtocolObj
  • nullPaRamIndex : DMAN3_Params
  • numDmaChannels : IRES_EDMA3CHAN_Properties
  • numElements : ACPY3_Params
  • numEvtQueue : IRES_EDMA3CHAN_Properties
  • numFrames : ACPY3_Params
  • numMemBufs : IRES_VICP2_Obj
  • numMemoryRequests : IRES_VICP2_ProtocolArgs
  • numPaRamEntries : DMAN3_Params
  • numPaRamGroup : DMAN3_Params
  • numPaRams : IDMA3_Obj , IRES_EDMA3CHAN_ProtocolArgs
  • numPaRAMSets : IRES_EDMA3CHAN_Properties
  • numQdmaChannels : IRES_EDMA3CHAN_Properties , DMAN3_Params
  • numRegions : IRES_EDMA3CHAN_Properties
  • numRegistries : RMAN_Params
  • numResourceDescriptors : IRES_Fxns
  • numResources : IRESMAN_HdVicpParams
  • numTccGroup : DMAN3_Params
  • numTccs : IRES_EDMA3CHAN_ProtocolArgs , IRES_EDMA3CHAN_Properties , IDMA3_Obj
  • numTcs : IRES_EDMA3CHAN_Properties
  • numTransfers : IDMA3_ChannelRec
  • numWaits : IDMA3_ChannelRec


Framework Components: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- o -

  • opt : IRES_EDMA3CHAN_PaRamStruct


Framework Components: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • 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_MEMTCM_ProtocolArgs , IRES_SDMA_ProtocolArgs , IDMA3_MemRec , SHMBUF_Obj , SHMBUF_Props , IRES_ADDRSPACE_ProtocolArgs , IRES_HDVICP_ProtocolArgs
  • baseConfig : IRESMAN_MemTcmParams , IRESMAN_SdmaParams , IRESMAN_VicpParams , IRESMAN_AddrSpaceParams , IRESMAN_Edma3ChanParams , IRESMAN_HdVicpParams
  • bcnt : IRES_EDMA3CHAN_PaRamStruct
  • bCntrld : IRES_EDMA3CHAN_PaRamStruct
  • biosInterruptEventNo_0 : HDINTC_Params
  • biosInterruptEventNo_1 : HDINTC_Params
  • biosInterruptVectorId_0 : HDINTC_Params
  • biosInterruptVectorId_1 : HDINTC_Params
  • buffers : IRES_VICP2_Properties
  • bufsize : SHMBUF_Params


Framework Components: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • 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
  • channel : IRES_SDMA_Obj
  • configBaseAddress : IRES_VICP2_Obj
  • constructHandle : IRESMAN_ConstructFxns
  • contextArgs : IRES_YieldContext
  • contextRestore : IRES_YieldContext
  • contextSave : IRES_YieldContext
  • contiguousAllocation : IRES_EDMA3CHAN_ProtocolArgs


Framework Components: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- d -

  • dataType : SCPY_TransferParams
  • DCHMAP : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • deactivateAllResources : IRES_Fxns
  • deactivateResource : IRES_Fxns
  • deInitHandle : IDMA3_ProtocolObj
  • deinitResources : IRES_Fxns
  • destructHandle : IRESMAN_ConstructFxns
  • DMA4_CCEN : IRES_SDMA_RegisterLayer
  • DMA4_CCFN : IRES_SDMA_RegisterLayer
  • DMA4_CCR : IRES_SDMA_RegisterLayer
  • DMA4_CDAC : IRES_SDMA_RegisterLayer
  • DMA4_CDE : IRES_SDMA_RegisterLayer
  • DMA4_CDF : IRES_SDMA_RegisterLayer
  • DMA4_CDSA : IRES_SDMA_RegisterLayer
  • DMA4_CEN : IRES_SDMA_RegisterLayer
  • DMA4_CFN : IRES_SDMA_RegisterLayer
  • DMA4_CICR : IRES_SDMA_RegisterLayer
  • DMA4_CLNK_CTRL : IRES_SDMA_RegisterLayer
  • DMA4_COLOR : IRES_SDMA_RegisterLayer
  • DMA4_CSAC : IRES_SDMA_RegisterLayer
  • DMA4_CSDP : IRES_SDMA_RegisterLayer
  • DMA4_CSE : IRES_SDMA_RegisterLayer
  • DMA4_CSF : IRES_SDMA_RegisterLayer
  • DMA4_CSR : IRES_SDMA_RegisterLayer
  • DMA4_CSSA : IRES_SDMA_RegisterLayer
  • dmaChangeChannels : IDMA3_Fxns
  • dmaChPaRAMMapExists : IRES_EDMA3CHAN_Properties
  • dmaGetChannelCnt : IDMA3_Fxns
  • dmaGetChannels : IDMA3_Fxns
  • dmaInit : IDMA3_Fxns
  • DMAQNUM : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • dmaViewConfigBaseAddr : IRES_VICP2_Obj
  • DRA : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • DRAE : IRES_EDMA3CHAN_EDMA3DraeRegister
  • DRAEH : IRES_EDMA3CHAN_EDMA3DraeRegister
  • dst : SCPY_Params , IRES_EDMA3CHAN_PaRamStruct
  • dstAddr : ACPY3_Params
  • dstElementIndex : IRES_EDMA3CHAN_PaRamStruct , ACPY3_Params
  • dstFrameIndex : IRES_EDMA3CHAN_PaRamStruct , ACPY3_Params


Framework Components: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • 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
  • elem_index : SCPY_AddrParams
  • elemCount : SCPY_TransferParams
  • elementSize : ACPY3_Params
  • EMCR : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • EMCRH : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • EMR : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • EMRH : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • env : IDMA3_Obj
  • ER : IRES_EDMA3CHAN_EDMA3RegisterLayer , IRES_EDMA3CHAN_EDMA3ShadowRegister
  • ERH : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • ESR : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • esrBitMaskH : IRES_EDMA3CHAN_Obj
  • esrBitMaskL : IRES_EDMA3CHAN_Obj
  • ESRH : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • exit : IRESMAN_Fxns


Framework Components: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- f -

  • flags : GT_Mask
  • frame_index : SCPY_AddrParams
  • frameCount : SCPY_TransferParams
  • freeFxn : IRESMAN_Params , RMAN_Params
  • freeHandle : IRESMAN_Fxns
  • fxn : ACPY3_INSTR_Hook
  • fxns : IALG_Obj


Framework Components: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- g -

  • getEnvMemRec : IDMA3_ProtocolObj
  • getHandle : IRESMAN_Fxns
  • getMemRecs : IRESMAN_ConstructFxns
  • getName : IRESMAN_ConstructFxns
  • getNumMemRecs : IRESMAN_ConstructFxns
  • getProtocolName : IRESMAN_Fxns
  • getProtocolRevision : IRESMAN_Fxns
  • getResourceDescriptors : IRES_Fxns
  • getRevision : IRESMAN_ConstructFxns
  • getStaticProperties : IRES_Obj
  • globalRegs : IRES_VICP_Properties , IRES_EDMA3CHAN_Properties , IRES_HDVICP_Properties , IRES_SDMA_Properties
  • groupId : RMAN_YieldArgs


Framework Components: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- h -

  • handle : IDMA3_ChannelRec , IRES_ResourceDescriptor
  • handleSize : hdvicpAppHandle
  • hdvicpInterruptEventNo_0 : HDINTC_Params
  • hdvicpInterruptEventNo_1 : HDINTC_Params
  • heapExternal : DMAN3_Params
  • heapInternal : DMAN3_Params
  • huffmem : IRES_VICP2_Buffers


Framework Components: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • 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_HDVICP_ProtocolArgs , IRES_HDVICP_Obj
  • idma3Internal : DMAN3_Params
  • IECR : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • IECRH : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • IER : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • IERH : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • 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 , IDMA3_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 : hdvicpAppHandle , IRES_HDVICP_Obj , IRESMAN_HdVicpParams
  • init : IRESMAN_Fxns
  • initHandle : IDMA3_ProtocolObj
  • initResources : IRES_Fxns
  • InstrHooks : ACPY3_INSTR_ExtendedHooks , ACPY3_INSTR_Hooks
  • interruptVectorId_0 : HDINTC_Params
  • interruptVectorId_1 : HDINTC_Params
  • IPR : IRES_EDMA3CHAN_EDMA3RegisterLayer , IRES_EDMA3CHAN_EDMA3ShadowRegister
  • iprBitMaskH : IRES_EDMA3CHAN_Obj
  • iprBitMaskL : IRES_EDMA3CHAN_Obj
  • IPRH : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • ires : SHMBUF_Obj , IRES_VICP_Obj , IRES_SDMA_Obj , IRES_MEMTCM_Obj , IRES_VICP2_Obj , IRES_ADDRSPACE_Obj , IRES_HDVICP_Obj , IRES_EDMA3CHAN_Obj
  • iresArgs : SHMBUF_Args
  • iresConfig : SHMBUF_Params
  • isScratch : SHMBUF_Props , SHMBUF_Params


Framework Components: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- p -

  • paRamAddr : IDMA3_Obj
  • paRamBaseIndex : DMAN3_Params
  • PARAMENTRY : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • paRamIndex : IRES_EDMA3CHAN_ProtocolArgs
  • persistent : IDMA3_ChannelRec , IDMA3_Obj , IRES_Obj
  • predmem_base : IRES_VICP2_Buffers
  • priority : IDMA3_ChannelRec
  • processId : hdvicpAppHandle
  • protocol : IDMA3_ChannelRec , IDMA3_Obj
  • protocolArgs : IRES_ResourceDescriptor
  • pscRegisterSpace : IRES_VICP2_Obj , IRES_HDVICP_Obj


Framework Components: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- q -

  • QCHMAP : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • qdmaChan : IDMA3_Obj , IRES_EDMA3CHAN_ProtocolArgs
  • qdmaChannels : DMAN3_Params
  • qdmaPaRamBase : DMAN3_Params
  • QDMAQNUM : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • qdmaQueueMap : DMAN3_Params
  • 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_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • QSER : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • QSTAT : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • QUEEVTENTRY : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • QUEPRI : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • QUETCMAP : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • queuePri : DMAN3_Params
  • queueTCMap : DMAN3_Params
  • QWMTHRA : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • QWMTHRB : IRES_EDMA3CHAN_EDMA3RegisterLayer


Framework Components: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- r -

  • Radius : IRES_ProtocolRevision
  • registerBaseAddress : IRES_HDVICP_Obj
  • reinitResources : IRES_Fxns
  • 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
  • resourceHandle : IRES_YieldContext
  • resourceName : IRES_ResourceDescriptor
  • REV : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • revision : IRES_ResourceDescriptor
  • rsvd : IRES_EDMA3CHAN_PaRamStruct
  • RSVD0 : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • 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: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- s -

  • scratchAllocFxn : DMAN3_Params
  • scratchFreeFxn : DMAN3_Params
  • 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
  • shadowPaRamsAllocation : IRES_EDMA3CHAN_ProtocolArgs
  • size : VICPSYNC_Params , IRES_ADDRSPACE_Properties , HDVICPSYNC_Params , IRES_EDMA3CHAN_ProtocolArgs , IRES_HDVICP_RegisterLayer , IDMA3_MemRec , IRES_HDVICP_Properties , IRES_VICP_ProtocolArgs , IRESMAN_ConstructArgs , SHMBUF_Props , IRES_VICP2_Properties , IRES_MEMTCM_Properties , IRES_VICP_Registers , IRES_VICP2_ProtocolArgs , IRESMAN_Params , IRES_VICP_Properties , IALG_MemRec , IRES_VICP2_Buffers , IRES_Properties , IALG_Params , IALG_Status , IRES_ProtocolArgs
  • Source : IRES_ProtocolRevision
  • space : IALG_MemRec
  • src : IRES_EDMA3CHAN_PaRamStruct , SCPY_Params
  • srcAddr : ACPY3_Params
  • srcElementIndex : ACPY3_Params , IRES_EDMA3CHAN_PaRamStruct
  • srcFrameIndex : IRES_EDMA3CHAN_PaRamStruct , ACPY3_Params


Framework Components: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- t -

  • tccAllocationMaskH : DMAN3_Params
  • tccAllocationMaskL : DMAN3_Params
  • tccIndex : IRES_EDMA3CHAN_ProtocolArgs
  • tccTable : IDMA3_Obj
  • transfer : SCPY_Params
  • transferPending : IDMA3_Obj
  • transferType : ACPY3_Params


Framework Components: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • 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: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- w -

  • waitId : ACPY3_Params


Framework Components: Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • k
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- y -

  • yieldFlag : RMAN_YieldArgs
  • yieldFxn : RMAN_Params
  • yieldSamePriority : RMAN_Params


Framework Components: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • a
  • d
  • e
  • g
  • 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 -

  • MEMTCM_GTNAME : ires_memtcm.h
  • MEMUTILS_cacheInv() : memutils.h
  • MEMUTILS_cacheWb() : memutils.h
  • MEMUTILS_cacheWbInv() : memutils.h
  • MEMUTILS_getPhysicalAddr() : memutils.h


Framework Components: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • a
  • d
  • e
  • g
  • 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 -

  • OMAP_DMA_AMODE_POST_CONST : scpy.h
  • OMAP_DMA_AMODE_POST_DOUBLE_INDEX : scpy.h
  • OMAP_DMA_AMODE_POST_INC : scpy.h
  • OMAP_DMA_AMODE_POST_SINGLE_INDEX : scpy.h
  • OMAP_DMA_DATA_TYPE_S16 : scpy.h
  • OMAP_DMA_DATA_TYPE_S32 : scpy.h
  • OMAP_DMA_DATA_TYPE_S8 : scpy.h
  • OMAP_DMA_PORT_EMIFF : scpy.h
  • OMAP_DMA_SYNC_MODE_BLOCK : scpy.h
  • OMAP_DMA_SYNC_MODE_ELEMENT : scpy.h
  • OMAP_DMA_SYNC_MODE_FRAME : scpy.h
  • OMAP_DMA_SYNC_TYPE_DEST : scpy.h
  • OMAP_DMA_SYNC_TYPE_SRC : scpy.h


Framework Components: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • a
  • d
  • e
  • g
  • 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:

- a -

  • ACPY3_1D1D : acpy3.h
  • ACPY3_1D2D : acpy3.h
  • ACPY3_2D1D : acpy3.h
  • ACPY3_2D2D : acpy3.h
  • ACPY3_activate() : acpy3.h
  • ACPY3_complete() : acpy3.h
  • ACPY3_completeLinked() : acpy3.h
  • ACPY3_configure() : acpy3.h
  • ACPY3_deactivate() : acpy3.h
  • ACPY3_exit() : acpy3.h
  • ACPY3_fastConfigure16b() : acpy3.h
  • ACPY3_fastConfigure32b() : acpy3.h
  • ACPY3_fastSetFinal() : acpy3.h
  • ACPY3_GTNAME : acpy3.h
  • ACPY3_init() : acpy3.h
  • ACPY3_INSTR_ACTIVATE_ENTER : acpy3_instr.h
  • ACPY3_INSTR_ACTIVATE_EXIT : acpy3_instr.h
  • ACPY3_INSTR_COMPLETE_ENTER : acpy3_instr.h
  • ACPY3_INSTR_COMPLETE_EXIT : acpy3_instr.h
  • ACPY3_INSTR_COMPLETELINKED_ENTER : acpy3_instr.h
  • ACPY3_INSTR_COMPLETELINKED_EXIT : acpy3_instr.h
  • ACPY3_INSTR_CONFIGURE_ENTER : acpy3_instr.h
  • ACPY3_INSTR_CONFIGURE_EXIT : acpy3_instr.h
  • ACPY3_INSTR_DEACTIVATE_ENTER : acpy3_instr.h
  • ACPY3_INSTR_DEACTIVATE_EXIT : acpy3_instr.h
  • ACPY3_INSTR_EXIT_ENTER : acpy3_instr.h
  • ACPY3_INSTR_EXIT_EXIT : acpy3_instr.h
  • ACPY3_INSTR_ExtendedHookType : acpy3_instr.h
  • ACPY3_INSTR_FASTCONFIGURE16_ENTER : acpy3_instr.h
  • ACPY3_INSTR_FASTCONFIGURE16_EXIT : acpy3_instr.h
  • ACPY3_INSTR_FASTCONFIGURE32_ENTER : acpy3_instr.h
  • ACPY3_INSTR_FASTCONFIGURE32_EXIT : acpy3_instr.h
  • ACPY3_INSTR_HookFxn : acpy3_instr.h
  • ACPY3_INSTR_HookType : acpy3_instr.h
  • ACPY3_INSTR_INIT_ENTER : acpy3_instr.h
  • ACPY3_INSTR_INIT_EXIT : acpy3_instr.h
  • ACPY3_INSTR_NUMEXTENDEDHOOKS : acpy3_instr.h
  • ACPY3_INSTR_NUMHOOKS : acpy3_instr.h
  • ACPY3_INSTR_registerHooks() : acpy3_instr.h
  • ACPY3_INSTR_SETFASTFINAL_ENTER : acpy3_instr.h
  • ACPY3_INSTR_SETFASTFINAL_EXIT : acpy3_instr.h
  • ACPY3_INSTR_SETFINAL_ENTER : acpy3_instr.h
  • ACPY3_INSTR_SETFINAL_EXIT : acpy3_instr.h
  • ACPY3_INSTR_START_ENTER : acpy3_instr.h
  • ACPY3_INSTR_START_EXIT : acpy3_instr.h
  • ACPY3_INSTR_unregisterHooks() : acpy3_instr.h
  • ACPY3_INSTR_WAIT_ENTER : acpy3_instr.h
  • ACPY3_INSTR_WAIT_EXIT : acpy3_instr.h
  • ACPY3_INSTR_WAITLINKED_ENTER : acpy3_instr.h
  • ACPY3_INSTR_WAITLINKED_EXIT : acpy3_instr.h
  • ACPY3_ParamField16b : acpy3.h
  • ACPY3_ParamField32b : acpy3.h
  • ACPY3_PARAMFIELD_DSTADDR : acpy3.h
  • ACPY3_PARAMFIELD_ELEMENTINDEX_DST : acpy3.h
  • ACPY3_PARAMFIELD_ELEMENTINDEX_SRC : acpy3.h
  • ACPY3_PARAMFIELD_ELEMENTINDEXES : acpy3.h
  • ACPY3_PARAMFIELD_ELEMENTSIZE : acpy3.h
  • ACPY3_PARAMFIELD_FRAMEINDEX_DST : acpy3.h
  • ACPY3_PARAMFIELD_FRAMEINDEX_SRC : acpy3.h
  • ACPY3_PARAMFIELD_FRAMEINDEXES : acpy3.h
  • ACPY3_PARAMFIELD_NUMELEMENTS : acpy3.h
  • ACPY3_PARAMFIELD_NUMFRAMES : acpy3.h
  • ACPY3_PARAMFIELD_SRCADDR : acpy3.h
  • ACPY3_PROTOCOL : acpy3.h
  • ACPY3_setFinal() : acpy3.h
  • ACPY3_start() : acpy3.h
  • ACPY3_TransferType : acpy3.h
  • ACPY3_wait() : acpy3.h
  • ACPY3_waitLinked() : acpy3.h
  • ADDRSPACE_GTNAME : ires_addrspace.h


Framework Components: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • a
  • d
  • e
  • g
  • 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 -

  • DBC_assert : dbc.h
  • DBC_ensure : dbc.h
  • DBC_require : dbc.h
  • DBG_printf0 : dbg.h
  • DBG_printf1 : dbg.h
  • DBG_printf2 : dbg.h
  • DMAN3_createChannels() : dman3.h
  • DMAN3_EFAIL : dman3.h
  • DMAN3_EFREE : dman3.h
  • DMAN3_EOUTOFMEMORY : dman3.h
  • DMAN3_EOUTOFPARAMS : dman3.h
  • DMAN3_EOUTOFTCCS : dman3.h
  • DMAN3_EPARAMCONFIG : dman3.h
  • DMAN3_ETCCCONFIG : dman3.h
  • DMAN3_exit() : dman3.h
  • DMAN3_freeChannels() : dman3.h
  • DMAN3_grantDmaChannels() : dman3.h
  • DMAN3_GTNAME : dman3.h
  • DMAN3_init() : dman3.h
  • DMAN3_MAXGROUPS : dman3.h
  • DMAN3_PARAMS : dman3.h
  • DMAN3_releaseDmaChannels() : dman3.h
  • DMAN3_ScratchAllocFxn : dman3.h
  • DMAN3_ScratchFreeFxn : dman3.h
  • DMAN3_SOK : dman3.h
  • DSKT2_activateAlg() : dskt2.h
  • DSKT2_allocPersistent() : dskt2.h
  • DSKT2_allocScratch() : dskt2.h
  • DSKT2_CacheWBInvFxn : 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_GTNAME : dskt2.h
  • DSKT2_MAX_MEM_ALLOCATION_SIZE : 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


Framework Components: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • a
  • d
  • e
  • g
  • 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 -

  • EDMA3CHAN_GTNAME : ires_edma3Chan.h


Framework Components: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • a
  • d
  • e
  • g
  • 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:

- g -

  • GT_0trace : gt.h
  • GT_1CLASS : gt.h
  • GT_1trace : gt.h
  • GT_2CLASS : gt.h
  • GT_2trace : gt.h
  • GT_3CLASS : gt.h
  • GT_3trace : gt.h
  • GT_4CLASS : gt.h
  • GT_4trace : gt.h
  • GT_5CLASS : gt.h
  • GT_5trace : gt.h
  • GT_6CLASS : gt.h
  • GT_6trace : gt.h
  • GT_7CLASS : gt.h
  • GT_create : gt.h
  • GT_ENTER : gt.h
  • GT_init() : gt.h
  • GT_set : gt.h


Framework Components: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • a
  • d
  • e
  • g
  • 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 -

  • HDINTC_EFAIL : hdintc.h
  • HDINTC_EOUTOFMEMORY : hdintc.h
  • HDINTC_GTNAME : hdintc.h
  • HDINTC_PARAMS : hdintc.h
  • HDINTC_SOK : hdintc.h
  • HDVICP_configure() : hdintc.h
  • HDVICP_done() : hdintc.h
  • HDVICP_Handle : hdintc.h
  • HDVICP_Obj : hdintc.h
  • HDVICP_wait() : hdintc.h
  • HDVICPSYNC_done() : hdvicpsync.h
  • HDVICPSYNC_EFAIL : hdvicpsync.h
  • HDVICPSYNC_ENORESOURCE : hdvicpsync.h
  • HDVICPSYNC_FIQ : hdvicpsync.h
  • HDVICPSYNC_GTNAME : hdvicpsync.h
  • HDVICPSYNC_InterruptType : hdvicpsync.h
  • HDVICPSYNC_IRQ : hdvicpsync.h
  • HDVICPSYNC_OK : hdvicpsync.h
  • HDVICPSYNC_PARAMS : hdvicpsync.h
  • HDVICPSYNC_start() : hdvicpsync.h
  • HDVICPSYNC_Status : hdvicpsync.h
  • HDVICPSYNC_unregister() : hdvicpsync.h
  • HDVICPSYNC_wait() : hdvicpsync.h


Framework Components: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • a
  • d
  • e
  • g
  • 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_Handle : ialg.h
  • IALG_IPROG : ialg.h
  • IALG_isOffChip : ialg.h
  • IALG_isProg : ialg.h
  • IALG_MemAttrs : ialg.h
  • IALG_MemSpace : ialg.h
  • IALG_MPROG : ialg.h
  • IALG_MXTRN : ialg.h
  • IALG_OBJMEMREC : 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_SYSCMD : ialg.h
  • IALG_WRITEONCE : ialg.h
  • IDMA3_EXTERNAL : idma3.h
  • IDMA3_Handle : idma3.h
  • IDMA3_INTERNAL : idma3.h
  • IDMA3_MemType : idma3.h
  • IDMA3_Priority : idma3.h
  • IDMA3_PRIORITY_HIGH : idma3.h
  • IDMA3_PRIORITY_LOW : idma3.h
  • IDMA3_PRIORITY_MEDIUM : idma3.h
  • IDMA3_PRIORITY_URGENT : idma3.h
  • IDMA3_PROTOCOL_NULL : idma3.h
  • IDMA3_ProtocolHandle : idma3.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_ADDRSPACE_AccessType : ires_addrspace.h
  • IRES_ADDRSPACE_EXEC : ires_addrspace.h
  • IRES_ADDRSPACE_Handle : ires_addrspace.h
  • IRES_ADDRSPACE_NONE : ires_addrspace.h
  • IRES_ADDRSPACE_PROTOCOLNAME : ires_addrspace.h
  • IRES_ADDRSPACE_READ : ires_addrspace.h
  • IRES_ADDRSPACE_WRITE : ires_addrspace.h
  • IRES_ALL : ires.h
  • IRES_ContextRestoreFxn : ires.h
  • IRES_ContextSaveFxn : ires.h
  • IRES_EALG : ires_common.h
  • IRES_EDMA3CHAN_CHAN_NONE : 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_PARAM_ANY : ires_edma3Chan.h
  • IRES_EDMA3CHAN_PARAM_NONE : ires_edma3Chan.h
  • IRES_EDMA3CHAN_PROTOCOLNAME : ires_edma3Chan.h
  • IRES_EDMA3CHAN_QDMACHAN_ANY : 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_Handle : ires_common.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_PROTOCOLNAME : ires_hdvicp.h
  • IRES_HDVICP_RequestType : ires_hdvicp.h
  • IRES_LATEACQUIRE : ires_common.h
  • IRES_MEMTCM_Handle : ires_memtcm.h
  • IRES_MEMTCM_PROTOCOLNAME : ires_memtcm.h
  • IRES_OK : ires_common.h
  • IRES_PERSISTENT : ires_common.h
  • IRES_RequestMode : ires_common.h
  • IRES_RESOURCEHANDLE : ires.h
  • IRES_SCRATCH : ires_common.h
  • IRES_SCRATCHDMA : ires.h
  • IRES_SCRATCHMEMORY : ires.h
  • IRES_SDMA_Handle : ires_sdma.h
  • IRES_SDMA_PROTOCOLNAME : ires_sdma.h
  • IRES_Status : ires_common.h
  • IRES_VICP2_BADRESOURCE : ires_vicp2.h
  • IRES_VICP2_Handle : ires_vicp2.h
  • IRES_VICP2_MAXRESOURCES : ires_vicp2.h
  • IRES_VICP2_NUMBUFFERS : ires_vicp2.h
  • IRES_VICP2_PROTOCOLNAME : ires_vicp2.h
  • IRES_VICP_Handle : ires_vicp.h
  • IRES_VICP_MAXRESOURCES : ires_vicp.h
  • IRES_VICP_PROTOCOLNAME : ires_vicp.h
  • IRES_YieldArgs : ires.h
  • IRES_YieldContextHandle : ires.h
  • IRES_YieldFxn : ires.h
  • IRES_YieldResourceType : ires.h
  • IRESMAN_ADDRSPACE : iresman_addrspace.h
  • IRESMAN_ADDRSPACE_exit() : iresman_addrspace.h
  • IRESMAN_ADDRSPACE_freeHandle() : iresman_addrspace.h
  • IRESMAN_ADDRSPACE_getHandles() : iresman_addrspace.h
  • IRESMAN_ADDRSPACE_getProtocolName() : iresman_addrspace.h
  • IRESMAN_ADDRSPACE_getProtocolRevision() : iresman_addrspace.h
  • IRESMAN_ADDRSPACE_init() : iresman_addrspace.h
  • IRESMAN_EDMA3CHAN : iresman_edma3Chan.h
  • IRESMAN_EDMA3CHAN_CONSTRUCTFXNS : 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_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_MEMTCM : iresman_memtcm.h
  • IRESMAN_MEMTCM_exit() : iresman_memtcm.h
  • IRESMAN_MEMTCM_freeHandle() : iresman_memtcm.h
  • IRESMAN_MEMTCM_getHandles() : iresman_memtcm.h
  • IRESMAN_MEMTCM_getProtocolName() : iresman_memtcm.h
  • IRESMAN_MEMTCM_getProtocolRevision() : iresman_memtcm.h
  • IRESMAN_MEMTCM_init() : iresman_memtcm.h
  • IRESMAN_PersistentAllocFxn : iresman.h
  • IRESMAN_PersistentFreeFxn : iresman.h
  • IRESMAN_SDMA : iresman_sdma.h
  • IRESMAN_SDMA_exit() : iresman_sdma.h
  • IRESMAN_SDMA_freeHandle() : iresman_sdma.h
  • IRESMAN_SDMA_getHandles() : iresman_sdma.h
  • IRESMAN_SDMA_getProtocolName() : iresman_sdma.h
  • IRESMAN_SDMA_getProtocolRevision() : iresman_sdma.h
  • IRESMAN_SDMA_init() : iresman_sdma.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


Framework Components: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • a
  • d
  • e
  • g
  • 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_assignResources() : rman.h
  • RMAN_deactivateAllResources() : rman.h
  • RMAN_deactivateResource() : rman.h
  • RMAN_exit() : rman.h
  • RMAN_FREE_ENTRIES : rman.h
  • RMAN_freeResources() : rman.h
  • RMAN_GTNAME : rman.h
  • RMAN_init() : rman.h
  • RMAN_numRegistryEntries : 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: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • a
  • d
  • e
  • g
  • 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 -

  • SCPY_complete() : scpy.h
  • SCPY_configure() : scpy.h
  • SCPY_exit() : scpy.h
  • SCPY_init() : scpy.h
  • SCPY_start() : scpy.h
  • SCPY_wait() : scpy.h
  • SDMA_GTNAME : ires_sdma.h
  • SHMBUF_GTNAME : shmbuf.h
  • SHMBUF_Handle : shmbuf.h
  • SHMBUF_MGRFXNS : shmbuf.h
  • SHMBUF_PARAMS : shmbuf.h
  • SHMBUF_PROTOCOLNAME : shmbuf.h
  • SHMBUF_REQFXNS : shmbuf.h


Framework Components: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • a
  • d
  • e
  • g
  • 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_dman3_DMAN3_numQdmaGroup : dman3.h
  • ti_sdo_fc_ires_NOPROTOCOLREV : rman.h


Framework Components: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • a
  • d
  • e
  • g
  • 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 -

  • VICPSYNC_done() : vicpsync.h
  • VICPSYNC_EFAIL : vicpsync.h
  • VICPSYNC_ENORESOURCE : vicpsync.h
  • VICPSYNC_FIQ : vicpsync.h
  • VICPSYNC_FIXED : vicpsync.h
  • VICPSYNC_FLEXIBLE : vicpsync.h
  • VICPSYNC_GTNAME : vicpsync.h
  • VICPSYNC_IMX0 : vicpsync.h
  • VICPSYNC_IMX1 : vicpsync.h
  • VICPSYNC_InterruptLine : vicpsync.h
  • VICPSYNC_InterruptType : vicpsync.h
  • VICPSYNC_IRQ : vicpsync.h
  • VICPSYNC_MJCP : vicpsync.h
  • VICPSYNC_NSF : vicpsync.h
  • VICPSYNC_OK : vicpsync.h
  • VICPSYNC_PARAMS : vicpsync.h
  • VICPSYNC_ResourceType : vicpsync.h
  • VICPSYNC_start() : vicpsync.h
  • VICPSYNC_Status : vicpsync.h
  • VICPSYNC_unregister() : vicpsync.h
  • VICPSYNC_wait() : vicpsync.h


Framework Components: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • a
  • d
  • e
  • g
  • 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: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • d
  • e
  • g
  • h
  • i
  • m
  • o
  • r
  • s
  • t
  • v
  • x

- a -

  • ACPY3_GTNAME : acpy3.h
  • ACPY3_INSTR_NUMEXTENDEDHOOKS : acpy3_instr.h
  • ACPY3_INSTR_NUMHOOKS : acpy3_instr.h
  • ADDRSPACE_GTNAME : ires_addrspace.h

- d -

  • DBC_assert : dbc.h
  • DBC_ensure : dbc.h
  • DBC_require : dbc.h
  • DBG_printf0 : dbg.h
  • DBG_printf1 : dbg.h
  • DBG_printf2 : dbg.h
  • DMAN3_EFAIL : dman3.h
  • DMAN3_EFREE : dman3.h
  • DMAN3_EOUTOFMEMORY : dman3.h
  • DMAN3_EOUTOFPARAMS : dman3.h
  • DMAN3_EOUTOFTCCS : dman3.h
  • DMAN3_EPARAMCONFIG : dman3.h
  • DMAN3_ETCCCONFIG : dman3.h
  • DMAN3_GTNAME : dman3.h
  • DMAN3_MAXGROUPS : dman3.h
  • DMAN3_SOK : dman3.h
  • DSKT2_GTNAME : dskt2.h
  • DSKT2_MAX_MEM_ALLOCATION_SIZE : dskt2.h
  • DSKT2_NUM_SCRATCH_GROUPS : dskt2.h
  • DSKT2_NUM_SHAREDHEAPS : dskt2.h

- e -

  • EDMA3CHAN_GTNAME : ires_edma3Chan.h

- g -

  • GT_0trace : gt.h
  • GT_1CLASS : gt.h
  • GT_1trace : gt.h
  • GT_2CLASS : gt.h
  • GT_2trace : gt.h
  • GT_3CLASS : gt.h
  • GT_3trace : gt.h
  • GT_4CLASS : gt.h
  • GT_4trace : gt.h
  • GT_5CLASS : gt.h
  • GT_5trace : gt.h
  • GT_6CLASS : gt.h
  • GT_6trace : gt.h
  • GT_7CLASS : gt.h
  • GT_create : gt.h
  • GT_ENTER : gt.h
  • GT_set : gt.h

- h -

  • HDINTC_EFAIL : hdintc.h
  • HDINTC_EOUTOFMEMORY : hdintc.h
  • HDINTC_GTNAME : hdintc.h
  • HDINTC_SOK : hdintc.h
  • HDVICPSYNC_GTNAME : hdvicpsync.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
  • IDMA3_PROTOCOL_NULL : idma3.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_ADDRSPACE_PROTOCOLNAME : ires_addrspace.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_PARAM_ANY : ires_edma3Chan.h
  • IRES_EDMA3CHAN_PARAM_NONE : ires_edma3Chan.h
  • IRES_EDMA3CHAN_PROTOCOLNAME : ires_edma3Chan.h
  • IRES_EDMA3CHAN_QDMACHAN_ANY : ires_edma3Chan.h
  • IRES_EDMA3CHAN_TCC_ANY : ires_edma3Chan.h
  • IRES_EDMA3CHAN_TCC_NONE : ires_edma3Chan.h
  • IRES_HDVICP_MAXRESOURCES : iresman_hdvicp.h
  • IRES_HDVICP_PROTOCOLNAME : ires_hdvicp.h
  • IRES_MEMTCM_PROTOCOLNAME : ires_memtcm.h
  • IRES_SDMA_PROTOCOLNAME : ires_sdma.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 -

  • MEMTCM_GTNAME : ires_memtcm.h

- o -

  • OMAP_DMA_AMODE_POST_CONST : scpy.h
  • OMAP_DMA_AMODE_POST_DOUBLE_INDEX : scpy.h
  • OMAP_DMA_AMODE_POST_INC : scpy.h
  • OMAP_DMA_AMODE_POST_SINGLE_INDEX : scpy.h
  • OMAP_DMA_DATA_TYPE_S16 : scpy.h
  • OMAP_DMA_DATA_TYPE_S32 : scpy.h
  • OMAP_DMA_DATA_TYPE_S8 : scpy.h
  • OMAP_DMA_PORT_EMIFF : scpy.h
  • OMAP_DMA_SYNC_MODE_BLOCK : scpy.h
  • OMAP_DMA_SYNC_MODE_ELEMENT : scpy.h
  • OMAP_DMA_SYNC_MODE_FRAME : scpy.h
  • OMAP_DMA_SYNC_TYPE_DEST : scpy.h
  • OMAP_DMA_SYNC_TYPE_SRC : scpy.h

- r -

  • RMAN_GTNAME : rman.h
  • RMAN_PROTOCOLNAMESIZE : rman.h

- s -

  • SDMA_GTNAME : ires_sdma.h
  • SHMBUF_GTNAME : shmbuf.h
  • SHMBUF_PROTOCOLNAME : shmbuf.h

- t -

  • ti_sdo_fc_ires_NOPROTOCOLREV : rman.h

- v -

  • VICPSYNC_GTNAME : vicpsync.h

- x -

  • XDAS_FALSE : xdas.h
  • XDAS_TRUE : xdas.h


Framework Components: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • ACPY3_INSTR_ExtendedHookType : acpy3_instr.h
  • ACPY3_INSTR_HookType : acpy3_instr.h
  • ACPY3_ParamField16b : acpy3.h
  • ACPY3_ParamField32b : acpy3.h
  • ACPY3_TransferType : acpy3.h
  • DSKT2_QOS_TI_GetSharedScratchMsgArg2 : dskt2_qos.h
  • DSKT2_QOS_TI_MsgArg1Types : dskt2_qos.h
  • HDVICPSYNC_InterruptType : hdvicpsync.h
  • HDVICPSYNC_Status : hdvicpsync.h
  • IALG_MemAttrs : ialg.h
  • IALG_MemSpace : ialg.h
  • IDMA3_MemType : idma3.h
  • IDMA3_Priority : idma3.h
  • IRES_ADDRSPACE_AccessType : ires_addrspace.h
  • IRES_HDVICP_RequestType : ires_hdvicp.h
  • IRES_RequestMode : ires_common.h
  • IRES_Status : ires_common.h
  • IRES_YieldResourceType : ires.h
  • VICPSYNC_InterruptLine : vicpsync.h
  • VICPSYNC_InterruptType : vicpsync.h
  • VICPSYNC_ResourceType : vicpsync.h
  • VICPSYNC_Status : vicpsync.h


Framework Components: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • d
  • h
  • i
  • v

- a -

  • ACPY3_1D1D : acpy3.h
  • ACPY3_1D2D : acpy3.h
  • ACPY3_2D1D : acpy3.h
  • ACPY3_2D2D : acpy3.h
  • ACPY3_INSTR_ACTIVATE_ENTER : acpy3_instr.h
  • ACPY3_INSTR_ACTIVATE_EXIT : acpy3_instr.h
  • ACPY3_INSTR_COMPLETE_ENTER : acpy3_instr.h
  • ACPY3_INSTR_COMPLETE_EXIT : acpy3_instr.h
  • ACPY3_INSTR_COMPLETELINKED_ENTER : acpy3_instr.h
  • ACPY3_INSTR_COMPLETELINKED_EXIT : acpy3_instr.h
  • ACPY3_INSTR_CONFIGURE_ENTER : acpy3_instr.h
  • ACPY3_INSTR_CONFIGURE_EXIT : acpy3_instr.h
  • ACPY3_INSTR_DEACTIVATE_ENTER : acpy3_instr.h
  • ACPY3_INSTR_DEACTIVATE_EXIT : acpy3_instr.h
  • ACPY3_INSTR_EXIT_ENTER : acpy3_instr.h
  • ACPY3_INSTR_EXIT_EXIT : acpy3_instr.h
  • ACPY3_INSTR_FASTCONFIGURE16_ENTER : acpy3_instr.h
  • ACPY3_INSTR_FASTCONFIGURE16_EXIT : acpy3_instr.h
  • ACPY3_INSTR_FASTCONFIGURE32_ENTER : acpy3_instr.h
  • ACPY3_INSTR_FASTCONFIGURE32_EXIT : acpy3_instr.h
  • ACPY3_INSTR_INIT_ENTER : acpy3_instr.h
  • ACPY3_INSTR_INIT_EXIT : acpy3_instr.h
  • ACPY3_INSTR_SETFASTFINAL_ENTER : acpy3_instr.h
  • ACPY3_INSTR_SETFASTFINAL_EXIT : acpy3_instr.h
  • ACPY3_INSTR_SETFINAL_ENTER : acpy3_instr.h
  • ACPY3_INSTR_SETFINAL_EXIT : acpy3_instr.h
  • ACPY3_INSTR_START_ENTER : acpy3_instr.h
  • ACPY3_INSTR_START_EXIT : acpy3_instr.h
  • ACPY3_INSTR_WAIT_ENTER : acpy3_instr.h
  • ACPY3_INSTR_WAIT_EXIT : acpy3_instr.h
  • ACPY3_INSTR_WAITLINKED_ENTER : acpy3_instr.h
  • ACPY3_INSTR_WAITLINKED_EXIT : acpy3_instr.h
  • ACPY3_PARAMFIELD_DSTADDR : acpy3.h
  • ACPY3_PARAMFIELD_ELEMENTINDEX_DST : acpy3.h
  • ACPY3_PARAMFIELD_ELEMENTINDEX_SRC : acpy3.h
  • ACPY3_PARAMFIELD_ELEMENTINDEXES : acpy3.h
  • ACPY3_PARAMFIELD_ELEMENTSIZE : acpy3.h
  • ACPY3_PARAMFIELD_FRAMEINDEX_DST : acpy3.h
  • ACPY3_PARAMFIELD_FRAMEINDEX_SRC : acpy3.h
  • ACPY3_PARAMFIELD_FRAMEINDEXES : acpy3.h
  • ACPY3_PARAMFIELD_NUMELEMENTS : acpy3.h
  • ACPY3_PARAMFIELD_NUMFRAMES : acpy3.h
  • ACPY3_PARAMFIELD_SRCADDR : acpy3.h

- d -

  • 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

- h -

  • HDVICPSYNC_EFAIL : hdvicpsync.h
  • HDVICPSYNC_ENORESOURCE : hdvicpsync.h
  • HDVICPSYNC_FIQ : hdvicpsync.h
  • HDVICPSYNC_IRQ : hdvicpsync.h
  • HDVICPSYNC_OK : hdvicpsync.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
  • IDMA3_EXTERNAL : idma3.h
  • IDMA3_INTERNAL : idma3.h
  • IDMA3_PRIORITY_HIGH : idma3.h
  • IDMA3_PRIORITY_LOW : idma3.h
  • IDMA3_PRIORITY_MEDIUM : idma3.h
  • IDMA3_PRIORITY_URGENT : idma3.h
  • IRES_ADDRSPACE_EXEC : ires_addrspace.h
  • IRES_ADDRSPACE_NONE : ires_addrspace.h
  • IRES_ADDRSPACE_READ : ires_addrspace.h
  • IRES_ADDRSPACE_WRITE : ires_addrspace.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

- v -

  • VICPSYNC_EFAIL : vicpsync.h
  • VICPSYNC_ENORESOURCE : vicpsync.h
  • VICPSYNC_FIQ : vicpsync.h
  • VICPSYNC_FIXED : vicpsync.h
  • VICPSYNC_FLEXIBLE : vicpsync.h
  • VICPSYNC_IMX0 : vicpsync.h
  • VICPSYNC_IMX1 : vicpsync.h
  • VICPSYNC_IRQ : vicpsync.h
  • VICPSYNC_MJCP : vicpsync.h
  • VICPSYNC_NSF : vicpsync.h
  • VICPSYNC_OK : vicpsync.h


Framework Components: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • a
  • d
  • g
  • h
  • i
  • m
  • r
  • s
  • v

- _ -

  • _GT_create() : gt.h
  • _GT_set() : gt.h
  • _GT_trace() : gt.h

- a -

  • ACPY3_activate() : acpy3.h
  • ACPY3_complete() : acpy3.h
  • ACPY3_completeLinked() : acpy3.h
  • ACPY3_configure() : acpy3.h
  • ACPY3_deactivate() : acpy3.h
  • ACPY3_exit() : acpy3.h
  • ACPY3_fastConfigure16b() : acpy3.h
  • ACPY3_fastConfigure32b() : acpy3.h
  • ACPY3_fastSetFinal() : acpy3.h
  • ACPY3_init() : acpy3.h
  • ACPY3_INSTR_registerHooks() : acpy3_instr.h
  • ACPY3_INSTR_unregisterHooks() : acpy3_instr.h
  • ACPY3_setFinal() : acpy3.h
  • ACPY3_start() : acpy3.h
  • ACPY3_wait() : acpy3.h
  • ACPY3_waitLinked() : acpy3.h

- d -

  • DMAN3_createChannels() : dman3.h
  • DMAN3_exit() : dman3.h
  • DMAN3_freeChannels() : dman3.h
  • DMAN3_grantDmaChannels() : dman3.h
  • DMAN3_init() : dman3.h
  • DMAN3_releaseDmaChannels() : dman3.h
  • 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_QOS_getStat() : dskt2_qos.h

- g -

  • GT_init() : gt.h

- h -

  • HDVICP_configure() : hdintc.h
  • HDVICP_done() : hdintc.h
  • HDVICP_wait() : hdintc.h
  • HDVICPSYNC_done() : hdvicpsync.h
  • HDVICPSYNC_start() : hdvicpsync.h
  • HDVICPSYNC_unregister() : hdvicpsync.h
  • HDVICPSYNC_wait() : hdvicpsync.h

- i -

  • IRESMAN_ADDRSPACE_exit() : iresman_addrspace.h
  • IRESMAN_ADDRSPACE_freeHandle() : iresman_addrspace.h
  • IRESMAN_ADDRSPACE_getHandles() : iresman_addrspace.h
  • IRESMAN_ADDRSPACE_getProtocolName() : iresman_addrspace.h
  • IRESMAN_ADDRSPACE_getProtocolRevision() : iresman_addrspace.h
  • IRESMAN_ADDRSPACE_init() : iresman_addrspace.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_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_MEMTCM_exit() : iresman_memtcm.h
  • IRESMAN_MEMTCM_freeHandle() : iresman_memtcm.h
  • IRESMAN_MEMTCM_getHandles() : iresman_memtcm.h
  • IRESMAN_MEMTCM_getProtocolName() : iresman_memtcm.h
  • IRESMAN_MEMTCM_getProtocolRevision() : iresman_memtcm.h
  • IRESMAN_MEMTCM_init() : iresman_memtcm.h
  • IRESMAN_SDMA_exit() : iresman_sdma.h
  • IRESMAN_SDMA_freeHandle() : iresman_sdma.h
  • IRESMAN_SDMA_getHandles() : iresman_sdma.h
  • IRESMAN_SDMA_getProtocolName() : iresman_sdma.h
  • IRESMAN_SDMA_getProtocolRevision() : iresman_sdma.h
  • IRESMAN_SDMA_init() : iresman_sdma.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_assignResources() : rman.h
  • RMAN_deactivateAllResources() : rman.h
  • RMAN_deactivateResource() : rman.h
  • RMAN_exit() : rman.h
  • RMAN_freeResources() : rman.h
  • RMAN_init() : rman.h
  • RMAN_register() : rman.h
  • RMAN_unregister() : rman.h
  • RMAN_yield() : rman.h

- s -

  • SCPY_complete() : scpy.h
  • SCPY_configure() : scpy.h
  • SCPY_exit() : scpy.h
  • SCPY_init() : scpy.h
  • SCPY_start() : scpy.h
  • SCPY_wait() : scpy.h

- v -

  • VICPSYNC_done() : vicpsync.h
  • VICPSYNC_start() : vicpsync.h
  • VICPSYNC_unregister() : vicpsync.h
  • VICPSYNC_wait() : vicpsync.h


Framework Components: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • d
  • h
  • i
  • r
  • s
  • x

- a -

  • ACPY3_INSTR_HookFxn : acpy3_instr.h

- d -

  • DMAN3_ScratchAllocFxn : dman3.h
  • DMAN3_ScratchFreeFxn : dman3.h
  • DSKT2_CacheWBInvFxn : dskt2.h

- h -

  • HDVICP_Handle : hdintc.h
  • HDVICP_Obj : hdintc.h

- i -

  • IALG_Cmd : ialg.h
  • IALG_Handle : ialg.h
  • IDMA3_Handle : idma3.h
  • IDMA3_ProtocolHandle : idma3.h
  • IRES_ADDRSPACE_Handle : ires_addrspace.h
  • IRES_ContextRestoreFxn : ires.h
  • IRES_ContextSaveFxn : ires.h
  • IRES_EDMA3CHAN_Handle : ires_edma3Chan.h
  • IRES_Handle : ires_common.h
  • IRES_HDVICP_Handle : ires_hdvicp.h
  • IRES_MEMTCM_Handle : ires_memtcm.h
  • IRES_SDMA_Handle : ires_sdma.h
  • IRES_VICP2_Handle : ires_vicp2.h
  • IRES_VICP_Handle : ires_vicp.h
  • IRES_YieldArgs : ires.h
  • IRES_YieldContextHandle : ires.h
  • IRES_YieldFxn : ires.h
  • IRESMAN_PersistentAllocFxn : iresman.h
  • IRESMAN_PersistentFreeFxn : iresman.h

- r -

  • RMAN_SemHandle : rman.h

- s -

  • SHMBUF_Handle : shmbuf.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: Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • a
  • d
  • h
  • i
  • r
  • s
  • t
  • v

- _ -

  • _RMAN_allocPersistent : iresman_addrspace.h , iresman_edma3Chan.h , iresman_memtcm.h , iresman_sdma.h , iresman_hdvicp.h , iresman_vicp.h , iresman_vicp2.h
  • _RMAN_freePersistent : iresman_addrspace.h , iresman_hdvicp.h , iresman_memtcm.h , iresman_vicp.h , iresman_vicp2.h , iresman_edma3Chan.h , iresman_sdma.h

- a -

  • ACPY3_PROTOCOL : acpy3.h

- d -

  • DMAN3_PARAMS : dman3.h

- h -

  • HDINTC_PARAMS : hdintc.h
  • HDVICPSYNC_PARAMS : hdvicpsync.h

- i -

  • IRESMAN_ADDRSPACE : iresman_addrspace.h
  • IRESMAN_EDMA3CHAN : iresman_edma3Chan.h
  • IRESMAN_EDMA3CHAN_CONSTRUCTFXNS : iresman_edma3Chan.h
  • IRESMAN_HDVICP : iresman_hdvicp.h
  • IRESMAN_MEMTCM : iresman_memtcm.h
  • IRESMAN_SDMA : iresman_sdma.h
  • IRESMAN_VICP : iresman_vicp.h
  • IRESMAN_VICP2 : iresman_vicp2.h

- r -

  • RMAN_FREE_ENTRIES : rman.h
  • RMAN_numRegistryEntries : rman.h
  • RMAN_PARAMS : rman.h
  • RMAN_registryEntries : rman.h
  • RMAN_registryResmanArgs : rman.h
  • RMAN_TABLE : rman.h

- s -

  • SHMBUF_MGRFXNS : shmbuf.h
  • SHMBUF_PARAMS : shmbuf.h
  • SHMBUF_REQFXNS : shmbuf.h

- t -

  • ti_sdo_fc_dman3_DMAN3_numQdmaGroup : dman3.h

- v -

  • VICPSYNC_PARAMS : vicpsync.h


Framework Components: 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: gt.h Source File

  • File List
  • Globals
packages » ti » sdo » utils » trace

gt.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2010, 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  *  ======== gt.h ========
00035  */
00036
00064 /*  Note        There are two definitions that affect which portions of trace
00065  *              are actually compiled into the client: @c GT_TRACE and
00066  *              @c GT_ASSERT. If @c GT_TRACE is set to 0 then all trace
00067  *              statements (except for assertions) will be compiled
00068  *              out of the client. If @c GT_ASSERT is set to 0 then
00069  *              assertions will be compiled out of the
00070  *              client.  @c GT_ASSERT can not be set to 0 unless @c GT_TRACE
00071  *              is also set to 0 (i.e. @c GT_TRACE == 1 implies @c GT_ASSERT
00072  *              == 1).
00073  */
00074
00075 #ifndef ti_sdo_utils_trace_GT_
00076 #define ti_sdo_utils_trace_GT_
00077
00078 #ifdef __cplusplus
00079 extern "C" {
00080 #endif
00081
00084
00087 #ifndef GT_TRACE
00088 #define GT_TRACE 1  /* 0 = "trace compiled out"; 1 = "trace active" */
00089 #endif
00090
00091 #if !defined(GT_ASSERT) || GT_TRACE
00092 #define GT_ASSERT 1
00093 #endif
00094
00095 typedef Void   (*GT_PrintFxn)(String fmt, ...);
00096 typedef Ptr    (*GT_MallocFxn)(Int size);
00097 typedef Void   (*GT_FreeFxn)(Ptr addr, Int size);
00098 typedef UInt32 (*GT_TimeFxn)(Void);
00099
00100 typedef struct {
00101     GT_PrintFxn  PRINTFXN;
00102     Fxn          PIDFXN;
00103     Fxn          TIDFXN;
00104     GT_PrintFxn  ERRORFXN;
00105     GT_MallocFxn MALLOCFXN;
00106     GT_FreeFxn   FREEFXN;
00107     GT_TimeFxn   TIMEFXN;
00108     Fxn          LOCKFXN;
00109     Fxn          UNLOCKFXN;
00110     Fxn          INITFXN;
00111 } GT_Config;
00112
00113 #if (GT_TRACE != 0) || (GT_ASSERT !=0 )
00114 extern __FAR__ GT_Config *GT;
00115 #endif
00116
00131 typedef struct {
00132     String      modName;
00133     UInt8      *flags;
00134 } GT_Mask;
00135
00136
00137 /*
00138  *  New GT Class definitions.
00139  *
00140  * [dm]TODO:H new proposal for how we should use different tracing classes: {
00141  *
00142  * - GT_ENTER (class 0): On entry to *and exit from* functions: consider
00143  *                       in general this class to be of interest to users
00144  *
00145  * - GT_1CLASS : debugging info of interest to module developer only
00146  *
00147  * - GT_2CLASS : info for developer that *might* be of interest to users
00148  *
00149  * - GT_3CLASS : open (module developer can creatively use this one)
00150  *
00151  * - GT_4CLASS : info for developer that's likely to be important to the users
00152  *
00153  * - GT_5CLASS : benchmarking
00154  *
00155  * - GT_6CLASS : warnings
00156  *
00157  * - GT_7CLASS : errors
00158  *
00159  * }
00160  */
00161
00165 #define GT_ENTER        ((UInt8)0x01)
00166
00167 #define GT_1CLASS       ((UInt8)0x02)
00168 #define GT_2CLASS       ((UInt8)0x04)
00169 #define GT_3CLASS       ((UInt8)0x08)
00170 #define GT_4CLASS       ((UInt8)0x10)
00176 #define GT_5CLASS       ((UInt8)0x20)
00177
00182 #define GT_6CLASS       ((UInt8)0x40)
00183
00188 #define GT_7CLASS       ((UInt8)0x80)
00189
00190 /*
00191  *  ======== _GT_create ========
00192  */
00212 extern Void _GT_create(GT_Mask *mask, String modName);
00213
00214
00217 extern UInt32 GT_curTime(Void);
00218
00219 #define GT_exit()
00220
00223 /*
00224  *  ======== GT_init ========
00225  */
00232 extern Void GT_init(Void);
00233
00234
00235 /*
00236  *  ======== _GT_set ========
00237  */
00248 extern Void _GT_set(String str);
00249
00250
00251 /*
00252  *  ======== _GT_trace ========
00253  */
00276 extern Int _GT_trace(GT_Mask *mask, Int classId, String format, ...);
00277
00279 extern Void GT_disable(Void);
00280 extern Void GT_enable(Void);
00281 extern Bool GT_getModNameFlags(String modName, UInt8 *flags);
00282
00283 #if GT_ASSERT == 0
00284
00285 #define GT_assert( mask, expr )
00286 #define GT_config( config )
00287 #define GT_configInit( config )
00288 #define GT_seterror( fxn )
00289
00290 #else
00291
00292 extern GT_Config _ti_sdo_utils_trace_GT_params;
00293
00294 #define GT_assert( mask, expr ) \
00295         (!(expr) ? \
00296             (*GT->ERRORFXN)("assertion violation: %s, line %d\n", \
00297                             __FILE__, __LINE__), NULL : NULL)
00298
00299 #define GT_config(config)     (_ti_sdo_utils_trace_GT_params = *(config))
00300 #define GT_configInit(config) (*(config) = _ti_sdo_utils_trace_GT_params)
00301 #define GT_seterror(fxn) (_ti_sdo_utils_trace_GT_params.ERRORFXN = (Fxn)(fxn))
00302
00303 #endif
00304
00307 #if GT_TRACE == 0
00308
00311 #define GT_curLine()                ((MdUns)__LINE__)
00312 #define GT_curTime()                ((UInt32)0)
00313 #define GT_create(mask, modName)
00314 #define GT_exit()
00315 #define GT_init()
00316 #define GT_set(str)
00317 #define GT_setprintf( fxn )
00318
00319 #define GT_query( mask, classId )     FALSE
00320
00321 #define GT_0trace( mask, classId, format )
00322 #define GT_1trace( mask, classId, format, arg1 )
00323 #define GT_2trace( mask, classId, format, arg1, arg2 )
00324 #define GT_3trace( mask, classId, format, arg1, arg2, arg3 )
00325 #define GT_4trace( mask, classId, format, arg1, arg2, arg3, arg4 )
00326 #define GT_5trace( mask, classId, format, arg1, arg2, arg3, arg4, arg5 )
00327 #define GT_6trace( mask, classId, format, arg1, arg2, arg3, arg4, arg5, arg6 )
00328
00331 #else   /* GT_TRACE == 1 */
00332
00335 extern String GT_format;
00336
00337 #define GT_curLine()      ((MdUns)__LINE__)
00338 #define GT_setprintf(fxn) (_ti_sdo_utils_trace_GT_params.PRINTFXN = (fxn))
00339
00340 #define GT_query(mask, classId) ((*(mask).flags & (classId)))
00341
00347 #define GT_create(mask, modName)    _GT_create((mask), (modName))
00348
00352 #define GT_set(str)                 _GT_set(str)
00353
00357 #define GT_0trace( mask, classId, format ) \
00358     ((*(mask).flags & (classId)) ? \
00359     _GT_trace(&(mask), (classId), (format)) : 0)
00360
00364 #define GT_1trace( mask, classId, format, arg1 ) \
00365     ((*(mask).flags & (classId)) ? \
00366     _GT_trace(&(mask), (classId), (format), (arg1)) : 0)
00367
00371 #define GT_2trace( mask, classId, format, arg1, arg2 ) \
00372     ((*(mask).flags & (classId)) ? \
00373     _GT_trace(&(mask), (classId), (format), (arg1), (arg2)) : 0)
00374
00378 #define GT_3trace( mask, classId, format, arg1, arg2, arg3 ) \
00379     ((*(mask).flags & (classId)) ? \
00380     _GT_trace(&(mask), (classId), (format), (arg1), (arg2), (arg3)) : 0)
00381
00385 #define GT_4trace( mask, classId, format, arg1, arg2, arg3, arg4 ) \
00386     ((*(mask).flags & (classId)) ? \
00387     _GT_trace(&(mask), (classId), (format), (arg1), (arg2), (arg3), (arg4)) : 0)
00388
00392 #define GT_5trace( mask, classId, format, arg1, arg2, arg3, arg4, arg5 ) \
00393     ((*(mask).flags & (classId)) ? \
00394     _GT_trace(&(mask), (classId), (format), (arg1), (arg2), (arg3), (arg4), (arg5)) : 0)
00395
00399 #define GT_6trace( mask, classId, format, arg1, arg2, arg3, arg4, arg5, arg6 ) \
00400     ((*(mask).flags & (classId)) ? \
00401     _GT_trace(&(mask), (classId), (format), (arg1), (arg2), (arg3), (arg4), \
00402         (arg5), (arg6)) : 0)
00403
00404
00405
00406 #endif /* GT_TRACE */
00407   /* ingroup */
00409
00410 #ifdef __cplusplus
00411 }
00412 #endif
00413
00414 #endif
00415
00416 /*
00417  */
00418 /*
00419  *  @(#) ti.sdo.utils.trace; 1, 0, 0,186; 12-1-2010 17:26:17; /db/atree/library/trees/fc/fc-p01x/src/ xlibrary
00420
00421  */
00422


Framework Components: hdintc.h Source File

  • File List
  • Globals
packages » ti » sdo » fc » hdintc

hdintc.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2010, 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  */
00053 #ifndef ti_sdo_fc_hdintc_HDINTC_
00054 #define ti_sdo_fc_hdintc_HDINTC_
00055
00058
00059
00060 #ifdef __cplusplus
00061 extern "C" {
00062 #endif
00063
00064 #include <ti/xdais/ialg.h>
00065 #include <ti/xdais/xdas.h>
00066
00067 #define HDINTC_GTNAME "ti.sdo.fc.hdintc"
00074 #define HDINTC_SOK             0
00075 #define HDINTC_EOUTOFMEMORY   -1
00077 #define HDINTC_EFAIL          -2
00079
00080
00089 typedef struct HDINTC_Params {
00090
00096      int interruptVectorId_0;
00097
00103      int interruptVectorId_1;
00104
00113     int hdvicpInterruptEventNo_0;
00114
00122     int hdvicpInterruptEventNo_1;
00123
00131     int biosInterruptVectorId_0;
00132
00140     int biosInterruptVectorId_1;
00141
00152     int biosInterruptEventNo_0;
00153
00164     int biosInterruptEventNo_1;
00165 } HDINTC_Params;
00166
00167
00171 extern HDINTC_Params HDINTC_PARAMS;
00172
00173 /*---------------------------------------------------------------------------*/
00174 /*  Dummy structure for HDVICP handle. Currently not at all used by the      */
00175 /*  algorithm except for passing it with hdvicp calls.                       */
00176 /*---------------------------------------------------------------------------*/
00177 typedef struct hdvicpAppHandle
00178 {
00179     /*-----------------------------------*/
00180     /* handle size useful when extended  */
00181     /*-----------------------------------*/
00182     XDAS_UInt32    handleSize;
00183
00184     /*-----------------------------------*/
00185     /*  process-Id                       */
00186     /*-----------------------------------*/
00187     XDAS_UInt32    processId;
00188
00189     /*-----------------------------------*/
00190     /* application specific information  */
00191     /*-----------------------------------*/
00192     void*       info;
00193
00194 } HDVICP_Obj;
00195
00196 typedef HDVICP_Obj* HDVICP_Handle;
00197
00198
00216 /*===========================================================================*/
00217 void HDVICP_configure(IALG_Handle handle,
00218                       void * hdvicpHandle,
00219                       void (*ISRfunctionptr)(IALG_Handle handle));
00220
00221
00235 void HDVICP_wait (void * hdvicpHandle);
00236
00237
00251 void HDVICP_done (void * hdvicpHandle);
00252
00253 #ifdef __cplusplus
00254 }
00255 #endif /* extern "C" */
00256
00259 #endif
00260 /*
00261  *  @(#) ti.sdo.fc.hdintc; 1, 0, 4,133; 12-1-2010 17:24:48; /db/atree/library/trees/fc/fc-p01x/src/ xlibrary
00262
00263  */
00264


Framework Components: hdvicpsync.h Source File

  • File List
  • Globals
packages » ti » sdo » fc » hdvicpsync

hdvicpsync.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2010, 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  */
00049 #ifndef ti_sdo_fc_hdvicpsync_HDVICPSYNC_
00050 #define ti_sdo_fc_hdvicpsync_HDVICPSYNC_
00051
00054
00055
00056 #ifdef __cplusplus
00057 extern "C" {
00058 #endif
00059
00060 #include <ti/xdais/ialg.h>
00061 #include <ti/sdo/fc/ires/hdvicp/ires_hdvicp.h>
00062
00066 #define HDVICPSYNC_GTNAME "ti.sdo.fc.hdvicpsync"
00067
00068
00072 typedef struct HDVICPSYNC_Params {
00073     int size;
00074 } HDVICPSYNC_Params;
00075
00079 typedef enum HDVICPSYNC_InterruptType {
00080     HDVICPSYNC_IRQ,
00081     HDVICPSYNC_FIQ
00082 } HDVICPSYNC_InterruptType;
00083
00084 typedef enum HDVICPSYNC_Status {
00085     HDVICPSYNC_OK,
00086     HDVICPSYNC_EFAIL,
00087     HDVICPSYNC_ENORESOURCE
00089 } HDVICPSYNC_Status;
00090
00091
00095 extern HDVICPSYNC_Params HDVICPSYNC_PARAMS;
00096
00110 HDVICPSYNC_Status HDVICPSYNC_start(IALG_Handle handle,
00111         HDVICPSYNC_InterruptType intType, IRES_HDVICP_Handle hdvicpHandle);
00112
00124 HDVICPSYNC_Status HDVICPSYNC_wait(IRES_HDVICP_Handle hdvicpHandle);
00125
00126 /*===========================================================================*/
00139 /*===========================================================================*/
00140 HDVICPSYNC_Status HDVICPSYNC_unregister(IRES_HDVICP_Handle hdvicpHandle);
00141
00154 Bool HDVICPSYNC_done(IRES_HDVICP_Handle hdvicpHandle);
00155
00156 #ifdef __cplusplus
00157 }
00158 #endif /* extern "C" */
00159
00160
00163 #endif
00164 /*
00165  *  @(#) ti.sdo.fc.hdvicpsync; 1, 0, 0,121; 12-1-2010 17:24:52; /db/atree/library/trees/fc/fc-p01x/src/ xlibrary
00166
00167  */
00168


Framework Components: ialg.h Source File

  • File List
  • Globals
fctools » packages » ti » xdais

ialg.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2010, 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,243; 5-4-2010 08:43:56; /db/wtree/library/trees/dais/dais-q11x/src/
00765  */
00766


Framework Components: idma3.h Source File

  • File List
  • Globals
fctools » packages » ti » xdais

idma3.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2010, 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 IDMA3_
00048 #define IDMA3_
00049
00052
00053
00054 #ifdef __cplusplus
00055 extern "C" {
00056 #endif
00057
00058 #include "ialg.h"
00059
00063 typedef enum IDMA3_MemType {
00064     IDMA3_INTERNAL,
00065     IDMA3_EXTERNAL
00066 } IDMA3_MemType;
00067
00068
00074 typedef struct IDMA3_MemRec {
00075
00077     Void *base;
00078
00080     Uns size;
00081
00086     Uns align;
00087
00089     IDMA3_MemType memType;
00090
00091 } IDMA3_MemRec;
00092
00093
00097 typedef struct IDMA3_Obj *IDMA3_Handle;
00098
00099
00103 typedef struct IDMA3_ProtocolObj *IDMA3_ProtocolHandle;
00104
00105
00115 #define IDMA3_PROTOCOL_NULL ((IDMA3_ProtocolHandle)NULL)
00116
00117
00121 typedef enum IDMA3_Priority {
00122
00123     IDMA3_PRIORITY_URGENT,
00124     IDMA3_PRIORITY_HIGH,
00125     IDMA3_PRIORITY_MEDIUM,
00126     IDMA3_PRIORITY_LOW
00127
00128 } IDMA3_Priority;
00129
00130
00134 typedef struct IDMA3_ChannelRec {
00135
00137     IDMA3_Handle handle;
00138
00143     Int numTransfers;
00144
00149     Int numWaits;
00150
00152     IDMA3_Priority priority;
00153
00162     IDMA3_ProtocolHandle protocol;
00163
00169     Bool persistent;
00170
00171 } IDMA3_ChannelRec;
00172
00173
00180 typedef struct IDMA3_Fxns {
00181
00186     Void *implementationId;
00187
00192     Void (*dmaChangeChannels)(IALG_Handle handle, IDMA3_ChannelRec *chnlRec);
00193
00198     Uns (*dmaGetChannelCnt)(Void);
00199
00204     Uns (*dmaGetChannels)(IALG_Handle handle, IDMA3_ChannelRec *chnlRec);
00205
00210     Int (*dmaInit)(IALG_Handle handle, IDMA3_ChannelRec *chnlRec);
00211
00212 } IDMA3_Fxns;
00213
00214
00239 typedef struct IDMA3_ProtocolObj {
00240
00244     String name;
00245
00250     Void (*getEnvMemRec)(IDMA3_ChannelRec *chnlRec, IDMA3_MemRec *memRec);
00251
00265     Bool (*initHandle)(IDMA3_Handle handle);
00266
00271     Bool (*deInitHandle)(IDMA3_Handle handle);
00272
00273 } IDMA3_ProtocolObj;
00274
00275
00280 typedef struct IDMA3_Obj {
00281
00283     unsigned short numTccs;
00284
00286     unsigned short numPaRams;
00287
00289     unsigned char *tccTable;
00290
00292     Uns *paRamAddr;
00293
00295     unsigned short qdmaChan;
00296
00301     Bool transferPending;
00302
00325     Void *env;
00326
00331     IDMA3_ProtocolHandle protocol;
00332
00334     Bool persistent;
00335
00336 } IDMA3_Obj;
00337
00338
00342 #ifdef __cplusplus
00343 }
00344 #endif /* extern "C" */
00345
00346
00347 #endif  /* IDMA3_ */
00348
00349 /*
00350  *  @(#) ti.xdais; 1, 2.0, 1,243; 5-4-2010 08:43:56; /db/wtree/library/trees/dais/dais-q11x/src/
00351  */
00352


Framework Components: ires.h Source File

  • File List
  • Globals
fctools » packages » ti » xdais

ires.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2010, 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
00199     IRES_Status (*initResources)(IALG_Handle handle,
00200             IRES_ResourceDescriptor * resourceDescriptor,
00201             IRES_YieldFxn  yieldFxn,
00202             IRES_YieldArgs yieldArgs);
00203
00214     IRES_Status (*reinitResources)(IALG_Handle handle,
00215             IRES_ResourceDescriptor * resourceDescriptor,
00216             IRES_YieldFxn  yieldFxn,
00217             IRES_YieldArgs yieldArgs);
00218
00223     IRES_Status (*deinitResources)(IALG_Handle handle,
00224             IRES_ResourceDescriptor * resourceDescriptor);
00225
00235     IRES_Status (*activateResource)(IALG_Handle handle,
00236             IRES_Handle resourceHandle);
00237
00244     IRES_Status (*activateAllResources)(IALG_Handle handle);
00245
00252     IRES_Status (*deactivateResource)(IALG_Handle handle,
00253             IRES_Handle resourceHandle);
00254
00261      IRES_Status (*deactivateAllResources)(IALG_Handle handle);
00262
00263 } IRES_Fxns;
00264
00268 #ifdef __cplusplus
00269 }
00270 #endif /* extern "C" */
00271
00272
00273 #endif  /* IRES_ */
00274 /*
00275  *  @(#) ti.xdais; 1, 2.0, 1,243; 5-4-2010 08:43:56; /db/wtree/library/trees/dais/dais-q11x/src/
00276  */
00277


Framework Components: ires_addrspace.h Source File

  • File List
  • Globals
packages » ti » sdo » fc » ires » addrspace

ires_addrspace.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2010, 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 ti_sdo_fc_ires_addrspace_IRES_ADDRSPACE_
00042 #define ti_sdo_fc_ires_addrspace_IRES_ADDRSPACE_
00043
00046
00047
00048 #ifdef __cplusplus
00049 extern "C" {
00050 #endif
00051
00052 #include <ti/xdais/ires.h>
00053
00057 #define IRES_ADDRSPACE_PROTOCOLNAME \
00058         "ti.sdo.fc.ires.addrspace"
00059
00063 #define ADDRSPACE_GTNAME  "ti.sdo.fc.ires.addrspace"
00064
00065 /*
00066  * Note, we wrap the PROTOCOLVERSION in an ifdef so the
00067  * resource managers and algs get this version data placed in their object
00068  * files.  Apps, which include rman.h, will have this 'NOPROTOCOLREV' defined.
00069  */
00070 #ifndef ti_sdo_fc_ires_NOPROTOCOLREV
00071
00075 static IRES_ProtocolRevision IRES_ADDRSPACE_PROTOCOLREVISION = {1, 0, 0};
00076
00077 #endif
00078
00082 typedef struct IRES_ADDRSPACE_Obj *IRES_ADDRSPACE_Handle;
00083
00084
00089 typedef enum IRES_ADDRSPACE_AccessType {
00090     IRES_ADDRSPACE_READ = 1,
00091     IRES_ADDRSPACE_WRITE = 2,
00092     IRES_ADDRSPACE_EXEC = 4,
00093     IRES_ADDRSPACE_NONE = 8
00094 } IRES_ADDRSPACE_AccessType;
00095
00099 typedef struct IRES_ADDRSPACE_ProtocolArgs {
00100
00101     IRES_ProtocolArgs   base;
00102     Void *              addr;
00103     unsigned int        len;
00104     IRES_ADDRSPACE_AccessType
00105                         attrib;
00107 } IRES_ADDRSPACE_ProtocolArgs;
00108
00114 typedef struct  IRES_ADDRSPACE_Obj {
00115     IRES_Obj            ires;
00116     Void *              addr;
00117     unsigned int        len;
00118 } IRES_ADDRSPACE_Obj;
00119
00120 /*
00121  * @brief       Static Resource Properties
00122  */
00123 typedef struct IRES_ADDRSPACE_Properties {
00124     int size;
00125 } IRES_ADDRSPACE_Properties;
00126
00130 #ifdef __cplusplus
00131 }
00132 #endif /* extern "C" */
00133
00134
00135 #endif
00136 /*
00137  *  @(#) ti.sdo.fc.ires.addrspace; 1, 0, 0,61; 12-1-2010 17:24:55; /db/atree/library/trees/fc/fc-p01x/src/ xlibrary
00138
00139  */
00140


Framework Components: 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) 2010, 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
00135     struct IRES_ProtocolArgs  *protocolArgs;
00136
00141     IRES_ProtocolRevision *revision;
00142
00149     struct IRES_Obj * handle;
00150
00151 } IRES_ResourceDescriptor;
00152
00162 typedef struct IRES_Properties {
00163     Int32 size;
00164 } IRES_Properties;
00165
00170 typedef struct IRES_Obj {
00171
00175     Int32 persistent;
00176
00182     Void (*getStaticProperties) (struct IRES_Obj * resourceHandle,
00183         IRES_Properties * resourceProperties);
00184
00185 } IRES_Obj;
00186
00190 typedef struct IRES_Obj *IRES_Handle;
00191
00192
00193
00194 #ifdef __cplusplus
00195 }
00196 #endif /* extern "C" */
00197
00200 #endif  /* IRES_COMMON_ */
00201 /*
00202  *  @(#) ti.xdais; 1, 2.0, 1,243; 5-4-2010 08:43:56; /db/wtree/library/trees/dais/dais-q11x/src/
00203  */
00204


Framework Components: 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) 2010, 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/ires.h>
00059
00063 #define IRES_EDMA3CHAN_PROTOCOLNAME     "ti.sdo.fc.ires.edma3chan"
00064
00068 #define EDMA3CHAN_GTNAME "ti.sdo.fc.ires.edma3chan"
00069
00070 /*
00071  * Note, we wrap the PROTOCOLVERSION in an ifdef so the
00072  * resource managers and algs get this version data placed in their object
00073  * files.  Apps, which include rman.h, will have this 'NOPROTOCOLREV' defined.
00074  */
00075 #ifndef ti_sdo_fc_ires_NOPROTOCOLREV
00076
00080 static IRES_ProtocolRevision IRES_EDMA3CHAN_PROTOCOLREVISION = {1, 0, 0};
00081
00082 #endif
00083
00088 #define IRES_EDMA3CHAN_MAXPARAMS        512
00089 #define IRES_EDMA3CHAN_MAXTCCS          32
00090
00094 #define IRES_EDMA3CHAN_PARAM_ANY        512
00095 #define IRES_EDMA3CHAN_PARAM_NONE       513
00096 #define IRES_EDMA3CHAN_TCC_ANY          514
00097 #define IRES_EDMA3CHAN_TCC_NONE         515
00098 #define IRES_EDMA3CHAN_EDMACHAN_ANY     516
00099 #define IRES_EDMA3CHAN_QDMACHAN_ANY     516
00100 #define IRES_EDMA3CHAN_CHAN_NONE        518
00101
00105 typedef struct IRES_EDMA3CHAN_Obj *IRES_EDMA3CHAN_Handle;
00106
00110 typedef struct IRES_EDMA3CHAN_PaRamStruct {
00111     unsigned int opt;
00112     unsigned int src;
00113     unsigned short acnt;
00114     unsigned short bcnt;
00115     unsigned int dst;
00116     unsigned short srcElementIndex;
00117     unsigned short dstElementIndex;
00118     unsigned short link;
00119     unsigned short bCntrld;
00120     unsigned short srcFrameIndex;
00121     unsigned short dstFrameIndex;
00122     unsigned short ccnt;
00123     unsigned short rsvd;
00124 } IRES_EDMA3CHAN_PaRamStruct;
00125
00143 typedef struct IRES_EDMA3CHAN_ProtocolArgs {
00144     int     size;
00145     IRES_RequestMode mode;
00148     short   numPaRams;
00151     short   paRamIndex;
00157     short   numTccs;
00160     short   tccIndex;
00166     short   qdmaChan;
00167     short   edmaChan;
00176                                   /*
00177                                    * If either QDMA or EDMA channel is not
00178                                    * required , set (qdmaChan or edmaChan)
00179                                    * to IRES_EDMA3CHAN_CHAN_NONE while
00180                                    * requesting an EDMA3CHAN handle.
00181                                    */
00182
00183     short contiguousAllocation;
00187     short shadowPaRamsAllocation;
00190 } IRES_EDMA3CHAN_ProtocolArgs;
00191
00197 typedef struct  IRES_EDMA3CHAN_Obj {
00198
00199     IRES_Obj ires;
00200     IRES_EDMA3CHAN_PaRamStruct * shadowPaRams;
00202     unsigned int * assignedPaRamAddresses;
00204     short * assignedPaRamIndices;
00205     short * assignedTccIndices;
00206     short assignedNumPaRams;
00207     short assignedNumTccs;
00208     short assignedQdmaChannelIndex;
00213     short assignedEdmaChannelIndex;
00218     unsigned int esrBitMaskL;
00219     unsigned int esrBitMaskH;
00222     unsigned int iprBitMaskL;
00223     unsigned int iprBitMaskH;
00226 } IRES_EDMA3CHAN_Obj;
00227
00232 typedef struct IRES_EDMA3CHAN_EDMA3ShadowRegister {
00233     volatile unsigned int ER;
00234     volatile unsigned int ERH;
00235     volatile unsigned int ECR;
00236     volatile unsigned int ECRH;
00237     volatile unsigned int ESR;
00238     volatile unsigned int ESRH;
00239     volatile unsigned int CER;
00240     volatile unsigned int CERH;
00241     volatile unsigned int EER;
00242     volatile unsigned int EERH;
00243     volatile unsigned int EECR;
00244     volatile unsigned int EECRH;
00245     volatile unsigned int EESR;
00246     volatile unsigned int EESRH;
00247     volatile unsigned int SER;
00248     volatile unsigned int SERH;
00249     volatile unsigned int SECR;
00250     volatile unsigned int SECRH;
00251     volatile unsigned char RSVD0[8];
00252     volatile unsigned int IER;
00253     volatile unsigned int IERH;
00254     volatile unsigned int IECR;
00255     volatile unsigned int IECRH;
00256     volatile unsigned int IESR;
00257     volatile unsigned int IESRH;
00258     volatile unsigned int IPR;
00259     volatile unsigned int IPRH;
00260     volatile unsigned int ICR;
00261     volatile unsigned int ICRH;
00262     volatile unsigned int IEVAL;
00263     volatile unsigned char RSVD1[4];
00264     volatile unsigned int QER;
00265     volatile unsigned int QEER;
00266     volatile unsigned int QEECR;
00267     volatile unsigned int QEESR;
00268     volatile unsigned int QSER;
00269     volatile unsigned int QSECR;
00270     volatile unsigned char RSVD2[360];
00271
00272 } IRES_EDMA3CHAN_EDMA3ShadowRegister;
00273
00278 typedef struct IRES_EDMA3CHAN_EDMA3DraeRegister {
00279     volatile unsigned int DRAE;
00280     volatile unsigned int DRAEH;
00281 } IRES_EDMA3CHAN_EDMA3DraeRegister;
00282
00283 /*
00284  * @brief           IRES_EDMA3CHAN_EDMA3RegisterLayer defines the EDMA3 CC
00285  *                  Register Layout
00286  */
00287 typedef struct IRES_EDMA3CHAN_EDMA3RegisterLayer {
00288     volatile unsigned int REV;
00289     volatile unsigned int CCCFG;
00290     volatile unsigned char RSVD0[248];
00291     volatile unsigned int DCHMAP[64];
00292     volatile unsigned int QCHMAP[8];
00293     volatile unsigned char RSVD1[32];
00294     volatile unsigned int DMAQNUM[8];
00295     volatile unsigned int QDMAQNUM;
00296     volatile unsigned char RSVD2[28];
00297     volatile unsigned int QUETCMAP;
00298     volatile unsigned int QUEPRI;
00299     volatile unsigned char RSVD3[120];
00300     volatile unsigned int EMR;
00301     volatile unsigned int EMRH;
00302     volatile unsigned int EMCR;
00303     volatile unsigned int EMCRH;
00304     volatile unsigned int QEMR;
00305     volatile unsigned int QEMCR;
00306     volatile unsigned int CCERR;
00307     volatile unsigned int CCERRCLR;
00308     volatile unsigned int EEVAL;
00309     volatile unsigned char RSVD4[28];
00310     IRES_EDMA3CHAN_EDMA3DraeRegister DRA[8];
00311     volatile unsigned int QRAE[8];
00312     volatile unsigned char RSVD5[96];
00313     volatile unsigned int QUEEVTENTRY[8][16];
00314     volatile unsigned int QSTAT[8];
00315     volatile unsigned int QWMTHRA;
00316     volatile unsigned int QWMTHRB;
00317     volatile unsigned char RSVD6[24];
00318     volatile unsigned int CCSTAT;
00319     volatile unsigned char RSVD7[188];
00320     volatile unsigned int AETCTL;
00321     volatile unsigned int AETSTAT;
00322     volatile unsigned int AETCMD;
00323     volatile unsigned char RSVD8[244];
00324     volatile unsigned int MPFAR;
00325     volatile unsigned int MPFSR;
00326     volatile unsigned int MPFCR;
00327     volatile unsigned int MPPAG;
00328     volatile unsigned int MPPA[8];
00329     volatile unsigned char RSVD9[2000];
00330     volatile unsigned int ER;
00331     volatile unsigned int ERH;
00332     volatile unsigned int ECR;
00333     volatile unsigned int ECRH;
00334     volatile unsigned int ESR;
00335     volatile unsigned int ESRH;
00336     volatile unsigned int CER;
00337     volatile unsigned int CERH;
00338     volatile unsigned int EER;
00339     volatile unsigned int EERH;
00340     volatile unsigned int EECR;
00341     volatile unsigned int EECRH;
00342     volatile unsigned int EESR;
00343     volatile unsigned int EESRH;
00344     volatile unsigned int SER;
00345     volatile unsigned int SERH;
00346     volatile unsigned int SECR;
00347     volatile unsigned int SECRH;
00348     volatile unsigned char RSVD10[8];
00349     volatile unsigned int IER;
00350     volatile unsigned int IERH;
00351     volatile unsigned int IECR;
00352     volatile unsigned int IECRH;
00353     volatile unsigned int IESR;
00354     volatile unsigned int IESRH;
00355     volatile unsigned int IPR;
00356     volatile unsigned int IPRH;
00357     volatile unsigned int ICR;
00358     volatile unsigned int ICRH;
00359     volatile unsigned int IEVAL;
00360     volatile unsigned char RSVD11[4];
00361     volatile unsigned int QER;
00362     volatile unsigned int QEER;
00363     volatile unsigned int QEECR;
00364     volatile unsigned int QEESR;
00365     volatile unsigned int QSER;
00366     volatile unsigned int QSECR;
00367     volatile unsigned char RSVD12[3944];
00368     IRES_EDMA3CHAN_EDMA3ShadowRegister SHADOW[8];
00369     volatile unsigned char RSVD13[4096];
00370     IRES_EDMA3CHAN_PaRamStruct PARAMENTRY[512];
00371 } IRES_EDMA3CHAN_EDMA3RegisterLayer;
00372
00376 typedef struct IRES_EDMA3CHAN_Properties {
00377
00378     unsigned int        numDmaChannels;
00380     unsigned int        numQdmaChannels;
00383     unsigned int        numTccs;
00385     unsigned int        numPaRAMSets;
00386     unsigned int        numEvtQueue;
00388     unsigned int        numTcs;
00391     unsigned int        numRegions;
00401     unsigned short dmaChPaRAMMapExists;
00402
00403     unsigned short memProtectionExists;
00406     IRES_EDMA3CHAN_EDMA3RegisterLayer *globalRegs;
00409 } IRES_EDMA3CHAN_Properties;
00410
00411 #ifdef __cplusplus
00412 }
00413 #endif /* extern "C" */
00414
00417 #endif
00418 /*
00419  *  @(#) ti.sdo.fc.ires.edma3chan; 1, 0, 0,177; 12-1-2010 17:25:02; /db/atree/library/trees/fc/fc-p01x/src/ xlibrary
00420
00421  */
00422


Framework Components: 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) 2010, 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.h>
00060
00064 #define IRES_HDVICP_PROTOCOLNAME     "ti.sdo.fc.ires.hdvicp"
00065
00066
00067 /*
00068  * Note, we wrap the PROTOCOLVERSION in an ifdef so the
00069  * resource managers and algs get this version data placed in their object
00070  * files.  Apps, which include rman.h, will have this 'NOPROTOCOLREV' defined.
00071  */
00072 #ifndef ti_sdo_fc_ires_NOPROTOCOLREV
00073
00077 static IRES_ProtocolRevision IRES_HDVICP_PROTOCOLREVISION = {1, 0, 1};
00078
00079 #endif
00080
00084 typedef struct IRES_HDVICP_Obj *IRES_HDVICP_Handle;
00085
00089 typedef enum IRES_HDVICP_RequestType {
00090
00091     IRES_HDVICP_ID_0 = 0,
00092     IRES_HDVICP_ID_1 = 1,
00093     IRES_HDVICP_ID_ANY = 2
00094 } IRES_HDVICP_RequestType;
00095
00099 typedef struct IRES_HDVICP_ProtocolArgs {
00100
00101    IRES_ProtocolArgs base;
00102    IRES_HDVICP_RequestType id;
00107 } IRES_HDVICP_ProtocolArgs;
00108
00114 typedef struct  IRES_HDVICP_Obj {
00115
00116     IRES_Obj ires;
00117     Void * info ;
00118     Int id;
00122     Void * registerBaseAddress ;
00123     Void * memoryBaseAddress;
00124     unsigned int pscRegisterSpace;
00126 } IRES_HDVICP_Obj;
00127
00128
00132 typedef struct IRES_HDVICP_RegisterLayer {
00133
00134     int size;
00135 } IRES_HDVICP_RegisterLayer;
00136
00137
00141 typedef struct IRES_HDVICP_Properties {
00142
00143     int size;
00144     IRES_HDVICP_RegisterLayer *globalRegs;      /* Register layer of HDVICP */
00145 } IRES_HDVICP_Properties;
00146
00147 #ifdef __cplusplus
00148 }
00149 #endif /* extern "C" */
00150
00153 #endif
00154 /*
00155  *  @(#) ti.sdo.fc.ires.hdvicp; 1, 0, 1,133; 12-1-2010 17:25:16; /db/atree/library/trees/fc/fc-p01x/src/ xlibrary
00156
00157  */
00158


Framework Components: ires_memtcm.h Source File

  • File List
  • Globals
packages » ti » sdo » fc » ires » memtcm

ires_memtcm.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2010, 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 ti_sdo_fc_ires_memtcm_IRES_MEMTCM_
00042 #define ti_sdo_fc_ires_memtcm_IRES_MEMTCM_
00043
00046
00047
00048 #ifdef __cplusplus
00049 extern "C" {
00050 #endif
00051
00052 #include <ti/xdais/ires.h>
00053
00057 #define IRES_MEMTCM_PROTOCOLNAME  "ti.sdo.fc.ires.examples.resources.memtcm"
00058
00062 #define MEMTCM_GTNAME  "ti.sdo.fc.ires.examples.resources.memtcm"
00063
00064 /*
00065  * Note, we wrap the PROTOCOLVERSION in an ifdef so the
00066  * resource managers and algs get this version data placed in their object
00067  * files.  Apps, which include rman.h, will have this 'NOPROTOCOLREV' defined.
00068  */
00069 #ifndef ti_sdo_fc_ires_NOPROTOCOLREV
00070
00074 static IRES_ProtocolRevision IRES_MEMTCM_PROTOCOLREVISION = {1,0,0};
00075
00076 #endif
00077
00081 typedef struct IRES_MEMTCM_Obj *IRES_MEMTCM_Handle;
00082
00086 typedef struct IRES_MEMTCM_ProtocolArgs {
00087
00088    IRES_ProtocolArgs base;
00089
00090    unsigned int memSize;            /* Size of the requested TCM memory */
00091
00092 } IRES_MEMTCM_ProtocolArgs;
00093
00099 typedef struct  IRES_MEMTCM_Obj {
00100
00101     IRES_Obj ires;
00102
00103     unsigned int memSize;           /* Size of the returned TCM memory */
00104
00105     void * memAddr;                 /* Base address of the returned TCM mem */
00106
00107 } IRES_MEMTCM_Obj;
00108
00109 /*
00110  * @brief       Static Resource Properties
00111  */
00112 typedef struct IRES_MEMTCM_Properties {
00113
00114     int size;
00115
00116 } IRES_MEMTCM_Properties;
00117
00121 #ifdef __cplusplus
00122 }
00123 #endif /* extern "C" */
00124
00125
00126 #endif  /* ti_sdo_fc_ires_memtcm_IRES_MEMTCM_ */
00127 /*
00128  *  @(#) ti.sdo.fc.ires.memtcm; 1, 0, 0,45; 12-1-2010 17:25:17; /db/atree/library/trees/fc/fc-p01x/src/ xlibrary
00129
00130  */
00131


Framework Components: ires_sdma.h Source File

  • File List
  • Globals
packages » ti » sdo » fc » ires » sdma

ires_sdma.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2010, 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  */
00049 #ifndef ti_sdo_fc_ires_sdma_IRES_SDMA_
00050 #define ti_sdo_fc_ires_sdma_IRES_SDMA_
00051
00054
00055
00056 #ifdef __cplusplus
00057 extern "C" {
00058 #endif
00059
00060 #include <ti/xdais/ires.h>
00061 #include <ti/sdo/linuxutils/sdma/include/sdma.h>
00062
00066 #define IRES_SDMA_PROTOCOLNAME  "ti.sdo.fc.ires.sdma"
00067
00071 #define SDMA_GTNAME  "ti.sdo.fc.ires.sdma"
00072
00073 /*
00074  * Note, we wrap the PROTOCOLVERSION in an ifdef so the
00075  * resource managers and algs get this version data placed in their object
00076  * files.  Apps, which include rman.h, will have this 'NOPROTOCOLREV' defined.
00077  */
00078 #ifndef ti_sdo_fc_ires_NOPROTOCOLREV
00079
00083 static IRES_ProtocolRevision IRES_SDMA_PROTOCOLREVISION = {1,0,0};
00084
00085 #endif
00086
00090 typedef struct IRES_SDMA_Obj *IRES_SDMA_Handle;
00091
00095 typedef struct IRES_SDMA_ProtocolArgs {
00096
00097     IRES_ProtocolArgs base;
00098
00099 } IRES_SDMA_ProtocolArgs;
00100
00106 typedef struct  IRES_SDMA_Obj {
00107
00108     IRES_Obj ires;
00109
00110     SDMA_ChannelDescriptor * channel;
00111                                         /* Channel number that is granted to
00112                                            the requestor */
00113 } IRES_SDMA_Obj;
00114
00115 /*
00116  * @brief           SDMA Register Layout
00117  */
00118 typedef struct IRES_SDMA_RegisterLayer  {
00119
00120     unsigned int DMA4_CCR;
00121     unsigned int DMA4_CLNK_CTRL;
00122     unsigned int DMA4_CICR;
00123     unsigned int DMA4_CSR;
00124     unsigned int DMA4_CSDP;
00125     unsigned int DMA4_CEN;
00126     unsigned int DMA4_CFN;
00127     unsigned int DMA4_CSSA;
00128     unsigned int DMA4_CDSA;
00129     unsigned int DMA4_CSE;
00130     unsigned int DMA4_CSF;
00131     unsigned int DMA4_CDE;
00132     unsigned int DMA4_CDF;
00133     unsigned int DMA4_CSAC;
00134     unsigned int DMA4_CDAC;
00135     unsigned int DMA4_CCEN;
00136     unsigned int DMA4_CCFN;
00137     unsigned int DMA4_COLOR;
00138 } IRES_SDMA_RegisterLayer;
00139
00140
00141 /*
00142  * @brief       Static Resource Properties
00143  */
00144 typedef struct IRES_SDMA_Properties {
00145
00146     IRES_SDMA_RegisterLayer *globalRegs;
00147
00148 } IRES_SDMA_Properties;
00149
00150 #ifdef __cplusplus
00151 }
00152 #endif /* extern "C" */
00153
00156 #endif  /* ti_sdo_fc_ires_sdma_IRES_SDMA_ */
00157 /*
00158  *  @(#) ti.sdo.fc.ires.sdma; 1, 0, 0,132; 12-1-2010 17:25:22; /db/atree/library/trees/fc/fc-p01x/src/ xlibrary
00159
00160  */
00161


Framework Components: 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) 2010, 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_vicp2_IRES_VICP2_
00049 #define ti_sdo_fc_ires_vicp2_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
00075 #define IRES_VICP2_NUMBUFFERS      16
00076
00080 #define IRES_VICP2_BADRESOURCE     0xFFFFFFFF
00081
00086 #define IMCOP_BUFFER_IMGBUF_A           0x0
00087 #define IMCOP_BUFFER_IMGBUF_B           0x1
00088 #define IMCOP_BUFFER_IMGBUF_C           0x2
00089 #define IMCOP_BUFFER_IMGBUF_D           0x3
00090 #define IMCOP_BUFFER_IMGBUF_E           0x4
00091 #define IMCOP_BUFFER_IMX0COEFFBUF       0x5
00092 #define IMCOP_BUFFER_IMX0CMDBUF         0x6
00093 #define IMCOP_BUFFER_IMX1COEFFBUF       0x7
00094 #define IMCOP_BUFFER_IMX1CMDBUF         0x8
00096 #define IMCOP_BUFFER_BABYIMXCMDBUFFER   0x9
00097 #define IMCOP_BUFFER_BABYIMXORIGBUFFER  0xA
00098
00099 #define IMCOP_BUFFER_BABYIMXREFBUFFER   0xB
00100 #define IMCOP_BUFFER_SEQUENCERPMEM      0xC
00102 #define IMCOP_BUFFER_QIQMEM             0xD
00103 #define IMCOP_BUFFER_HUFFMEM            0xE
00104 #define IMCOP_BUFFER_SEQBUF4            0xF
00105
00106 /*
00107  * Note, we wrap the PROTOCOLVERSION in an ifdef so the
00108  * resource managers and algs get this version data placed in their object
00109  * files.  Apps, which include rman.h, will have this 'NOPROTOCOLREV' defined.
00110  */
00111 #ifndef ti_sdo_fc_ires_NOPROTOCOLREV
00112
00116 static IRES_ProtocolRevision IRES_VICP2_PROTOCOLREVISION = {1, 0, 0};
00117
00118 #endif
00119
00123 typedef struct IRES_VICP2_Obj *IRES_VICP2_Handle;
00124
00128 typedef struct IRES_VICP2_ProtocolArgs {
00129
00130     int                 size;
00131     IRES_RequestMode    mode;
00135     short               requestIMX0;
00136     short               requestIMX1;
00138     short               requestMJCP;
00139     short               requestNSF;
00141     unsigned int        requestIMCOPBuffers;
00148     unsigned int        numMemoryRequests;
00151     unsigned int        memRequestSizes[IRES_VICP2_NUMBUFFERS];
00154 } IRES_VICP2_ProtocolArgs;
00155
00161 typedef struct  IRES_VICP2_Obj {
00162
00163     IRES_Obj            ires;
00164     short               assignedIMX0;
00165     short               assignedIMX1;
00167     short               assignedMJCP;
00168     short               assignedNSF;
00169
00170     unsigned int        assignedIMCOPBuffers[IRES_VICP2_NUMBUFFERS];
00174     short               numMemBufs;
00176     unsigned int        assignedMemAddrs[IRES_VICP2_NUMBUFFERS];
00180     unsigned int        assignedMemSizes[IRES_VICP2_NUMBUFFERS];
00181
00182     unsigned int        configBaseAddress;
00184     unsigned int        dmaViewConfigBaseAddr;
00188     unsigned  int           pscRegisterSpace;
00191 } IRES_VICP2_Obj;
00192
00193 /*
00194  * @brief           VICP Buffer Layout
00195  */
00196 typedef struct IRES_VICP2_Buffers {
00197
00198     int size;
00200     unsigned char *vicp_cfg_base;
00201
00202     unsigned char *imgBufA_base;
00203     unsigned char *imgBufB_base;
00204     unsigned char *imgBufC_base;
00205     unsigned char *imgBufD_base;
00206     unsigned char *imgBufE_base;
00207     unsigned char *imx0CoeffBuff_base;
00208     unsigned char *imx0CmdBuf_base;
00209     unsigned char *imx1CoeffBuff_base;
00210     unsigned char *imx1CmdBuf_base;
00211
00212
00213     unsigned char *babyImxCmdBuf_base;
00214     unsigned char *babyImxOrigBuf_base;
00215     unsigned char *babyImxRefBuf_base;
00216     unsigned char *sequencerPmem_base;
00217     unsigned int  *qiqmem_base;
00218     unsigned int  *predmem_base;
00219     unsigned int  *mvmem;
00220     unsigned int  *huffmem;
00221     unsigned int  *seqBuf1;
00222     unsigned int  *seqBuf2;
00223     unsigned int  *seqBuf3;
00224     unsigned int  *seqBuf4;
00225     unsigned int  *sequencerDmem;
00226     /* . . . */
00227
00228 } IRES_VICP2_Buffers;
00229
00230
00231 /*
00232  * @brief       Static Resource Properties
00233  */
00234 typedef struct IRES_VICP2_Properties {
00235
00236     int size;
00237
00238     IRES_VICP2_Buffers buffers;
00239
00240 } IRES_VICP2_Properties;
00241
00242
00243 #ifdef __cplusplus
00244 }
00245 #endif /* extern "C" */
00246
00247
00250 #endif
00251 /*
00252  *  @(#) ti.sdo.fc.ires.vicp; 1, 0, 1,177; 12-1-2010 17:25:26; /db/atree/library/trees/fc/fc-p01x/src/ xlibrary
00253
00254  */
00255


Framework Components: 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) 2010, 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.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
00071
00072 /*
00073  * Note, we wrap the PROTOCOLVERSION in an ifdef so the
00074  * resource managers and algs get this version data placed in their object
00075  * files.  Apps, which include rman.h, will have this 'NOPROTOCOLREV' defined.
00076  */
00077 #ifndef ti_sdo_fc_ires_NOPROTOCOLREV
00078
00082 static IRES_ProtocolRevision IRES_VICP_PROTOCOLREVISION = {1, 0, 0};
00083
00084 #endif
00085
00089 typedef struct IRES_VICP_Obj *IRES_VICP_Handle;
00090
00094 typedef struct IRES_VICP_ProtocolArgs {
00095
00096     int size;
00097     IRES_RequestMode mode;      /* persistent or scratch resource requested */
00098     short requestIMX;           /* value of 1 to indicate resource requested,
00099                                    0 otherwise */
00100     short requestVLCD;
00101     short requestSEQ;
00102
00103 } IRES_VICP_ProtocolArgs;
00104
00110 typedef struct  IRES_VICP_Obj {
00111
00112     IRES_Obj ires;
00113     short assignedIMX;
00114     short assignedVLCD;
00115     short assignedSEQ;
00116
00117 } IRES_VICP_Obj;
00118
00119
00120 /*
00121  * @brief           VICP Register Layout
00122  */
00123 typedef struct IRES_VICP_Registers {
00124
00125     int size;
00127     unsigned char *vicp_umap1_base;
00128     unsigned char *vicp_cfg_base;
00129
00130     unsigned char *imgBuf_base;
00131     unsigned char *imgBufA_base;
00132     unsigned char *imgBufB_base;
00133     unsigned char *imxCoeffBuff_base;
00134     unsigned char *imxCmdBuf_base;
00135     unsigned char *vlcdDataBuf_base;
00136     unsigned char *qiqBuf_base;
00137     unsigned char *vlcdBuf_base;
00138     unsigned char *seqProgMem_base;
00139     unsigned char *seqDataMem_base;
00140
00141     unsigned int imgBuf_length;
00142     unsigned int imgBufA_length;
00143     unsigned int imgBufB_length;
00144     unsigned int imxCoeffBuff_length;
00145     unsigned int imxCmdBuf_length;
00146     unsigned int vlcdDataBuf_length;
00147     unsigned int qiqBuf_length;
00148     unsigned int vlcdBuf_length;
00149     unsigned int seqProgMem_length;
00150     unsigned int seqDataMem_length;
00151
00152     /* . . . */
00153
00154 } IRES_VICP_Registers;
00155
00156
00157 /*
00158  * @brief       Static Resource Properties
00159  */
00160 typedef struct IRES_VICP_Properties {
00161
00162     int size;
00163
00164     IRES_VICP_Registers *globalRegs;
00165
00166 } IRES_VICP_Properties;
00167
00168
00169 #ifdef __cplusplus
00170 }
00171 #endif /* extern "C" */
00172
00173
00176 #endif
00177 /*
00178  *  @(#) ti.sdo.fc.ires.vicp; 1, 0, 1,177; 12-1-2010 17:25:26; /db/atree/library/trees/fc/fc-p01x/src/ xlibrary
00179
00180  */
00181


Framework Components: 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) 2010, 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 IRESMAN_
00052 #define IRESMAN_
00053
00056
00057 #ifdef __cplusplus
00058 extern "C" {
00059 #endif
00060
00061 #include <ti/xdais/ires_common.h>
00062
00067 typedef Bool (IRESMAN_PersistentAllocFxn)(IALG_MemRec *memTab, Int numRecs);
00068
00073 typedef Void (IRESMAN_PersistentFreeFxn)(IALG_MemRec *memTab, Int numRecs);
00074
00075
00081 typedef struct IRESMAN_Params {
00082
00086     Int32 size;
00087
00092     IRESMAN_PersistentAllocFxn * allocFxn;
00093
00098     IRESMAN_PersistentFreeFxn * freeFxn;
00099
00100 } IRESMAN_Params;
00101
00102 typedef struct IRESMAN_Fxns {
00103
00107     String (*getProtocolName)();
00108
00113     IRES_ProtocolRevision * (* getProtocolRevision)();
00114
00126     IRES_Status (* init)(IRESMAN_Params * initArgs);
00127
00135     IRES_Status (* exit)();
00136
00155     IRES_Handle (* getHandle)(IALG_Handle algHandle,
00156             IRES_ProtocolArgs * protocolArgs, Int scratchGroupId,
00157             IRES_Status * status);
00158
00169     IRES_Status (* freeHandle)(IALG_Handle algHandle,
00170             IRES_Handle resourceHandle, IRES_ProtocolArgs * protocolArgs,
00171             Int scratchGroupId);
00172
00173 } IRESMAN_Fxns;
00174
00175 #ifdef __cplusplus
00176 }
00177 #endif /* extern "C" */
00178
00181 #endif  /* IRESMAN_ */
00182 /*
00183  *  @(#) ti.sdo.fc.ires; 1, 0, 0,177; 12-1-2010 17:24:59; /db/atree/library/trees/fc/fc-p01x/src/ xlibrary
00184
00185  */
00186


Framework Components: iresman_addrspace.h Source File

  • File List
  • Globals
packages » ti » sdo » fc » ires » addrspace

iresman_addrspace.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2010, 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_addrspace_IRESMAN_ADDRSPACE_
00049 #define ti_sdo_fc_ires_addrspace_IRESMAN_ADDRSPACE_
00050
00053
00054
00055 #ifdef __cplusplus
00056 extern "C" {
00057 #endif
00058
00059 #include <ti/sdo/fc/ires/iresman.h>
00060
00061 /*
00062  * Initialization arguments for the device specific resource manager
00063  */
00064 typedef struct IRESMAN_AddrSpaceParams {
00065     IRESMAN_Params baseConfig;
00066 } IRESMAN_AddrSpaceParams;
00067
00073 String IRESMAN_ADDRSPACE_getProtocolName();
00074
00080 IRES_ProtocolRevision * IRESMAN_ADDRSPACE_getProtocolRevision();
00081
00082
00094 IRES_Status IRESMAN_ADDRSPACE_init(IRESMAN_Params * initArgs);
00095
00096
00104 IRES_Status IRESMAN_ADDRSPACE_exit();
00105
00106
00123 IRES_Handle IRESMAN_ADDRSPACE_getHandles(IALG_Handle algHandle,
00124         IRES_ProtocolArgs *protocolArgs, Int scratchGroupId,
00125         IRES_Status *status);
00126
00127
00142 IRES_Status IRESMAN_ADDRSPACE_freeHandle(IALG_Handle algHandle,
00143         IRES_Handle algResourceHandle, IRES_ProtocolArgs *protocolArgs,
00144         Int scratchGroupId);
00145
00146
00151 extern __FAR__ IRESMAN_PersistentAllocFxn _RMAN_allocPersistent;
00152
00153
00158 extern __FAR__ IRESMAN_PersistentFreeFxn _RMAN_freePersistent;
00159
00160
00164 extern IRESMAN_Fxns IRESMAN_ADDRSPACE;
00165
00166
00167 #ifdef __cplusplus
00168 }
00169 #endif /* extern "C" */
00170
00171
00174 #endif
00175 /*
00176  *  @(#) ti.sdo.fc.ires.addrspace; 1, 0, 0,61; 12-1-2010 17:24:55; /db/atree/library/trees/fc/fc-p01x/src/ xlibrary
00177
00178  */
00179


Framework Components: 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) 2010, 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_ProtocolArgs *protocolArgs, Int scratchGroupId,
00128         IRES_Status *status);
00129
00144 IRES_Status IRESMAN_EDMA3CHAN_freeHandle(IALG_Handle algHandle,
00145         IRES_Handle algResourceHandle, IRES_ProtocolArgs *protocolArgs,
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 /*
00166  * Interface to expose to the resource manager to be able to construct handles
00167  */
00168 extern IRESMAN_ConstructFxns IRESMAN_EDMA3CHAN_CONSTRUCTFXNS;
00169
00170 #ifdef __cplusplus
00171 }
00172 #endif /* extern "C" */
00173
00174
00177 #endif
00178 /*
00179  *  @(#) ti.sdo.fc.ires.edma3chan; 1, 0, 0,177; 12-1-2010 17:25:02; /db/atree/library/trees/fc/fc-p01x/src/ xlibrary
00180
00181  */
00182


Framework Components: 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) 2010, 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_ProtocolArgs *protocolArgs, Int scratchGroupId,
00128         IRES_Status *status);
00129
00144 IRES_Status IRESMAN_HDVICP_freeHandles(IALG_Handle algHandle,
00145         IRES_Handle algResourceHandle, IRES_ProtocolArgs *protocolArgs,
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,133; 12-1-2010 17:25:16; /db/atree/library/trees/fc/fc-p01x/src/ xlibrary
00176
00177  */
00178


Framework Components: iresman_memtcm.h Source File

  • File List
  • Globals
packages » ti » sdo » fc » ires » memtcm

iresman_memtcm.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2010, 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  */
00049 #ifndef ti_sdo_fc_ires_memtcm_IRESMAN_MEMTCM_
00050 #define ti_sdo_fc_ires_memtcm_IRESMAN_MEMTCM_
00051
00054
00055
00056 #ifdef __cplusplus
00057 extern "C" {
00058 #endif
00059
00060 #include <ti/sdo/fc/ires/iresman.h>
00061
00062 /*
00063  * Initialization arguements for the device specific resource manager
00064  */
00065 typedef struct IRESMAN_MemTcmParams {
00066
00067     IRESMAN_Params baseConfig;
00068 } IRESMAN_MemTcmParams;
00069
00074 String IRESMAN_MEMTCM_getProtocolName();
00075
00080 IRES_ProtocolRevision * IRESMAN_MEMTCM_getProtocolRevision();
00081
00093 IRES_Status IRESMAN_MEMTCM_init( IRESMAN_Params * initArgs);
00094
00102 IRES_Status IRESMAN_MEMTCM_exit();
00103
00120 IRES_Handle IRESMAN_MEMTCM_getHandles(IALG_Handle algHandle,
00121         IRES_ProtocolArgs *protocolArgs, Int scratchGroupId,
00122         IRES_Status *status);
00123
00138 IRES_Status IRESMAN_MEMTCM_freeHandle(IALG_Handle algHandle,
00139         IRES_Handle algResourceHandle, IRES_ProtocolArgs *protocolArgs,
00140         Int scratchGroupId);
00141
00146 extern __FAR__ IRESMAN_PersistentAllocFxn _RMAN_allocPersistent;
00147
00152 extern __FAR__ IRESMAN_PersistentFreeFxn _RMAN_freePersistent;
00153
00157 extern IRESMAN_Fxns IRESMAN_MEMTCM;
00158
00159
00160 #ifdef __cplusplus
00161 }
00162 #endif /* extern "C" */
00163
00164
00167 #endif
00168 /*
00169  *  @(#) ti.sdo.fc.ires.memtcm; 1, 0, 0,45; 12-1-2010 17:25:17; /db/atree/library/trees/fc/fc-p01x/src/ xlibrary
00170
00171  */
00172


Framework Components: 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) 2010, 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; 1, 0, 0,177; 12-1-2010 17:24:59; /db/atree/library/trees/fc/fc-p01x/src/ xlibrary
00185
00186  */
00187


Framework Components: iresman_sdma.h Source File

  • File List
  • Globals
packages » ti » sdo » fc » ires » sdma

iresman_sdma.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2010, 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_sdma_IRESMAN_SDMA_
00048 #define ti_sdo_fc_ires_sdma_IRESMAN_SDMA_
00049
00052
00053 #ifdef __cplusplus
00054 extern "C" {
00055 #endif
00056
00057 #include <ti/sdo/fc/ires/iresman.h>
00058
00063 typedef struct IRESMAN_SdmaParams {
00064
00068     IRESMAN_Params baseConfig;
00069
00070 } IRESMAN_SdmaParams;
00071
00076 String IRESMAN_SDMA_getProtocolName();
00077
00082 IRES_ProtocolRevision * IRESMAN_SDMA_getProtocolRevision();
00083
00095 IRES_Status IRESMAN_SDMA_init( IRESMAN_Params * initArgs);
00096
00104 IRES_Status IRESMAN_SDMA_exit();
00105
00122 IRES_Handle IRESMAN_SDMA_getHandles(IALG_Handle algHandle,
00123         IRES_ProtocolArgs *protocolArgs, Int scratchGroupId,
00124         IRES_Status *status);
00125
00140 IRES_Status IRESMAN_SDMA_freeHandle(IALG_Handle algHandle,
00141         IRES_Handle algResourceHandle, IRES_ProtocolArgs *protocolArgs,
00142         Int scratchGroupId);
00143
00148 extern __FAR__ IRESMAN_PersistentAllocFxn _RMAN_allocPersistent;
00149
00154 extern __FAR__ IRESMAN_PersistentFreeFxn _RMAN_freePersistent;
00155
00159 extern IRESMAN_Fxns IRESMAN_SDMA;
00160
00161
00162 #ifdef __cplusplus
00163 }
00164 #endif /* extern "C" */
00165
00168 #endif  /* ti_sdo_fc_ires_sdma_IRESMAN_SDMA_ */
00169 /*
00170  *  @(#) ti.sdo.fc.ires.sdma; 1, 0, 0,132; 12-1-2010 17:25:22; /db/atree/library/trees/fc/fc-p01x/src/ xlibrary
00171
00172  */
00173


Framework Components: 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) 2010, 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_vicp2_IRESMAN_VICP2_
00049 #define ti_sdo_fc_ires_vicp2_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_ProtocolArgs *protocolArgs, Int scratchGroupId, IRES_Status *status);
00121
00122
00137 IRES_Status IRESMAN_VICP2_freeHandles(IALG_Handle algHandle,
00138         IRES_Handle algResourceHandle, IRES_ProtocolArgs *protocolArgs,
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,177; 12-1-2010 17:25:26; /db/atree/library/trees/fc/fc-p01x/src/ xlibrary
00171
00172  */
00173


Framework Components: 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) 2010, 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_ProtocolArgs *protocolArgs, Int scratchGroupId, IRES_Status *status);
00121
00122
00137 IRES_Status IRESMAN_VICP_freeHandles(IALG_Handle algHandle,
00138         IRES_Handle algResourceHandle, IRES_ProtocolArgs *protocolArgs,
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,177; 12-1-2010 17:25:26; /db/atree/library/trees/fc/fc-p01x/src/ xlibrary
00171
00172  */
00173


Framework Components: 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) 2010, 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
00062 /*
00063  *  ======== MEMUTILS_cacheInv ========
00064  */
00081 extern Void MEMUTILS_cacheInv(Ptr addr, Int sizeInBytes);
00082
00083 /*
00084  *  ======== MEMUTILS_cacheWb ========
00085  */
00096 extern Void MEMUTILS_cacheWb(Ptr addr, Int sizeInBytes);
00097
00098
00099 /*
00100  *  ======== MEMUTILS_cacheWbInv ========
00101  */
00112 extern Void MEMUTILS_cacheWbInv(Ptr addr, Int sizeInBytes);
00113
00114
00115 /*
00116  *  ======== MEMUTILS_getPhysicalAddr ========
00117  */
00125 extern Void * MEMUTILS_getPhysicalAddr(Ptr addr);
00126
00127
00128 #ifdef __cplusplus
00129 }
00130 #endif /* extern "C" */
00131
00132
00135 #endif
00136 /*
00137  *  @(#) ti.sdo.fc.memutils; 1, 0, 0,121; 12-1-2010 17:25:29; /db/atree/library/trees/fc/fc-p01x/src/ xlibrary
00138
00139  */
00140


Framework Components: Page Index

Related Pages

Here is a list of all related documentation pages:
  • Disclaimer


Framework Components: 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) 2010, 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
00068 #define RMAN_GTNAME  "ti.sdo.fc.rman"
00069
00073 #define RMAN_PROTOCOLNAMESIZE 200
00074
00078 typedef struct Sem_Obj * RMAN_SemHandle;
00079
00080
00091 typedef struct RMAN_Params {
00092
00093     /*
00094      *  @brief      Number of registry entries in the RMAN table
00095      */
00096     short numRegistries;
00097
00098     /*
00099      *  @brief      Memory allocation function for all RMAN memory requirements
00100      */
00101     IRESMAN_PersistentAllocFxn * allocFxn;
00102
00103     /*
00104      *  @brief      Memory free function for all RMAN memory requirements
00105      */
00106     IRESMAN_PersistentFreeFxn * freeFxn;
00107
00108     /*
00109      *  @brief      RMAN_yield if yielding is supported, else NULL.
00110      */
00111     IRES_YieldFxn yieldFxn;
00112
00113     /*
00114      *  @brief      Flag indicating if yield to same priority is okay
00115      */
00116     Bool yieldSamePriority;
00117
00118 } RMAN_Params;
00119
00126 typedef struct RMAN_YieldArgs {
00127
00128     /*
00129      *  @brief      groupId of the resource
00130      */
00131     Int groupId;
00132
00133     /*
00134      *  @brief      Flag indicating if same-priority yields should occur.
00135      */
00136     Bool yieldFlag;
00137
00138 } RMAN_YieldArgs;
00139
00140
00141 /*
00142  *  @brief      Initialization parameters for the generic Resource Manager
00143  */
00144 extern __FAR__ RMAN_Params RMAN_PARAMS;
00145
00146 /*
00147  *  @brief      RMAN Table to hold IRESMAN registrations
00148  */
00149 extern __FAR__ IRESMAN_Fxns * RMAN_TABLE[];
00150
00151 /*
00152  *  @brief      Free Table to hold entries freed from RMAN Table
00153  */
00154 extern __FAR__ short RMAN_FREE_ENTRIES[];
00155
00156 /*
00157  *  @brief      Number of entries statically configured for the Resource
00158  *              Registry table. Set this variable to zero if no static
00159  *              configuration is required
00160  */
00161 extern __FAR__ short RMAN_numRegistryEntries;
00162
00163 /*
00164  *  @brief      To allow for static configuration of the Resource Registry
00165  *              table this can be set to a valid configuration table or to NULL.
00166  *              Set this variable to NULL if no static configuration is required
00167  */
00168 extern __FAR__ IRESMAN_Fxns ** RMAN_registryEntries;
00169
00170 /*
00171  *  @brief      Initialization arguments for the entries to be registered
00172  *              Set this variable to NULL if no static configuration is required
00173  */
00174 extern __FAR__ IRESMAN_Params ** RMAN_registryResmanArgs;
00175
00176
00186 IRES_Status RMAN_init(Void);
00187
00188
00195 IRES_Status RMAN_exit(Void);
00196
00197
00216 IRES_Status RMAN_register(IRESMAN_Fxns * resmanFxns, IRESMAN_Params * initArgs);
00217
00218
00231 IRES_Status RMAN_unregister(IRESMAN_Fxns * resmanFxns);
00232
00262 IRES_Status RMAN_assignResources(IALG_Handle algHandle, IRES_Fxns * resFxns,
00263     Int scratchGroupId);
00264
00265
00285 IRES_Status RMAN_freeResources(IALG_Handle algHandle, IRES_Fxns * resFxns, Int
00286     scratchGroupId);
00287
00300 IRES_Status RMAN_activateResource(IALG_Handle algHandle,
00301     IRES_Handle resourceHandle, IRES_Fxns * resFxns, Int scratchGroupId);
00302
00312 IRES_Status RMAN_activateAllResources(IALG_Handle algHandle,
00313     IRES_Fxns * resFxns, Int scratchGroupId);
00314
00327 IRES_Status RMAN_deactivateResource(IALG_Handle algHandle,
00328     IRES_Handle resourceHandle, IRES_Fxns * resFxns, Int scratchGroupId);
00329
00340 IRES_Status RMAN_deactivateAllResources(IALG_Handle algHandle,
00341     IRES_Fxns * resFxns, Int scratchGroupId);
00342
00343
00363 void RMAN_yield(IRES_YieldResourceType resource,
00364     IRES_YieldContextHandle algYieldContext, IRES_YieldArgs yieldArgs);
00365
00366
00369 #ifdef __cplusplus
00370 }
00371 #endif /* extern "C" */
00372
00373 #endif  /* RMAN_ */
00374 /*
00375  *  @(#) ti.sdo.fc.rman; 2, 0, 0,207; 12-1-2010 17:25:37; /db/atree/library/trees/fc/fc-p01x/src/ xlibrary
00376
00377  */
00378


Framework Components: scpy.h Source File

  • File List
  • Globals
packages » ti » sdo » fc » scpy

scpy.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2010, 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_scpy_SCPY_
00049 #define ti_sdo_fc_scpy_SCPY_
00050
00051
00052 /* TODO: Uncommenting the below define creates ordering dependencies between
00053          ires_sdma.h and scpy.h (ires_sdma.h needs to be before scpy.h)
00054          Need to figure this out, till then commenting it out.
00055          Warnings appear during build of this library */
00056 /*  #define ti_sdo_fc_ires_NOPROTOCOLREV*/
00057
00060
00061 #ifdef __cplusplus
00062 extern "C" {
00063 #endif
00064
00065 #include <ti/sdo/fc/ires/sdma/ires_sdma.h>
00066
00067 #define OMAP_DMA_DATA_TYPE_S8       0x00
00068 #define OMAP_DMA_DATA_TYPE_S16      0x01
00069 #define OMAP_DMA_DATA_TYPE_S32      0x02
00070
00071 #define OMAP_DMA_PORT_EMIFF         0x00
00072
00073 #define OMAP_DMA_AMODE_POST_CONST           0x00
00074 #define OMAP_DMA_AMODE_POST_INC             0x01
00075 #define OMAP_DMA_AMODE_POST_SINGLE_INDEX    0x02
00076 #define OMAP_DMA_AMODE_POST_DOUBLE_INDEX    0x03
00077
00081 #define OMAP_DMA_SYNC_MODE_ELEMENT  0x00
00082 #define OMAP_DMA_SYNC_MODE_FRAME    0x01
00083 #define OMAP_DMA_SYNC_MODE_BLOCK    0x02
00084
00085 #define OMAP_DMA_SYNC_TYPE_DEST     0x00
00086 #define OMAP_DMA_SYNC_TYPE_SRC      0x01
00087
00088
00092 typedef struct SCPY_AddrParams {
00093     int addr_mode;
00094     unsigned int addr;
00095     int elem_index;
00096     int frame_index;
00097 } SCPY_AddrParams;
00098
00102 typedef struct SCPY_TransferParams {
00103     int dataType;
00104     int elemCount;
00105     int frameCount;
00106 } SCPY_TransferParams;
00107
00108 /*
00109  *  @brief      Paramters of transfer
00110  */
00111 typedef struct SCPY_Params {
00112     SCPY_AddrParams * src;
00113     SCPY_AddrParams * dst;
00114     SCPY_TransferParams * transfer;
00115 } SCPY_Params;
00116
00120 void SCPY_init();
00121
00125 void SCPY_exit();
00126
00138 void SCPY_configure(IRES_SDMA_Handle logicalChannel, SCPY_Params * params);
00139
00146 void SCPY_start(IRES_SDMA_Handle logicalChannel);
00147
00154 void SCPY_wait(IRES_SDMA_Handle logicalChannel);
00155
00164 Bool SCPY_complete(IRES_SDMA_Handle logicalChannel);
00165
00166
00167 #ifdef __cplusplus
00168 }
00169 #endif /* extern "C" */
00170
00172 #endif /* ti_sdo_fc_scpy_SCPY_*/
00173 /*
00174  *  @(#) ti.sdo.fc.scpy; 1, 0, 0,131; 12-1-2010 17:26:01; /db/atree/library/trees/fc/fc-p01x/src/ xlibrary
00175
00176  */
00177


Framework Components: shmbuf.h Source File

  • File List
  • Globals
packages » ti » sdo » fc » ires » shmbuf

shmbuf.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2010, 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
00054 #ifndef SHMBUF_H_
00055 #define SHMBUF_H_
00056
00059
00060 #ifdef __cplusplus
00061 extern "C" {
00062 #endif
00063
00064 #include <ti/xdais/ires_common.h>
00065 #include <ti/sdo/fc/ires/iresman_protocol.h>
00066 #include <ti/sdo/fc/ires/iresman.h>
00067
00068
00069 #define SHMBUF_GTNAME "ti.sdo.fc.ires.shmbuf"
00076 #define SHMBUF_PROTOCOLNAME "ti.sdo.fc.ires.shmbuf"
00077
00078
00079 /*
00080  * Note, we wrap the SHMBUF_PROTOCOLVERSION in an ifdef so the
00081  * resource managers and algs get this version data placed in their object
00082  * files.  Apps, which include rman.h, will have this 'NOPROTOCOLREV' defined.
00083  */
00084 #ifndef ti_sdo_fc_ires_NOPROTOCOLREV
00085
00089 static IRES_ProtocolRevision SHMBUF_PROTOCOLVERSION = {1, 0, 0};
00090
00091 #endif
00092
00093
00100 typedef struct SHMBUF_Params {
00101     IRESMAN_Params iresConfig;
00102
00103     /* Config params specific to this resource */
00104     Int       bufsize;    /* Size of the buffer */
00105     UInt32    key;        /* Key to identify shared memory object */
00106     UInt32    isScratch;  /* Can the buffer be shared? */
00107 } SHMBUF_Params;
00108
00109 /*
00110  *  ======== SHMBUF_Obj ========
00111  *  Extension of IRES_Obj. This object holds the state of the logical resource
00112  *  granted to the algorithm.
00113  */
00114 typedef struct SHMBUF_Obj {
00115     IRES_Obj        ires;
00116
00117     /* Fields specific to this resource */
00118     Void   *base;    /* Base address of assigned memory chunk */
00119     Int     length;  /* Length of assigned memory chunk */
00120 } SHMBUF_Obj;
00121
00122 /*
00123  *  ======== SHMBUF_Args ========
00124  *  Extends IRES_ProtocolArgs. Used by the algorithm to request this resource.
00125  */
00126 typedef struct SHMBUF_Args {
00127     IRES_ProtocolArgs iresArgs;
00128
00129     /* Fields filled in by algorithm when requesting this resource */
00130     Int    length;  /* Length of buffer requested */
00131     Int    align;   /* Buffer alignment: 0 (no alignment) or a power of 2 */
00132 } SHMBUF_Args;
00133
00134 /*
00135  *  ======== SHMBUF_Props ========
00136  *  Implementation of IRES_Properties for the buffer resource, returned
00137  *  by SHMBUF_PROTOCOL.getStaticResourceProperties().
00138  */
00139 typedef struct SHMBUF_Props {
00140     Int         size;    /* Size of this structure */
00141
00142     /* Fields specific to this resource */
00143     Void   *base;        /* Base address of the shared memory resource */
00144     Int     length;      /* Length of the shared memory resource */
00145     Int     isScratch;   /* Can it be shared? */
00146 } SHMBUF_Props;
00147
00148 /*
00149  *  ======== SHMBUF_Handle ========
00150  *  Opaque handle to the SHMBUF extension of the IRES_Obj object
00151  */
00152 typedef struct SHMBUF_Obj *SHMBUF_Handle;
00153
00154 extern SHMBUF_Params SHMBUF_PARAMS;
00155 extern IRESMAN_ConstructFxns SHMBUF_REQFXNS;
00156 extern IRESMAN_Fxns SHMBUF_MGRFXNS;
00157
00158
00159 #ifdef __cplusplus
00160 }
00161 #endif /* extern "C" */
00162
00165 #endif /* SHMBUF_H_ */
00166
00167 /*
00168  *  @(#) ti.sdo.fc.ires.shmbuf; 1, 0, 0,119; 12-1-2010 17:25:23; /db/atree/library/trees/fc/fc-p01x/src/ xlibrary
00169
00170  */
00171


Framework Components: vicpsync.h Source File

  • File List
  • Globals
packages » ti » sdo » fc » vicpsync

vicpsync.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2010, 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  */
00049 #ifndef VICPSYNC_
00050 #define VICPSYNC_
00051
00054
00055
00056 #ifdef __cplusplus
00057 extern "C" {
00058 #endif
00059
00060 #include <ti/xdais/ialg.h>
00061 #include <ti/sdo/fc/ires/vicp/ires_vicp2.h>
00062
00063 #define VICPSYNC_GTNAME "ti.sdo.fc.vicpsync"
00064
00069 typedef struct VICPSYNC_Params {
00070     int size;
00071 } VICPSYNC_Params;
00072
00076 typedef enum VICPSYNC_ResourceType {
00077     VICPSYNC_IMX0,
00078     VICPSYNC_IMX1,
00079     VICPSYNC_MJCP,
00080     VICPSYNC_NSF
00081 } VICPSYNC_ResourceType;
00082
00086 typedef enum VICPSYNC_InterruptLine {
00087     VICPSYNC_FIXED,
00088     VICPSYNC_FLEXIBLE
00089 } VICPSYNC_InterruptLine;
00090
00094 typedef enum VICPSYNC_InterruptType {
00095     VICPSYNC_IRQ,
00096     VICPSYNC_FIQ
00097 } VICPSYNC_InterruptType;
00098
00099 typedef enum VICPSYNC_Status {
00100     VICPSYNC_OK,
00101     VICPSYNC_EFAIL,
00102     VICPSYNC_ENORESOURCE
00104 } VICPSYNC_Status;
00105
00109 extern VICPSYNC_Params VICPSYNC_PARAMS;
00110
00111 /*===========================================================================*/
00131 /*===========================================================================*/
00132 VICPSYNC_Status VICPSYNC_start(IALG_Handle handle, VICPSYNC_ResourceType res,
00133         VICPSYNC_InterruptType intType, VICPSYNC_InterruptLine intLine,
00134         IRES_VICP2_Handle vicpHandle);
00135
00136 /*===========================================================================*/
00152 /*===========================================================================*/
00153 VICPSYNC_Status VICPSYNC_wait (IRES_VICP2_Handle vicpHandle,
00154         VICPSYNC_ResourceType res);
00155
00156 /*===========================================================================*/
00172 /*===========================================================================*/
00173 Bool VICPSYNC_done (IRES_VICP2_Handle vicpHandle, VICPSYNC_ResourceType res);
00174
00175 /*===========================================================================*/
00188 VICPSYNC_Status VICPSYNC_unregister(IRES_VICP2_Handle vicpHandle,
00189         VICPSYNC_ResourceType res);
00190
00191 #ifdef __cplusplus
00192 }
00193 #endif /* extern "C" */
00194
00195
00198 #endif
00199 /*
00200  *  @(#) ti.sdo.fc.vicpsync; 1, 0, 0,118; 12-1-2010 17:26:13; /db/atree/library/trees/fc/fc-p01x/src/ xlibrary
00201
00202  */
00203


Framework Components: xdas.h Source File

  • File List
  • Globals
fctools » packages » ti » xdais

xdas.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2010, 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,243; 5-4-2010 08:43:56; /db/wtree/library/trees/dais/dais-q11x/src/
00082  */
00083