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

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

Framework Components API Reference

fc-n26

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 can implement to enable DMAN3 to manage their DMA resources.
    • ACPY3 - High-Performance Functional QDMA 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.
    • ECPY - High-Performance Functional DMA library for EDMA3-based devices that interfaces with algorithms implementing the IRES_EDMA3CHAN2 interface.
  • HDVICP Resources
    • IRES_HDVICP - HDVICP specific IRES Protocol implementation.
    • IRESMAN_HDVICP - HDVICP specific IRESMAN implementation.
    • IRES_HDVICP2 - HDVICP specific IRES Protocol implementation.
    • IRESMAN_HDVICP2 - HDVICP specific IRESMAN implementation for Netra/OMAP4 devices.
  • VICP Resources
    • IRES_VICP - VICP specific IRES Protocol implementation.
    • IRES_VICP2 - VICP specific IRES Protocol implementation for DM36x VICP.
    • IRESMAN_VICP - VICP specific IRESMAN implementation.
    • IRESMAN_VICP2 - VICP specific IRESMAN implementation for DM36x VICP.
  • SDMA Resources
    • IRES_SDMA - SDMA specific IRES protocol implementation.
    • IRESMAN_SDMA - SDMA specific IRESMAN implementation.
    • SCPY - Functional SDMA Interface and library for SDMA usage in OMAP3 devices.
  • Tiled Memory Resources
    • IRES_TILEDMEMORY - Tiled memory IRES protocol implementation.
    • IRESMAN_TILEDMEMORY - Tiled memory resource manager (IRESMAN) implementation.

The Remote Command Message (RCM) package provides a client/server implementation for executing functions on a remote processor.

  • RCM Overview
  • RcmClient - Client Module
  • RcmServer - Server Module
Copyright 2011, Texas Instruments Incorporated


Framework Components Application Programming Interface (API): Remote Command Message Overview

  • Files
  • Directories
  • Related Pages

Remote Command Message Overview

Modules

Remote Command Message - message based remote function execution

The Remote Command Message (RCM) package provides a client/server implementation for executing functions on a remote processor. The package contains the following modules.

  • RcmClient - Client Module
  • RcmServer - Server Module

This package provides modules for a client/server based implementation for executing functions on a remote processor. The IPC layer is based on messages. The application uses the RcmClient module to allocate a message, specify the remote function and its arguments, and then send the message to the server for execution. When the message returns, it contains the remote function's return values. The server is typically on a remote processor, but local server instances (on the same processor as the client) are also supported.

The following image provides an overview of a typical use case. An application running on the local cpu creates an RcmClient instance. Using the RcmClient instance handle, the application has access to all the necessary operations for executing a message on the remote server. The application must fill in the message with the remote function index, as supplied by the server, and the context needed by the remote function to execute. For higher level operations such as RPC, see the link ti.sdo.rpc.gen package which provides support for generating the stub and skeleton functions.

Diagram 1: RCM Overview

The RcmClient module is used to create instance objects. Each instance can send messages only to the server specified at create time. You create an instance for each server you want to send messages to. At create time the heap must be specified. The heap is used by the instance for allocating messages.

There are four types of execute commands:

  • synchronous blocking
  • synchronous non-blocking
  • synchronous deferred
  • asynchronous non-blocking

Here is an overview of the exec commands. See the RcmClient module for more details on each function.

  • RcmClient_exec() - synchronous blocking This function sends a message to the server and waits for the server to execute the message and to send the return message back to the client.
  • RcmClient_execNoWait() - synchronous non-blocking This function sends a message to the server but does not wait for the return message. Control returns to the caller as soon as the message has been delivered to the underlying transport. The server will execute the message and send the return message back to the client where it is placed in a mailbox. The client collects the return message with a call to RcmClient_waitUntilDone() which is a blocking call. This is useful when the client has more work to do while the remote function is executing. It is also efficient because it does not require a local callback thread.
  • RcmClient_execDpc() - synchronous deferred This function sends a message to the server and waits for the return message. When the server receives the message, it does not immediately execute it. Instead, it copies the message context into a local buffer and sends the message back to the client. Only after the message has been sent to the client, does the server execute the function. This is useful for server shutdown. This allows the client to regain ownership of the message and to return it to the heap and allows the server to shutdown without owning any resources allocated by the client.
  • RcmClient_execAsync() - asynchronous non-blocking This function sends a message to the server but does not wait for the return message. Control returns to the caller as in the synchronous non-blocking case above. The server will execute the message and send the return message back to the client for delivery to a callback thread. When the return message arrives, the callback thread will invoke an application callback to notify the application that the return message has arrived. This is the only asynchronous part of the sequence as the application will be preempted by the callback thread. It is the application's responsibility to periodically monitor a flag (set by the callback) to complete the message delivery.

RTSC Configuration

When using XDCtools to build your executable, use the following module to define the build time configuration options.

RCM Settings Module


Framework Components Application Programming Interface (API):

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


Framework Components Application Programming Interface (API): Module Index

Modules

Here is a list of all modules:
  • IALG - XDAIS Algorithm Interface
  • IDMA3 - Interface for requesting EDMA3 resources
  • IRES
  • ACPY3 (C64P)
  • DMAN3
  • DSKT2
  • ECPY (C64P)
  • HDINTC
  • HDVICPSYNC
  • Resource manager interface
  • MEMUTILS
  • Resource Manager for IRES-based resources
  • VICPSYNC
  • RcmClient
  • RcmServer
  • XDAIS Types and Constants
  • IRES EDMA3 Protocol
  • IRESMAN EDMA3 -
  • IRES HDVICP Protocol
  • IRES HDVICP2 Protocol (Beta)
  • IRESMAN PROTOCOL - HDVICP
  • IRES SDMA Protocol
  • IRESMAN SDMA -
  • IRES TILEDMEMORY Protocol (Beta)
  • IRESMAN TILEDMEM
  • IRES VICP Protocol
  • IRES VICP2 Protocol
  • IRESMAN PROTOCOL - VICP
  • IRESMAN PROTOCOL - VICP
  • SCPY - Functional library for SDMA resources


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

Defines | Data Structures | Typedefs | Enumerations

IALG - XDAIS Algorithm Interface

Defines

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

Data Structures

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

Typedefs

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

Enumerations

enum IALG_MemAttrs {
IALG_SCRATCH,
IALG_PERSIST,
IALG_WRITEONCE
}

Memory attributes.

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

Defined memory spaces.

More...

Detailed Description

This is the XDAIS IALG interface.

Define Documentation

#define IALG_DEFMEMRECS 4

Default number of memory records.

#define IALG_OBJMEMREC 0

Memory record index of instance object.

#define IALG_SYSCMD 256

Minimum "system" IALG_Cmd value.

#define IALG_EOK 0

Successful return status code.

#define IALG_EFAIL -1

Unspecified error return status code.

#define IALG_CUSTOMFAILBASE -2048

Algorithm-specific failure code end.

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

Algorithm-specific failure code base.

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

Program memory space bit.

#define IALG_MXTRN 0x0010

External memory space bit.

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

Typedef Documentation

typedef enum IALG_MemAttrs IALG_MemAttrs

Memory attributes.

typedef enum IALG_MemSpace IALG_MemSpace

Defined memory spaces.

typedef struct IALG_MemRec IALG_MemRec

Memory records.

typedef struct IALG_Obj IALG_Obj

Algorithm instance object definition.

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

Handle to an algorithm instance object.

typedef struct IALG_Params IALG_Params

Algorithm instance creation parameters.

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

Pointer to algorithm specific status structure.

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

Algorithm specific command.

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

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

Enumeration Type Documentation

enum IALG_MemAttrs

Memory attributes.

Enumerator:
IALG_SCRATCH

Scratch memory.

IALG_PERSIST

Persistent memory.

IALG_WRITEONCE

Write-once persistent memory.

enum IALG_MemSpace

Defined memory spaces.

Enumerator:
IALG_EPROG

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

IALG_IPROG

Internal program memory Program memory space bit.

IALG_ESDATA

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

IALG_EXTERNAL

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

IALG_DARAM0

Dual access on-chip data memory

IALG_DARAM1

Block 1, if independant blocks required

IALG_SARAM

Single access on-chip data memory

IALG_SARAM0

Block 0, equivalent to IALG_SARAM

IALG_SARAM1

Block 1, if independant blocks required

IALG_DARAM2

Block 2, if a 3rd independent block required

IALG_SARAM2

Block 2, if a 3rd independent block required


Framework Components Application Programming Interface (API): IDMA3 - Interface for requesting EDMA3 resources

Defines | Data Structures | Typedefs | Enumerations

IDMA3 - Interface for requesting EDMA3 resources

Defines

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

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

Typedefs

typedef enum IDMA3_MemType | IDMA3_MemType
Memory space descriptors for IDMA3_MemRec.
typedef struct IDMA3_MemRec | IDMA3_MemRec
Record containing attributes of the IDMA3 Channel environment memory when (optionally) the IDMA3 Channel is requested with a non-NULL IDMA3_ProtocolObj.
typedef struct IDMA3_Obj * | IDMA3_Handle
Handle to "logical" DMA channel.
typedef struct IDMA3_ProtocolObj * | IDMA3_ProtocolHandle
Handle to IDMA3 protocol object.
typedef enum IDMA3_Priority | IDMA3_Priority
IDMA3 Priority Levels.
typedef struct IDMA3_ChannelRec | IDMA3_ChannelRec
DMA Channel Descriptor to logical DMA channels.
typedef struct IDMA3_Fxns | 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.
typedef struct IDMA3_ProtocolObj | 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.
typedef struct IDMA3_Obj | IDMA3_Obj
IDMA3_Obj holds the private state associated with each logical DMA channel.

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

Memory space descriptors for IDMA3_MemRec.

typedef struct IDMA3_MemRec IDMA3_MemRec

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

typedef struct IDMA3_Obj* IDMA3_Handle

Handle to "logical" DMA channel.

typedef struct IDMA3_ProtocolObj* IDMA3_ProtocolHandle

Handle to IDMA3 protocol object.

typedef enum IDMA3_Priority IDMA3_Priority

IDMA3 Priority Levels.

typedef struct IDMA3_ChannelRec IDMA3_ChannelRec

DMA Channel Descriptor to logical DMA channels.

typedef struct IDMA3_Fxns 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.

typedef struct IDMA3_ProtocolObj 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.

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().
typedef struct IDMA3_Obj IDMA3_Obj

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

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 Application Programming Interface (API): IRES

Data Structures | Typedefs | Enumerations

IRES

Data Structures

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

Typedefs

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

Enumerations

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

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

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

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

Mode in which resources can be requested.

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

Detailed Description

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

Typedef Documentation

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

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

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

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

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

typedef struct IRES_Fxns IRES_Fxns

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

typedef enum IRES_Status IRES_Status

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

typedef struct IRES_ProtocolRevision IRES_ProtocolRevision

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

typedef enum IRES_RequestMode IRES_RequestMode

Mode in which resources can be requested.

typedef struct IRES_ProtocolArgs IRES_ProtocolArgs

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

typedef struct IRES_ResourceDescriptor IRES_ResourceDescriptor

Descriptor to Logical Resource.

typedef struct IRES_Properties IRES_Properties

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

typedef struct IRES_Obj IRES_Obj

IRES_Obj holds the private state associated with each logical resource.

typedef struct IRES_Obj* IRES_Handle

Handle to "logical" resource.

Enumeration Type Documentation

enum IRES_YieldResourceType
Enumerator:
IRES_ALL

Yielding all resources held by the algorithm.

IRES_SCRATCHMEMORY

Yielding all scratch memory resources held by the algorithm.

IRES_SCRATCHDMA

Yielding all IDMA3 resources held by the algorithm.

IRES_RESOURCEHANDLE

Yielding IRES resource handle only.

enum IRES_Status

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

Enumerator:
IRES_OK

Success

IRES_EALG

Error in algorithm IRES_Fxns functions

IRES_EEXISTS

Error, already exists

IRES_EFAIL

Generic Error Message

IRES_EINIT

Error, already initialized

IRES_ENOINIT

Error, not initialized

IRES_ENOMEM

Error, not enough memory

IRES_ENORESOURCE

Error, resource unavailable

IRES_ENOTFOUND

Error, not found

enum IRES_RequestMode

Mode in which resources can be requested.

Enumerator:
IRES_SCRATCH

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

IRES_PERSISTENT

Indicates that resource requested for allocation exclusively for this algorithm.

IRES_LATEACQUIRE

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


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

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

ACPY3 (C64P)

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.

Defines

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

Data Structures

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

Typedefs

typedef enum ACPY3_ParamField16b | 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.
typedef enum ACPY3_ParamField32b | 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.
typedef enum ACPY3_TransferType | ACPY3_TransferType
ACPY3 DMA Transfer Types:
typedef struct ACPY3_Params | ACPY3_Params
DMA transfer specific parameters. Defines the configuration of a logical channel.

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

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...
typedef enum ACPY3_INSTR_HookType | ACPY3_INSTR_HookType
Primary instrumentation hook function names.
typedef enum
ACPY3_INSTR_ExtendedHookType 		ACPY3_INSTR_ExtendedHookType
Extended instrumentation hook function names.
typedef void(* | ACPY3_INSTR_HookFxn )(IDMA3_Handle handle, void *param)
Function signature for hook instrumentation function.
typedef struct ACPY3_INSTR_Hook | ACPY3_INSTR_Hook
Structure that holds the instrumentation hook function and its arguments.
typedef struct ACPY3_INSTR_Hooks | ACPY3_INSTR_Hooks
Array of the primary instrumentation hook functions and their arguments.
typedef struct
ACPY3_INSTR_ExtendedHooks 		ACPY3_INSTR_ExtendedHooks
Array of the extended instrumentation hook functions and their arguments.
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

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.

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.

Define Documentation

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

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

#define ACPY3_INSTR_NUMHOOKS 4

Number of primary instrumentation hook functions.

#define ACPY3_INSTR_NUMEXTENDEDHOOKS 22

Typedef Documentation

typedef enum ACPY3_ParamField16b 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.

typedef enum ACPY3_ParamField32b 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.

typedef enum ACPY3_TransferType 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.

typedef struct ACPY3_Params ACPY3_Params

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

typedef enum ACPY3_INSTR_HookType ACPY3_INSTR_HookType

Primary instrumentation hook function names.

typedef enum ACPY3_INSTR_ExtendedHookType ACPY3_INSTR_ExtendedHookType

Extended instrumentation hook function names.

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

Function signature for hook instrumentation function.

typedef struct ACPY3_INSTR_Hook ACPY3_INSTR_Hook

Structure that holds the instrumentation hook function and its arguments.

typedef struct ACPY3_INSTR_Hooks ACPY3_INSTR_Hooks

Array of the primary instrumentation hook functions and their arguments.

typedef struct ACPY3_INSTR_ExtendedHooks ACPY3_INSTR_ExtendedHooks

Array of the extended instrumentation hook functions and their arguments.

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

Variable Documentation

IDMA3_ProtocolObj ACPY3_PROTOCOL
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines


Framework Components Application Programming Interface (API): DMAN3

Functions | Defines | Data Structures | Typedefs | Variables

DMAN3

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.

Defines

#define | DMAN3_MODNAME "ti.sdo.fc.dman3"
Name to pass to Diags_setMask() to enable logging for DMAN3 functions. For example, Diags_setMask(DMAN3_MODNAME"+EX1234567"); turns on all Log statements in this module. Diags_setMask() must be called after initialization to take effect.
#define | DMAN3_GTNAME "ti.sdo.fc.dman3"
#define | DMAN3_MAXGROUPS 20

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

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.
typedef struct DMAN3_Params | 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.

Variables

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

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.

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.

Define Documentation

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

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

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

typedef struct DMAN3_Params 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.

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

Variable Documentation

DMAN3_Params DMAN3_PARAMS

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


Framework Components Application Programming Interface (API): DSKT2

Functions | Defines | Typedefs

DSKT2

Functions

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

Defines

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

Typedefs

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

Detailed Description

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

Function Documentation

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

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

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

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

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

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

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

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

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

Creates and initializes a XDAIS algorithm instance object.

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

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

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

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

Creates and initializes a XDAIS algorithm instance object.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Alocates memory from a DSKT2 shared scratch group buffer.

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

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

Alocates memory from a DSKT2 shared scratch group buffer.

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

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

Alocates persistent memory to the requesting algorithm.

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

Frees persistent memory from the requesting algorithm.

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

Define Documentation

#define DSKT2_NUM_SCRATCH_GROUPS 20

Maximum number of scratch groups that can be supported.

#define DSKT2_MAX_MEM_ALLOCATION_SIZE 0xFFFF

Maximum memory allocation.

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

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

Typedef Documentation

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

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

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


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

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

ECPY (C64P)

Functions

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

Defines

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

Data Structures

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

Typedefs

typedef enum ECPY_ParamField16b | ECPY_ParamField16b
ECPY 16-bit param field structure. These values are passed to ECPY_configure16() to indicate the field of the ECPY_Params structure to be changed.
typedef enum ECPY_ParamField32b | ECPY_ParamField32b
ECPY 32-bit param field structure. These values are passed to ECPY_configure32() to indicate the field of the ECPY_Params structure to be changed.
typedef enum ECPY_TransferType | ECPY_TransferType
ECPY DMA Transfer Types:
typedef struct ECPY_Obj * | ECPY_Handle
Handle to "logical" ECPY Channel.
typedef struct ECPY_Params | ECPY_Params
DMA transfer specific parameters. Defines the configuration of a logical channel.
typedef Bool( | ECPY_PersistentAllocFxn )(IALG_MemRec *memTab, Int numRecs)
Memory allocation function signature for module configuration.
typedef Void( | ECPY_PersistentFreeFxn )(IALG_MemRec *memTab, Int numRecs)
Memory deallocation function signature for module configuration.
typedef struct ECPY_CfgParams | ECPY_CfgParams
The module configuration structure for ECPY. It is set at design time by the system integrator to register customize memory allocation/free implementations.

Enumerations

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

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

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

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

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

ECPY DMA Transfer Types:

More...

Variables

__FAR__ ECPY_CfgParams | ECPY_CFG_PARAMS
Initialization parameters for the ECPY module.

Detailed Description

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

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

Function Documentation

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

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

Parameters:
[in] | handle | ECPY channel handle.
[in] | params | DMA transfer specific parameters used to configure this logical DMA channel.
[in] | transferNo | Indicates the individual transfer to be configured using the passed 'params'
Precondition:
channel must be in active state
valid ECPY_Handle handle
1 <= transferNo <= originally requested number of transfers
Void ECPY_directConfigure | ( | ECPY_Handle | handle,
 |  | ECPY_Params *restrict | params,
 |  | short | transferNo
 | ) |  |

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

Parameters:
[in] | handle | ECPY channel handle.
[in] | params | DMA transfer specific parameters used to configure this logical DMA channel.
[in] | transferNo | Indicates the individual transfer to be configured using the passed 'params'
Precondition:
channel must be in active state
valid ECPY_Handle handle
1 <= transferNo <= originally requested number of transfers
Void ECPY_configure16 | ( | ECPY_Handle | handle,
 |  | ECPY_ParamField16b | fieldId,
 |  | unsigned short | value,
 |  | short | transferNo
 | ) |  |

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ECPY_directStartQdma has not been implemented.

Void ECPY_wait ( ECPY_Handle handle )

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

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

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

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

Activate the given channel.

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

Create an ECPY Handle using the supplied IRES_EDMA3CHAN handle.

Parameters:
[in] | handle | IRES_EDMA3CHAN channel handle.
[in] | alg | IALG handle.
Precondition:
handle must be a valid handle.
Void ECPY_deleteHandle ( ECPY_Handle handle )

Delete ECPY_Handle.

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

Deactivates the given channel.

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

Initialize the ECPY module. Called by framework.

Void ECPY_exit ( Void )

Finalization of the ECPY module.

Define Documentation

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

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

Typedef Documentation

typedef enum ECPY_ParamField16b ECPY_ParamField16b

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

typedef enum ECPY_ParamField32b ECPY_ParamField32b

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

typedef enum ECPY_TransferType ECPY_TransferType

ECPY DMA Transfer Types:

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

typedef struct ECPY_Obj* ECPY_Handle

Handle to "logical" ECPY Channel.

typedef struct ECPY_Params ECPY_Params

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

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

Memory allocation function signature for module configuration.

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

Memory deallocation function signature for module configuration.

typedef struct ECPY_CfgParams ECPY_CfgParams

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

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

Enumeration Type Documentation

enum ECPY_ParamField16b

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

Enumerator:
ECPY_PARAMFIELD_ELEMENTSIZE
ECPY_PARAMFIELD_NUMELEMENTS
ECPY_PARAMFIELD_ELEMENTINDEX_SRC
ECPY_PARAMFIELD_ELEMENTINDEX_DST
ECPY_PARAMFIELD_FRAMEINDEX_SRC
ECPY_PARAMFIELD_FRAMEINDEX_DST
ECPY_PARAMFIELD_NUMFRAMES
enum ECPY_ParamField32b

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

Enumerator:
ECPY_PARAMFIELD_SRCADDR
ECPY_PARAMFIELD_DSTADDR
ECPY_PARAMFIELD_ELEMENTINDEXES
ECPY_PARAMFIELD_FRAMEINDEXES
enum ECPY_TransferType

ECPY DMA Transfer Types:

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

Enumerator:
ECPY_1D1D

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

ECPY_1D2D

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

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

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

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

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

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

After an entire frame is copied by:

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

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

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

After a frame is copied by:

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

Variable Documentation

__FAR__ ECPY_CfgParams ECPY_CFG_PARAMS

Initialization parameters for the ECPY module.


Framework Components Application Programming Interface (API): HDINTC

Functions | Defines | Data Structures | Typedefs | Variables

HDINTC

Functions

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

Defines

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

Data Structures

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

Typedefs

typedef struct HDINTC_Params | HDINTC_Params
The module configuration structure for HDINTC implementation.
typedef struct hdvicpAppHandle | HDVICP_Obj
typedef HDVICP_Obj * | HDVICP_Handle

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.

Function Documentation

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

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

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.
typedef struct hdvicpAppHandle HDVICP_Obj
typedef HDVICP_Obj* HDVICP_Handle

Variable Documentation

HDINTC_Params HDINTC_PARAMS

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


Framework Components Application Programming Interface (API): HDVICPSYNC

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

HDVICPSYNC

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.

Defines

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

Data Structures

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

Typedefs

typedef struct HDVICPSYNC_Params | HDVICPSYNC_Params
The module configuration structure for HDVICPSYNC implementation.
typedef enum
HDVICPSYNC_InterruptType 		HDVICPSYNC_InterruptType
Interrupt type that can be specified for each Resource type.
typedef enum HDVICPSYNC_Status | HDVICPSYNC_Status

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
}

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.

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.

Define Documentation

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

Name to identify the GT module.

Typedef Documentation

typedef struct HDVICPSYNC_Params HDVICPSYNC_Params

The module configuration structure for HDVICPSYNC implementation.

typedef enum HDVICPSYNC_InterruptType HDVICPSYNC_InterruptType

Interrupt type that can be specified for each Resource type.

typedef enum HDVICPSYNC_Status HDVICPSYNC_Status

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

Variable Documentation

HDVICPSYNC_Params HDVICPSYNC_PARAMS

Default module configuration structure (defined in hdvicpsync.c)


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

Data Structures | Typedefs

Resource manager interface

Data Structures

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

Typedefs

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

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

Detailed Description

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

Typedef Documentation

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

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

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

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

typedef struct IRESMAN_Params IRESMAN_Params

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

typedef struct IRESMAN_Fxns IRESMAN_Fxns
typedef struct IRESMAN_ConstructArgs IRESMAN_ConstructArgs

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

typedef struct IRESMAN_ConstructFxns IRESMAN_ConstructFxns

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

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


Framework Components Application Programming Interface (API): MEMUTILS

Functions | Defines

MEMUTILS

Functions

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

Defines

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

Detailed Description

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

Remarks:

Function Documentation

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

Invalidate a range of cache.

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

Write back cache.

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

Write back and invalidate cache.

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

Obtain physical (hardware specific) address.

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

Define Documentation

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

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


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

Functions | Defines | Data Structures | Typedefs | Variables

Resource Manager for IRES-based resources

Functions

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

Defines

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

Data Structures

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

Typedefs

typedef struct Sem_Obj * | RMAN_SemHandle
Declare abstract handle for Semaphore object.
typedef struct RMAN_Params | RMAN_Params
The module configuration structure for RMAN. It is set at design time by the system integrator to register the specific Resource Managers(IRESMAN implementations).

Variables

__FAR__ RMAN_Params | RMAN_PARAMS
Initialization parameters for the generic Resource Manager.
__FAR__ IRESMAN_Fxns * | RMAN_TABLE []
RMAN Table to hold IRESMAN registrations.
__FAR__ short | RMAN_FREE_ENTRIES []
Free Table to hold entries freed from RMAN Table.
__FAR__ short | RMAN_numRegistryEntries
Number of entries statically configured for the Resource Registry table. Set this variable to zero if no static configuration is required.
__FAR__ IRESMAN_Fxns ** | RMAN_registryEntries
To allow for static configuration of the Resource Registry table this can be set to a valid configuration table or to NULL. Set this variable to NULL if no static configuration is required.
__FAR__ IRESMAN_Params ** | RMAN_registryResmanArgs
Initialization arguments for the entries to be registered Set this variable to NULL if no static configuration is required.
__FAR__ unsigned int ** | RMAN_iresVTable
Table that holds the mapping from algorithms IALG_Fxns to IRES_Fxns.

Detailed Description

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

Function Documentation

IRES_Status RMAN_init ( Void )

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

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

Delete the generic IRES RMAN and release memory back.

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

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

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

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

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

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

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

Directly allocate IRES resources by client without implementing IRES_Fxns.

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

Free resources held by the algorithm resource handle.

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

Free resources held by the algorithm resource handle.

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

Activate resource identified by the resourceHandle held by the algorithm.

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

Activate all resources held by the algorithm.

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

Deactivate resource identified by the resourceHandle held by the algorithm.

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

Deactivate all resources held by the algorithm.

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

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

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

Define Documentation

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

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

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

Name used to identify the GT module.

#define RMAN_PROTOCOLNAMESIZE 200

Size of the Protocol Name in the Resource Registry Table.

Typedef Documentation

typedef struct Sem_Obj* RMAN_SemHandle

Declare abstract handle for Semaphore object.

typedef struct RMAN_Params RMAN_Params

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

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

Variable Documentation

__FAR__ RMAN_Params RMAN_PARAMS

Initialization parameters for the generic Resource Manager.

__FAR__ IRESMAN_Fxns* RMAN_TABLE[]

RMAN Table to hold IRESMAN registrations.

__FAR__ short RMAN_FREE_ENTRIES[]

Free Table to hold entries freed from RMAN Table.

__FAR__ short RMAN_numRegistryEntries

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

__FAR__ IRESMAN_Fxns** RMAN_registryEntries

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

__FAR__ IRESMAN_Params** RMAN_registryResmanArgs

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

__FAR__ unsigned int** RMAN_iresVTable

Table that holds the mapping from algorithms IALG_Fxns to IRES_Fxns.


Framework Components Application Programming Interface (API): VICPSYNC

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

VICPSYNC

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.

Defines

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

Data Structures

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

Typedefs

typedef struct VICPSYNC_Params | VICPSYNC_Params
The module configuration structure for VICPSYNC implementation.
typedef enum VICPSYNC_ResourceType | VICPSYNC_ResourceType
Resource types for which the API can be called.
typedef enum VICPSYNC_InterruptLine | VICPSYNC_InterruptLine
Interrupt line that can be specified for each Resource type.
typedef enum VICPSYNC_InterruptType | VICPSYNC_InterruptType
Interrupt type that can be specified for each Resource type.
typedef enum VICPSYNC_Status | VICPSYNC_Status

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
}

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.

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.

Define Documentation

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

Name to identify the GT module

Typedef Documentation

typedef struct VICPSYNC_Params VICPSYNC_Params

The module configuration structure for VICPSYNC implementation.

typedef enum VICPSYNC_ResourceType VICPSYNC_ResourceType

Resource types for which the API can be called.

typedef enum VICPSYNC_InterruptLine VICPSYNC_InterruptLine

Interrupt line that can be specified for each Resource type.

typedef enum VICPSYNC_InterruptType VICPSYNC_InterruptType

Interrupt type that can be specified for each Resource type.

typedef enum VICPSYNC_Status VICPSYNC_Status

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

Variable Documentation

VICPSYNC_Params VICPSYNC_PARAMS

Default module configuration structure (defined in vicpsync.c)


Framework Components Application Programming Interface (API): RcmClient

Functions | Defines | Data Structures | Typedefs

RcmClient

Remote Command Message Client Module. An RcmClient is used for sending messages to an RcmServer for processing. More...

Functions

Int | RcmClient_acquireJobId (RcmClient_Handle handle, UInt16 *jobId)
Get a job id from the server.
Int | RcmClient_addSymbol (RcmClient_Handle handle, String name, Fxn addr, UInt32 *index)
Add a symbol and its address to the server table.
Int | RcmClient_alloc (RcmClient_Handle handle, UInt32 dataSize, RcmClient_Message **message)
Allocate a message from the heap configured for this instance.
Int | RcmClient_checkForError (RcmClient_Handle handle, RcmClient_Message **returnMsg)
Check if an error message has been returned from the server.
Int | RcmClient_construct (RcmClient_Struct *structPtr, String server, const RcmClient_Params *params)
Initialize a new instance object inside the provided structure.
Int | RcmClient_create (String server, const RcmClient_Params *params, RcmClient_Handle *handle)
Create an RcmClient instance.
Int | RcmClient_delete (RcmClient_Handle *handlePtr)
Delete an RcmClient instance.
Int | RcmClient_destruct (RcmClient_Struct *structPtr)
Finalize the instance object inside the provided structure.
Int | RcmClient_exec (RcmClient_Handle handle, RcmClient_Message *cmdMsg, RcmClient_Message **returnMsg)
Execute a command message on the server.
Int | RcmClient_execAsync (RcmClient_Handle handle, RcmClient_Message *cmdMsg, RcmClient_CallbackFxn callback, Ptr appData)
Execute a command message and use a callback for notification.
Int | RcmClient_execCmd (RcmClient_Handle handle, RcmClient_Message *cmdMsg)
Execute a one-way command message on the server.
Int | RcmClient_execDpc (RcmClient_Handle handle, RcmClient_Message *cmdMsg, RcmClient_Message **returnMsg)
Execute a deferred procedure call on the server.
Int | RcmClient_execNoWait (RcmClient_Handle handle, RcmClient_Message *cmdMsg, UInt16 *msgId)
Submit a command message to the server and return immediately.
Void | RcmClient_exit (Void)
Finalize the RcmClient module.
Int | RcmClient_free (RcmClient_Handle handle, RcmClient_Message *msg)
Free the given message.
Int | RcmClient_getSymbolIndex (RcmClient_Handle handle, String name, UInt32 *index)
Return the function index from the server.
Void | RcmClient_init (Void)
Initialize the RcmClient module.
Void | RcmClient_Params_init (RcmClient_Params *params)
Initialize the instance create params structure.
Int | RcmClient_releaseJobId (RcmClient_Handle handle, UInt16 jobId)
Return a job id to the server and release all resources.
Int | RcmClient_removeSymbol (RcmClient_Handle handle, String name)
Remove a symbol and from the server function table.
Int | RcmClient_waitUntilDone (RcmClient_Handle handle, UInt16 msgId, RcmClient_Message **returnMsg)
Block until the specified message has been executed.

Defines

#define | RcmClient_S_SUCCESS (0)
Success return code.
#define | RcmClient_E_FAIL (-1)
General failure return code.
#define | RcmClient_E_EXECASYNCNOTENABLED (-2)
The client has not been configured for asynchronous notification.
#define | RcmClient_E_EXECFAILED (-3)
The client was unable to send the command message to the server.
#define | RcmClient_E_INVALIDHEAPID (-4)
A heap id must be provided in the create params.
#define | RcmClient_E_INVALIDFXNIDX (-5)
Invalid function index.
#define | RcmClient_E_MSGFXNERROR (-6)
Message function error.
#define | RcmClient_E_IPCERROR (-7)
An unknown error has been detected from the IPC layer.
#define | RcmClient_E_LISTCREATEFAILED (-8)
Failed to create the list object.
#define | RcmClient_E_LOSTMSG (-9)
The expected reply message from the server was lost.
#define | RcmClient_E_MSGALLOCFAILED (-10)
Insufficient memory to allocate a message.
#define | RcmClient_E_MSGQCREATEFAILED (-11)
The client message queue could not be created.
#define | RcmClient_E_MSGQOPENFAILED (-12)
The server message queue could not be opened.
#define | RcmClient_E_SERVERERROR (-13)
The server returned an unknown error code.
#define | RcmClient_E_SERVERNOTFOUND (-14)
The server specified in the create params was not found.
#define | RcmClient_E_SYMBOLNOTFOUND (-15)
The given symbol was not found in the server symbol table.
#define | RcmClient_E_NOMEMORY (-16)
There is insufficient memory left in the heap.
#define | RcmClient_E_JOBIDNOTFOUND (-17)
The given job id was not found on the server.
#define | RcmClient_INVALIDFXNIDX ((UInt32)(0xFFFFFFFF))
Invalid function index.
#define | RcmClient_INVALIDHEAPID ((UInt16)(0xFFFF))
Invalid heap id.
#define | RcmClient_INVALIDMSGID (0)
Invalid message id.
#define | RcmClient_DEFAULTPOOLID ((UInt16)(0x8000))
Default worker pool id.
#define | RcmClient_DISCRETEJOBID (0)
Invalid job stream id.

Data Structures

struct | RcmClient_Message
Remote Command Message structure. More...
struct | RcmClient_Params
Instance create parameters. More...
struct | RcmClient_Struct
Opaque client structure large enough to hold an instance object. More...

Typedefs

typedef struct
RcmClient_Object_tag * 		RcmClient_Handle
RcmClient instance object handle.
typedef Void(* | RcmClient_CallbackFxn )(RcmClient_Message *, Ptr)
Callback function type.

Detailed Description

Remote Command Message Client Module. An RcmClient is used for sending messages to an RcmServer for processing.

The RcmClient module is used to send messages to an RcmServer for processing. An RcmClient instance must be created which will communicate with a single RcmServer instance. An RcmServer instance can receive messages from many RcmClient instances but an RcmClient instance can send messages to only one RcmServer instance.

Error Handling

Errors may be raised at various points in the execution flow of a single message. These are the types of errors raised by RCM:

  • RCM Errors
  • User Errors
  • Message Function Errors
  • Library Function Errors

The following diagram illustrates the call flow and highlights the points at which errors can be raised.

Diagram 1: Execution Flow

RCM errors are raised by the RCM implementation. For example, when calling RcmClient_exec(), it may raise an error if it is unable to send the message. This will be reported immediately to the caller, the server is never involved. This is highlighted in the diagram at point [A].

RCM errors may also be raised by the RcmServer. Once RcmClient_exec() sends a message, it waits for the return message. When the server receives the message, it has to decode its type. If this fails, the server records this error in the message and sends it back to the client. This is highlighted at point [B] in the diagram. When RcmClient_exec() receives the return message, it inspects the status field and recognizes the error. It then raises an appropriate error to the caller.

User errors are raised by RCM as a result of an invalid runtime condition. They are typically detected and raised by the server and then sent back to the client for processing. For example, when the server receives a message, it will lookup the function index in it's table and invoke the corresponding message function. If the index is invalid, this is detected by the server and reported as an error. The message function is never invoked. The message is returned to the client and RcmClient_exec() will raise the appropriate error. This error is raised at point [B] in the diagram.

Message function errors are raised by the message function itself. This is highlighted at point [C] in the diagram. In the body of the message function, an error is encountered either when calling a framework function or when unmarshalling the arguments from the message payload. In both cases, the message function will abort and return an error value as its return value. The error value must be less than zero (< 0). When control returns to the server, it inspects the message function's return value. If the message was sent by RcmClient_exec(), then the server simply stores the return value in the message and returns it to the client. However, if the message was send by RcmClient_execCmd(), the behavior is slightly different. If the return value is < 0 (error condition), then the server behaves the same as for the RcmClient_exec() case. However, if there is no error, the server simply frees the message. The message is never returned to the client.

Library functions errors are raised by the library functions invoked by the message function, highlighted at point [D] in the diagram. It is the responsibility of the message function to detect a library function error and to marshal the appropriate error code into the message payload. The message function must also return an error value (< 0) so that server can do proper error handing as described in the preceeding paragraph. It is the stub function's responsibility to unmarshal the error value from the message payload and take the appropriate action.

Understanding the types of errors raised by RCM and where they are raised is important when writing the upper layer software. The following code fragment illustrates how to check for the errors discussed above. See <a href"#error_handling">Error Handling above.

  RcmClient_Message *msg;

  // send message
  status = RcmClient_exec(h, msg, &msg);

  // check for error
  switch (status) {

      case RcmClient_S_SUCCESS:
          // no error, all is well
          break;

      case RcmClient_E_EXECFAILED:
          // RCM error, unable to send message
          :
          break;

      case RcmClient_E_INVALIDFXNIDX:
          // user error, bad function index
          :
          break;

      case RcmClient_E_MSGFXNERROR:
          // decode message function error
          msgFxnErr = msg->result;
          :
          // decode library function error
          libFxnErr = msg->data[0];
          :
          break;
  }

  // free message if one was returned
  if (msg != NULL) {
      RcmClient_free(h, msg);
      msg = NULL;
  }

The upper layer software begins by calling RcmClient_exec() to send the message to the server. If RCM encounters a transport error and is unable to send the message, an RcmClient_E_EXECFAILED error is returned.

If the server encounters an error while decoding the message, say an invalid function index, the server returns the message and an RcmClient_E_INVALIDFXNIDX error is returned.

If the message function or the library function encounter an error, the message is returned and an RcmClient_E_MSGFXNERROR error is returned. The upper layer software must decode the results field to see what error the message function returned. If the library function returned an error, its error code must be unmarshalled from the payload. This is illustrated by decoding the first word in the payload (msg->data[0]). The actual marshal format is implementation specific.

The message function must return >=0 for success, <0 for error. Here is a very simple message function which simply turns on an LED.

  Int32 Led_On(UInt32 size, UInt32 *data)
  {
      Ptr led = <addr>;

      *led = 1;  // turn on LED
      return(0); // success
  }

In this example, the message payload is not used. The message function does all the work, it just sets a bit in the LED control register, and returns success.

This next example illustrates a very simple RPC style skel function. It unmarshalls two arguments and invokes the libraray function. If the library function succeeds, the message function returns 0, otherwise it returns -1 to indicate failure. In both cases, the library function's return value is marshalled into the payload. The calling stub function can umarshal the return value to get the library function's error code.

  Int32 MediaSkel_process(UInt32 size, UInt32 *data)
  {
      Int a, b, x;
      Int32 status = 0;  // success

      // unmarshal args
      a = (Int)data[1];
      b = (Int)data[2];

      // invoke library function, returns >=0 on success
      x = Media_process(a, b);

      // marshal return value
      data[0] = (Int32)x;

      // return status
      return(x >= 0 ? 0 : -1);
  }
See also:
RcmServer
RCM Overview

Function Documentation

Int RcmClient_acquireJobId | ( | RcmClient_Handle | handle,
 |  | UInt16 * | jobId
 | ) |  |

Get a job id from the server.

Acquire a unique job id from the server. The job id is used to associate messages with a common job id. The server will process all messages for a given job id in sequence.

Int RcmClient_addSymbol | ( | RcmClient_Handle | handle,
 |  | String | name,
 |  | Fxn | addr,
 |  | UInt32 * | index
 | ) |  |

Add a symbol and its address to the server table.

This function is used by the client to dynamically load a new function address into the server's function pointer table. The given address must be in the server's address space. The function must already be loaded into the server's memory.

This function is useful when dynamically loading code onto the remote processor (as in the case of DLL's).

Parameters:
[in] | handle | Handle to an instance object
[in] | name | The function's name.
[in] | addr | The function's address as specified in the remote processor's address space.
[out] | index | The function's index value to be used in the RcmClient_Message.fxnIdx field.
Return values:
RcmClient_S_SUCCESS | Success
RcmClient_E_FAIL | Failure
Int RcmClient_alloc | ( | RcmClient_Handle | handle,
 |  | UInt32 | dataSize,
 |  | RcmClient_Message ** | message
 | ) |  |

Allocate a message from the heap configured for this instance.

When a message is allocated, the RcmClient instance is the owner of the message. All messages must be returned to the heap by calling RcmClient_free().

During a call to all of the exec functions, the ownership of the message is temporarily transfered to the server. If the exec function returns an RcmClient_Message pointer, then ownership of the message is returned to the instance. For the other exec functions, the client acquires ownership of the return message by calling RcmClient_waitUntilDone().

A message should not be accessed when ownership has been given away. Once ownership has been reacquired, the message can be either reused or returned to the heap.

Parameters:
[in] | handle | Handle to an instance object
[in] | dataSize | Specifies (in chars) how much space to allocate for the RcmClient_Message.data array. The actual memory allocated from the heap will be larger as it includes the size of the internal message header.
[out] | message | A pointer to the allocated message or NULL on error.
Int RcmClient_checkForError | ( | RcmClient_Handle | handle,
 |  | RcmClient_Message ** | returnMsg
 | ) |  |

Check if an error message has been returned from the server.

When using RcmClient_execCmd() to send messages to the server, the message will be freed by the server unless an error occurs. In the case of an error, the message is returned to the client. Use this function to check for and to retrieve these error messages.

Note that the latency of the return message is dependent on many system factors. In particular, the server's response time to processing a message will be a significant factor. It is possible to call RcmClient_execCmd() several times before any error message is returned. There is no way to know when all the messages have been processed.

The return value of RcmClient_checkForError() is designed to mimic the return value of RcmClient_exec(). When an error message is returned to the caller, the return value of RcmClient_checkForError() will be the appropriate error code as if the error had occured during a call to RcmClient_exec(). For example, if a message is prepared with an incorrect function index, the return value from RcmClient_exec() would be RcmClient_E_INVALIDFXNIDX. However, the same message sent with RcmClient_execCmd() will not return an error, because the function does not wait for the return message. When the server receives the message and detects the function index error, it will return the message to the client on a special error queue. The subsequent call to RcmClient_checkForError() will pickup this error message and return with a status value of RcmClient_E_INVALIDFXNIDX, just as the call to RcmClient_exec() would have done.

A return value of RcmClient_S_SUCCESS means there are no error messages. This function will never return a message and a success status code at the same time.

When this function returns an error message, the caller must return the message to the heap by calling RcmClient_free().

It is possible that RcmClient_checkForError() will return with an error but without an error message. This can happen when an internal error occurs in RcmClient_checkForError() before it has checked the error queue. In this case, an error is returned but the returnMsg argument will be set to NULL.

Parameters:
[in] | handle | Handle to an instance object
[out] | returnMsg | A pointer to the error message or NULL if there are no error messages in the queue.
Return values:
RcmClient_S_SUCCESS
RcmClient_E_IPCERROR
RcmClient_E_INVALIDFXNIDX
RcmClient_E_MSGFXNERROR
RcmClient_E_SERVERERROR
Int RcmClient_construct | ( | RcmClient_Struct * | structPtr,
 |  | String | server,
 |  | const RcmClient_Params * | params
 | ) |  |

Initialize a new instance object inside the provided structure.

This function is the same as RcmClient_create() except that it does not allocate memory for the instance object. The instance object is constructed inside the provided structure. Call RcmClient_destruct() to finalize a constructed instance object.

Parameters:
[in] | structPtr | A pointer to an allocated structure.
[in] | server | The name of the server that messages will be sent to for executing commands. The name must be a system-wide unique name.
[in] | params | The create params used to customize the instance object.
See also:
RcmClient_create
Int RcmClient_create | ( | String | server,
 |  | const RcmClient_Params * | params,
 |  | RcmClient_Handle * | handle
 | ) |  |

Create an RcmClient instance.

The RcmClient instance is used by the application to send messages to an RcmServer for executing remote functions. A given instance can send messages only to the server it was configured for. If an application needs to send messages to multiple servers, then create an RcmClient instance for each server.

The assigned server to this instance must already exist and be running before creating RcmClient instances which send messages to it.

Parameters:
[in] | server | The name of the server that messages will be sent to for executing commands. The name must be a system-wide unique name.
[in] | params | The create params used to customize the instance object.
[out] | handle | An opaque handle to the created instance object.
Int RcmClient_delete ( RcmClient_Handle * handlePtr )

Delete an RcmClient instance.

Parameters:
[in,out] handlePtr Handle to the instance object to delete.
Int RcmClient_destruct ( RcmClient_Struct * structPtr )

Finalize the instance object inside the provided structure.

Parameters:
[in] structPtr A pointer to the structure containing the instance object to finalize.
Int RcmClient_exec | ( | RcmClient_Handle | handle,
 |  | RcmClient_Message * | cmdMsg,
 |  | RcmClient_Message ** | returnMsg
 | ) |  |

Execute a command message on the server.

The message is sent to the server for processing. This call will block until the remote function has completed. When this function returns, the message will contain the return value of the remote function as well as a possibly modified context.

After calling exec, the message can be either reused for another call to exec or it can be freed.

Parameters:
[in] | handle | Handle to an instance object
[in] | cmdMsg | Pointer to an RcmClient_Message structure.
[out] | returnMsg | A pointer to the return message or NULL on error. The client must free this message. The return value of the message function is stored in the results field. The return value of the library function is marshalled into the data field.
Return values:
RcmClient_S_SUCCESS
RcmClient_E_EXECFAILED
RcmClient_E_INVALIDFXNIDX
RcmClient_E_LOSTMSG
RcmClient_E_MSGFXNERROR
RcmClient_E_SERVERERROR
Int RcmClient_execAsync | ( | RcmClient_Handle | handle,
 |  | RcmClient_Message * | cmdMsg,
 |  | RcmClient_CallbackFxn | callback,
 |  | Ptr | appData
 | ) |  |

Execute a command message and use a callback for notification.

The message is sent to the server for execution, but this call does not wait for the remote function to execute. This call returns as soon as the message has been dispatched to the transport. Upon returning from this function, the ownership of the message has been lost; do not access the message at this time.

When the remote function completes, the given callback function is invoked by this RcmClient instance's callback server thread. The callback function is used to asynchronously notify the client that the remote function has completed.

The RcmClient instance must be create with callbackNotification set to true in order to use this function.

Parameters:
[in] | handle | Handle to an instance object
[in] | cmdMsg | Pointer to an RcmClient_Message structure.
[in] | callback | A callback function pointer supplied by the application. It will be invoked by the callback server thread to notify the application that the remote function has completed.
[in] | appData | A private data pointer supplied by the application. This allows the application to provide its own context when receiving the callback.
Int RcmClient_execCmd | ( | RcmClient_Handle | handle,
 |  | RcmClient_Message * | cmdMsg
 | ) |  |

Execute a one-way command message on the server.

The message is sent to the server for processing but this function does not wait for the return message. This function is non-blocking. The server will processes the message and then free it, unless an error occurs. The return value from the remote function is discarded.

If an error occurs on the server while processing the message, the server will return the message to the client. Use RcmClient_checkForError() to collect these return error messages.

When this function returns, ownership of the message has been transfered to the server. Do not access the message after this function returns, it could cause cache inconsistencies or a memory access violation.

Parameters:
[in] | handle | Handle to an instance object
[in] | cmdMsg | Pointer to an RcmClient_Message structure.
Return values:
RcmClient_S_SUCCESS
RcmClient_E_IPCERROR
Int RcmClient_execDpc | ( | RcmClient_Handle | handle,
 |  | RcmClient_Message * | cmdMsg,
 |  | RcmClient_Message ** | returnMsg
 | ) |  |

Execute a deferred procedure call on the server.

The return field of the message is not used.

Parameters:
[in] | handle | Handle to an instance object
[in] | cmdMsg | Pointer to an RcmClient_Message structure.
[out] | returnMsg | A pointer to the return message or NULL on error. The client must free this message.
Int RcmClient_execNoWait | ( | RcmClient_Handle | handle,
 |  | RcmClient_Message * | cmdMsg,
 |  | UInt16 * | msgId
 | ) |  |

Submit a command message to the server and return immediately.

The message is sent to the server for execution but this call does not wait for the remote function to execute. The call returns as soon as the message has been dispatched to the transport. Upon returning from this function, the ownership of the message has been lost; do not access the message at this time.

Using this call to execute a remote message does not require a callback server thread. The application must call RcmClient_waitUntilDone() to get the return message from the remote function.

Parameters:
[in] | handle | Handle to an instance object
[in] | cmdMsg | A pointer to an RcmClient_Message structure.
[out] | msgId | Pointer used for storing the message id. Use the message id in a call to RcmClient_WaitUntilDone() to retrieve the return value of the remote function.
Void RcmClient_exit ( Void )

Finalize the RcmClient module.

This function is used to finalize the RcmClient module. Any resources acquired by RcmClient_init() will be released. Do not call any RcmClient functions after calling RcmClient_exit().

This function must be serialized by the caller.

Int RcmClient_free | ( | RcmClient_Handle | handle,
 |  | RcmClient_Message * | msg
 | ) |  |

Free the given message.

Parameters:
[in] | handle | Handle to an instance object
msg | Pointer to an RcmClient_Message structure.
Int RcmClient_getSymbolIndex | ( | RcmClient_Handle | handle,
 |  | String | name,
 |  | UInt32 * | index
 | ) |  |

Return the function index from the server.

Query the server for the given function name and return its index. Use the index in the fxnIdx field of the RcmClient_Message struct.

Parameters:
[in] | handle | Handle to an instance object
[in] | name | The function's name.
[out] | index | The function's index.
Void RcmClient_init ( Void )

Initialize the RcmClient module.

This function is used to initialize the RcmClient module. Call this function before calling any other RcmClient function.

This function must be serialized by the caller

Void RcmClient_Params_init ( RcmClient_Params * params )

Initialize the instance create params structure.

Int RcmClient_releaseJobId | ( | RcmClient_Handle | handle,
 |  | UInt16 | jobId
 | ) |  |

Return a job id to the server and release all resources.

Parameters:
[in] | handle | Handle to an instance object
[in] | jobId | The job id to be released
Int RcmClient_removeSymbol | ( | RcmClient_Handle | handle,
 |  | String | name
 | ) |  |

Remove a symbol and from the server function table.

Useful when unloading a DLL from the server.

Parameters:
[in] | handle | Handle to an instance object
[in] | name | The function name.
Int RcmClient_waitUntilDone | ( | RcmClient_Handle | handle,
 |  | UInt16 | msgId,
 |  | RcmClient_Message ** | returnMsg
 | ) |  |

Block until the specified message has been executed.

This function will wait until the remote function invoked by the specified message has completed. Upon return from this call, the message will contain the return value and the return context of the remote function.

Parameters:
[in] | handle | Handle to an instance object
[in] | msgId | The message ID to wait for.
[out] | returnMsg | A pointer to the return message or NULL on error. The client must free this message.

Define Documentation

#define RcmClient_S_SUCCESS (0)

Success return code.

#define RcmClient_E_FAIL (-1)

General failure return code.

#define RcmClient_E_EXECASYNCNOTENABLED (-2)

The client has not been configured for asynchronous notification.

In order to use the RcmClient_execAsync() function, the RcmClient must be configured with callbackNotification set to true in the instance create parameters.

#define RcmClient_E_EXECFAILED (-3)

The client was unable to send the command message to the server.

An IPC transport error occurred. The message was never sent to the server.

#define RcmClient_E_INVALIDHEAPID (-4)

A heap id must be provided in the create params.

When an RcmClient instance is created, a heap id must be given in the create params. This heap id must be registered with MessageQ before calling RcmClient_create().

#define RcmClient_E_INVALIDFXNIDX (-5)

Invalid function index.

An RcmClient_Message was sent to the server which contained a function index value (in the fxnIdx field) that was not found in the server's function table.

#define RcmClient_E_MSGFXNERROR (-6)

Message function error.

There was an error encountered in either the message function or the library function invoked by the message function. The semantics of the error code are implementation dependent.

#define RcmClient_E_IPCERROR (-7)

An unknown error has been detected from the IPC layer.

Check the error log for additional information.

#define RcmClient_E_LISTCREATEFAILED (-8)

Failed to create the list object.

#define RcmClient_E_LOSTMSG (-9)

The expected reply message from the server was lost.

A command message was sent to the RcmServer but the reply message was not received. This is an internal error.

#define RcmClient_E_MSGALLOCFAILED (-10)

Insufficient memory to allocate a message.

The message heap cannot allocate a buffer of the requested size. The reported size it the requested data size and the underlying message header size.

#define RcmClient_E_MSGQCREATEFAILED (-11)

The client message queue could not be created.

Each RcmClient instance must create its own message queue for receiving return messages from the RcmServer. The creation of this message queue failed, thus failing the RcmClient instance creation.

#define RcmClient_E_MSGQOPENFAILED (-12)

The server message queue could not be opened.

Each RcmClient instance must open the server's message queue. This error is raised when an internal error occurred while trying to open the server's message queue.

#define RcmClient_E_SERVERERROR (-13)

The server returned an unknown error code.

The server encountered an error with the given message but the error code is not recognized by the client.

#define RcmClient_E_SERVERNOTFOUND (-14)

The server specified in the create params was not found.

When creating an RcmClient instance, the specified server could not be found. This could occur if the server name is incorrect, or if the RcmClient instance is created before the RcmServer. In such an instance, the client can retry when the RcmServer is expected to have been created.

#define RcmClient_E_SYMBOLNOTFOUND (-15)

The given symbol was not found in the server symbol table.

This error could occur if the symbol spelling is incorrect or if the RcmServer is still loading its symbol table.

#define RcmClient_E_NOMEMORY (-16)

There is insufficient memory left in the heap.

#define RcmClient_E_JOBIDNOTFOUND (-17)

The given job id was not found on the server.

When releasing a job id with a call to RcmClient_releaseJobId(), this error return value indicates that the given job id was not previously allocated with a call to RcmClient_acquireJobId().

#define RcmClient_INVALIDFXNIDX ((UInt32)(0xFFFFFFFF))

Invalid function index.

#define RcmClient_INVALIDHEAPID ((UInt16)(0xFFFF))

Invalid heap id.

#define RcmClient_INVALIDMSGID (0)

Invalid message id.

#define RcmClient_DEFAULTPOOLID ((UInt16)(0x8000))

Default worker pool id.

The default worker pool is used to process all anonymous messages. When a new message is allocated, the pool id property is initialized to this value.

#define RcmClient_DISCRETEJOBID (0)

Invalid job stream id.

All discrete messages must have their jobId property set to this value. When a new message is allocated, the jobId property is initialized tothis value.

Typedef Documentation

typedef struct RcmClient_Object_tag* RcmClient_Handle

RcmClient instance object handle.

typedef Void(* RcmClient_CallbackFxn)(RcmClient_Message *, Ptr)

Callback function type.

When using callback notification, the application must supply a callback function of this type. The callback will be invoked with the pointer to the RcmClient_Message returned from the server and the application data pointer supplied in the call to RcmClient_execAsync().


Framework Components Application Programming Interface (API): RcmServer

Functions | Defines | Data Structures | Typedefs

RcmServer

Remote Command Message Server Module. An RcmServer processes inbound messages received from an RcmClient. More...

Functions

Int | RcmServer_addSymbol (RcmServer_Handle handle, String name, RcmServer_MsgFxn addr, UInt32 *index)
Add a symbol to the server's function table.
Int | RcmServer_construct (RcmServer_Struct *structPtr, String name, const RcmServer_Params *params)
Initialize a new instance object inside the provided structure.
Int | RcmServer_create (String name, RcmServer_Params *params, RcmServer_Handle *handle)
Create an RcmServer instance.
Int | RcmServer_delete (RcmServer_Handle *handlePtr)
Delete an RcmServer instance.
Int | RcmServer_destruct (RcmServer_Struct *structPtr)
Finalize the instance object inside the provided structure.
Void | RcmServer_exit (Void)
Finalize the RcmServer module.
Void | RcmServer_init (Void)
Initialize the RcmServer module.
Void | RcmServer_Params_init (RcmServer_Params *params)
Initialize the instance create params structure.
Int | RcmServer_removeSymbol (RcmServer_Handle handle, String name)
Remove a symbol and from the server's function table.
Int | RcmServer_start (RcmServer_Handle handle)
Start the server.

Defines

#define | RcmServer_S_SUCCESS (0)
Success return code.
#define | RcmServer_E_FAIL (-1)
General failure return code.
#define | RcmServer_E_NOMEMORY (-2)
The was insufficient memory left on the heap.
#define | RcmServer_E_SYMBOLNOTFOUND (-3)
The given symbol was not found in the server's symbol table.
#define | RcmServer_E_SYMBOLSTATIC (-4)
The given symbols is in the static table, it cannot be removed.
#define | RcmServer_E_SYMBOLTABLEFULL (-5)
The server's symbol table is full.

Data Structures

struct | RcmServer_FxnDesc
Function descriptor. More...
struct | RcmServer_FxnDescAry
Function descriptor array. More...
struct | RcmServer_ThreadPoolDesc
Worker pool descriptor. More...
struct | RcmServer_ThreadPoolDescAry
Worker pool descriptor array. More...
struct | RcmServer_Params
RcmServer Instance create parameters. More...
struct | RcmServer_Struct
Opaque client structure large enough to hold an instance object. More...

Typedefs

typedef Int32(* | RcmServer_MsgFxn )(UInt32, UInt32 *)
Remote function type.
typedef struct
RcmServer_Object_tag * 		RcmServer_Handle
RcmServer instance object handle.

Detailed Description

Remote Command Message Server Module. An RcmServer processes inbound messages received from an RcmClient.

The RcmServer module is used to create an server instance. RcmClients send their messages to only one RcmServer instance for processing. The server instance can be created with a function dispatch table and additional tables can be added as requested by the clients.

Diagnostics

Diags_INFO - full detail log events Diags_USER1 - message processing

See also:
RcmClient
RCM Overview

Function Documentation

Int RcmServer_addSymbol | ( | RcmServer_Handle | handle,
 |  | String | name,
 |  | RcmServer_MsgFxn | addr,
 |  | UInt32 * | index
 | ) |  |

Add a symbol to the server's function table.

This function adds a new symbol to the server's function table. This is useful for supporting Dynamic Load Libraries (DLLs).

Parameters:
[in] | handle | Handle to an instance object.
[in] | name | The function's name.
[in] | addr | The function's address in the server's address space.
[out] | index | The function's index value to be used in the RcmClient_Message.fxnIdx field.
Return values:
RcmClient_S_SUCCESS
RcmServer_E_NOMEMORY
RcmServer_E_SYMBOLTABLEFULL
Int RcmServer_construct | ( | RcmServer_Struct * | structPtr,
 |  | String | name,
 |  | const RcmServer_Params * | params
 | ) |  |

Initialize a new instance object inside the provided structure.

This function is the same as RcmServer_create() except that it does not allocate memory for the instance object. The instance object is constructed inside the provided structure. Call RcmServer_destruct() to finalize a constructed instance object.

Parameters:
[in] | structPtr | A pointer to an allocated structure.
[in] | name | The name of the server. The RcmClient will locate a server instance using this name. It must be unique to the system.
[in] | params | The create params used to customize the instance object.
Return values:
RcmClient_S_SUCCESS
RcmServer_E_FAIL
RcmServer_E_NOMEMORY
See also:
RcmServer_create
Int RcmServer_create | ( | String | name,
 |  | RcmServer_Params * | params,
 |  | RcmServer_Handle * | handle
 | ) |  |

Create an RcmServer instance.

A server instance is used to execute functions on behalf of an RcmClient instance. There can be multiple server instances on any given CPU. The servers typically reside on a remote CPU from the RcmClient instance.

Parameters:
[in] | name | The name of the server. The RcmClient will locate a server instance using this name. It must be unique to the system.
[in] | params | The create params used to customize the instance object.
[out] | handle | An opaque handle to the created instance object.
Return values:
RcmClient_S_SUCCESS
RcmServer_E_FAIL
RcmServer_E_NOMEMORY
Int RcmServer_delete ( RcmServer_Handle * handlePtr )

Delete an RcmServer instance.

Parameters:
[in,out] handlePtr Handle to the instance object to delete.
Int RcmServer_destruct ( RcmServer_Struct * structPtr )

Finalize the instance object inside the provided structure.

Parameters:
[in] structPtr A pointer to the structure containing the instance object to finalize.
Void RcmServer_exit ( Void )

Finalize the RcmServer module.

This function is used to finalize the RcmServer module. Any resources acquired by RcmServer_init() will be released. Do not call any RcmServer functions after calling RcmServer_exit().

This function must be serialized by the caller.

Void RcmServer_init ( Void )

Initialize the RcmServer module.

This function is used to initialize the RcmServer module. Call this function before calling any other RcmServer function.

This function must be serialized by the caller

Void RcmServer_Params_init ( RcmServer_Params * params )

Initialize the instance create params structure.

Int RcmServer_removeSymbol | ( | RcmServer_Handle | handle,
 |  | String | name
 | ) |  |

Remove a symbol and from the server's function table.

Useful when unloading a DLL from the server.

Parameters:
[in] | handle | Handle to an instance object.
[in] | name | The function's name.
Return values:
RcmClient_S_SUCCESS
RcmServer_E_SYMBOLNOTFOUND
RcmServer_E_SYMBOLSTATIC
Int RcmServer_start ( RcmServer_Handle handle )

Start the server.

The server is created in stop mode. It will not start processing messages until it has been started.

Parameters:
[in] handle Handle to an instance object.
Return values:
RcmClient_S_SUCCESS
RcmServer_E_FAIL

Define Documentation

#define RcmServer_S_SUCCESS (0)

Success return code.

#define RcmServer_E_FAIL (-1)

General failure return code.

#define RcmServer_E_NOMEMORY (-2)

The was insufficient memory left on the heap.

#define RcmServer_E_SYMBOLNOTFOUND (-3)

The given symbol was not found in the server's symbol table.

This error could occur if the symbol spelling is incorrect or if the RcmServer is still loading its symbol table.

#define RcmServer_E_SYMBOLSTATIC (-4)

The given symbols is in the static table, it cannot be removed.

All symbols installed at instance create time are added to the static symbol table. They cannot be removed. The statis symbol table must remain intact for the lifespan of the server instance.

#define RcmServer_E_SYMBOLTABLEFULL (-5)

The server's symbol table is full.

The symbol table is full. You must remove some symbols before any new symbols can be added.

Typedef Documentation

typedef Int32(* RcmServer_MsgFxn)(UInt32, UInt32 *)

Remote function type.

All functions executed by the RcmServer must be of this type. Typically, these functions are simply wrappers to the vendor function. The server invokes this remote function by passing in the RcmClient_Message.dataSize field and the address of the RcmClient_Message.data array.

  RcmServer_MsgFxn fxn = ...;
  RcmClient_Message *msg = ...;
  msg->result = (*fxn)(msg->dataSize, msg->data);
typedef struct RcmServer_Object_tag* RcmServer_Handle

RcmServer instance object handle.


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

Defines | Typedefs

XDAIS Types and Constants

Defines

#define | XDAS_TRUE 1
#define | XDAS_FALSE 0

Typedefs

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

Define Documentation

#define XDAS_TRUE 1
#define XDAS_FALSE 0

Typedef Documentation

typedef Void XDAS_Void
typedef Uint8 XDAS_Bool
typedef Int8 XDAS_Int8

Actual size chip dependent.

typedef Uint8 XDAS_UInt8

Actual size chip dependent.

typedef Int16 XDAS_Int16

Actual size of type is 16 bits.

typedef Uint16 XDAS_UInt16

Actual size of type is 16 bits.

typedef Int32 XDAS_Int32

Actual size of type is 32 bits.

typedef Uint32 XDAS_UInt32

Actual size of type is 32 bits.


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

Defines | Data Structures | Typedefs | Enumerations

IRES EDMA3 Protocol

Defines

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

Data Structures

struct | IRES_EDMA3CHAN_PaRamStruct
Representation of actual PaRam 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...
struct | IRES_EDMA3CHAN2_Obj
IRES_EDMA3CHAN2_Obj corresponds to version IRES_EDMA3CHAN_PROTOCOLREVISION_2_0_0. It has been enhanced * from the IRES_EDMA3CHAN_Obj. More...

Typedefs

typedef struct IRES_EDMA3CHAN_Obj * | IRES_EDMA3CHAN_Handle
Handle to "logical" EDMA3CHAN resource, version {1,0,0}.
typedef struct
IRES_EDMA3CHAN2_Obj * 		IRES_EDMA3CHAN2_Handle
Handle to "logical" EDMA3CHAN resource, version {2,0,0}.
typedef struct
IRES_EDMA3CHAN_PaRamStruct 		IRES_EDMA3CHAN_PaRamStruct
Representation of actual PaRam structure.
typedef struct
IRES_EDMA3CHAN_ProtocolArgs 		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.
typedef struct IRES_EDMA3CHAN_Obj | IRES_EDMA3CHAN_Obj
IRES_EDMA3CHAN_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource.
typedef struct
IRES_EDMA3CHAN_EDMA3ShadowRegister 		IRES_EDMA3CHAN_EDMA3ShadowRegister
IRES_EDMA3CHAN_EDMA3ShadowRegister defines the shadow register part of the EDMA3 CC Register Layer defined below.
typedef struct
IRES_EDMA3CHAN_EDMA3DraeRegister 		IRES_EDMA3CHAN_EDMA3DraeRegister
IRES_EDMA3CHAN_EDMA3DraeRegister defines the Region Enable register part of the EDMA3 CC Register Layer defined below.
typedef struct
IRES_EDMA3CHAN_EDMA3RegisterLayer 		IRES_EDMA3CHAN_EDMA3RegisterLayer
typedef struct
IRES_EDMA3CHAN_Properties 		IRES_EDMA3CHAN_Properties
Static Resource Properties.
typedef enum
IRES_EDMA3CHAN_DmaDestType 		IRES_EDMA3CHAN_DmaDestType
Describes the Destination type of DMA writes This information is used to distribute different types of DMA writes to different EDMA3 Queues.
typedef struct IRES_EDMA3CHAN2_Obj | IRES_EDMA3CHAN2_Obj
IRES_EDMA3CHAN2_Obj corresponds to version IRES_EDMA3CHAN_PROTOCOLREVISION_2_0_0. It has been enhanced * from the IRES_EDMA3CHAN_Obj.

Enumerations

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

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

More...

Detailed Description

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

Define Documentation

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

Name used to describe this protocol.

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

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

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

Name used to describe the GT module.

#define IRES_EDMA3CHAN_PROTOCOLREVISION_1_0_0 {1, 0, 0}

Protocol Revision for the 1.0.0 version of resource.

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

Protocol Revision for the 2.0.0 version of resource.

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

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

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

Macros to represent different PaRam, Channel and tcc types.

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

Typedef Documentation

typedef struct IRES_EDMA3CHAN_Obj* IRES_EDMA3CHAN_Handle

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

typedef struct IRES_EDMA3CHAN2_Obj* IRES_EDMA3CHAN2_Handle

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

typedef struct IRES_EDMA3CHAN_PaRamStruct IRES_EDMA3CHAN_PaRamStruct

Representation of actual PaRam structure.

typedef struct IRES_EDMA3CHAN_ProtocolArgs 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.

typedef struct IRES_EDMA3CHAN_Obj IRES_EDMA3CHAN_Obj

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

typedef struct IRES_EDMA3CHAN_EDMA3ShadowRegister IRES_EDMA3CHAN_EDMA3ShadowRegister

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

typedef struct IRES_EDMA3CHAN_EDMA3DraeRegister IRES_EDMA3CHAN_EDMA3DraeRegister

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

typedef struct IRES_EDMA3CHAN_EDMA3RegisterLayer IRES_EDMA3CHAN_EDMA3RegisterLayer
typedef struct IRES_EDMA3CHAN_Properties IRES_EDMA3CHAN_Properties

Static Resource Properties.

typedef enum IRES_EDMA3CHAN_DmaDestType IRES_EDMA3CHAN_DmaDestType

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

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

IRES_EDMA3CHAN2_Obj corresponds to version IRES_EDMA3CHAN_PROTOCOLREVISION_2_0_0. It has been enhanced * from the IRES_EDMA3CHAN_Obj.

See also:
IRES_EDMA3CHAN_Obj, IRES_EDMA3CHAN_PROTOCOLREVISION_1_0_0. Request for this version of resource by specifying revision {2,0,0} when requesting the IRES_EDMA3CHAN resource.

Enumeration Type Documentation

enum IRES_EDMA3CHAN_DmaDestType

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

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


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

Functions | Data Structures | Typedefs | Variables

IRESMAN EDMA3 -

Functions

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

Data Structures

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

Typedefs

typedef struct
IRESMAN_Edma3ChanParams 		IRESMAN_Edma3ChanParams
Configuration parameters for Edma3Chan resman implementation.

Variables

__FAR__ IRESMAN_PersistentAllocFxn | _RMAN_allocPersistent
Memory allocation functions for all of RMANs and other IRES rotocol's memory requirements.
__FAR__ IRESMAN_PersistentFreeFxn | _RMAN_freePersistent
Memory free functions for all of RMANs and other IRES protocol's memory requirements.
IRESMAN_Fxns IRESMAN_EDMA3CHAN
IRES RESMAN implementation for EDMA3 Linked transfers.
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_ResourceDescriptor * | resDesc,
 |  | Int | scratchGroupId,
 |  | IRES_Status * | status
 | ) |  |

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

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

Frees handles back to the resource pool.

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

Typedef Documentation

typedef struct IRESMAN_Edma3ChanParams IRESMAN_Edma3ChanParams

Configuration parameters for Edma3Chan resman implementation.

Variable Documentation

__FAR__ IRESMAN_PersistentAllocFxn _RMAN_allocPersistent

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

__FAR__ IRESMAN_PersistentFreeFxn _RMAN_freePersistent

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

IRESMAN_Fxns IRESMAN_EDMA3CHAN

IRES RESMAN implementation for EDMA3 Linked transfers.


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

Defines | Data Structures | Typedefs | Enumerations

IRES HDVICP Protocol

Defines

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

Data Structures

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

Typedefs

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

Enumerations

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

Type of resource that can be requested.

More...

Detailed Description

Allows algorithms to request and receive handles representing HDVICP resources.

Define Documentation

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

Name used to describe this protocol.

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

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

Typedef Documentation

typedef struct IRES_HDVICP_Obj* IRES_HDVICP_Handle

Handle to "logical" resource.

typedef enum IRES_HDVICP_RequestType IRES_HDVICP_RequestType

Type of resource that can be requested.

typedef struct IRES_HDVICP_ProtocolArgs IRES_HDVICP_ProtocolArgs

HDVICP Protocol Arguments definition.

typedef struct IRES_HDVICP_Obj IRES_HDVICP_Obj

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

typedef struct IRES_HDVICP_RegisterLayer IRES_HDVICP_RegisterLayer

HDVICP Register Layout.

typedef struct IRES_HDVICP_Properties IRES_HDVICP_Properties

Static Resource Properties.

Enumeration Type Documentation

enum IRES_HDVICP_RequestType

Type of resource that can be requested.

Enumerator:
IRES_HDVICP_ID_0
IRES_HDVICP_ID_1
IRES_HDVICP_ID_ANY


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

Defines | Data Structures | Typedefs | Enumerations | Variables

IRES HDVICP2 Protocol (Beta)

Defines

#define | IRES_HDVICP2_PROTOCOLNAME "ti.sdo.fc.ires.hdvicp.hdvicp2"
Name used to describe this protocol.
#define | HDVICP2_MODNAME "ti.sdo.fc.ires.hdvicp2"
Name to pass to Diags_setMask() to enable logging for HDVICP2 functions. For example, Diags_setMask(HDVICP2_MODNAME"+EX1234567"); turns on all Log statements in this module. Diags_setMask() must be called after initialization to take effect.
#define | IRES_HDVICP2_ID_ANY -2
Used to specify the resource required in the protocol args, resource manager will return an HDVICP2 resource that is available to the scratch group.
#define | IRES_HDVICP2_ID_LATE_ACQUIRE -1
Used to specify the resource required for protocol args, late acquire implies that no resource is to be returned right now, resource will be acquired later in the process call, using the acquire fxn returned via the IRES_HDVICP2_Handle.
#define | IRES_HDVICP2_INVALID_ADDR 0xFFFFFFFF
Used to indicate that the address returned in the IRES_HDVICP2_Handle is not yet valid, and should not be used.
#define | IRES_HDVICP2_TIMEOUTFOREVER ((UInt)(-1))
Used to indicate to IRES_HDVICP2_Obj::wait() that the call should never timeout.
#define | IRES_HDVICP2_UNKNOWNLATEACQUIREARG (-1)
Unknown late acquire argument.

Data Structures

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

Typedefs

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

Enumerations

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

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

More...

Variables

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

Detailed Description

Allows algorithms to request and receive handles representing HDVICP2 resources.

Define Documentation

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

Name used to describe this protocol.

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

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

#define IRES_HDVICP2_ID_ANY -2

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

#define IRES_HDVICP2_ID_LATE_ACQUIRE -1

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

#define IRES_HDVICP2_INVALID_ADDR 0xFFFFFFFF

Used to indicate that the address returned in the IRES_HDVICP2_Handle is not yet valid, and should not be used.

#define IRES_HDVICP2_TIMEOUTFOREVER ((UInt)(-1))

Used to indicate to IRES_HDVICP2_Obj::wait() that the call should never timeout.

#define IRES_HDVICP2_UNKNOWNLATEACQUIREARG (-1)

Unknown late acquire argument.

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

Typedef Documentation

typedef struct IRES_HDVICP2_Obj* IRES_HDVICP2_Handle

Handle to "logical" resource.

typedef struct IRES_HDVICP2_ProtocolArgs IRES_HDVICP2_ProtocolArgs

HDVICP2 Protocol Arguments definition.

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

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

typedef enum IRES_HDVICP2_Status IRES_HDVICP2_Status

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

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

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

typedef struct IRES_HDVICP2_RegisterLayer IRES_HDVICP2_RegisterLayer

HDVICP2 Register Layout.

typedef struct IRES_HDVICP2_Properties IRES_HDVICP2_Properties

Static Resource Properties.

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

Enumeration Type Documentation

enum IRES_HDVICP2_Status

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

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

Same codec was granted this unit, last time

SAMECODECTYPE

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

DIFFERENTCODEC

Completely different codec ran last time

Variable Documentation

unsigned int ti_sdo_fc_ires_hdvicp_HDVICP2_timeoutVal

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


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

Functions | Defines | Data Structures | Typedefs | Variables

IRESMAN PROTOCOL - HDVICP

Functions

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

Defines

#define | IRES_HDVICP_MAXRESOURCES 10

Data Structures

struct | IRESMAN_HdVicpParams

Typedefs

typedef struct IRESMAN_HdVicpParams | IRESMAN_HdVicpParams

Variables

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

Detailed Description

HDVICP specific Resource Manager and corresponding IRES Protocol Implementation.

Function Documentation

String IRESMAN_HDVICP_getProtocolName ( )

Function to return the name of the protocol.

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

Function to return the revision of the protocol.

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

Function to initialize the device specific resource manager implementation.

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

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

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

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

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

Frees handles back to the resource pool.

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

Define Documentation

#define IRES_HDVICP_MAXRESOURCES 10

Typedef Documentation

typedef struct IRESMAN_HdVicpParams IRESMAN_HdVicpParams

Variable Documentation

__FAR__ IRESMAN_PersistentAllocFxn _RMAN_allocPersistent

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

__FAR__ IRESMAN_PersistentFreeFxn _RMAN_freePersistent

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

IRESMAN_Fxns IRESMAN_HDVICP

IRES RESMAN implementation for HDVICP.


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

Defines | Data Structures | Typedefs

IRES SDMA Protocol

Defines

#define | IRES_SDMA_PROTOCOLNAME "ti.sdo.fc.ires.sdma"
Name used to describe this protocol.
#define | SDMA_MODNAME "ti.sdo.fc.ires.sdma"
Name to pass to Diags_setMask() to enable logging for SDMA functions. For example, Diags_setMask(SDMA_MODNAME"+EX1234567"); turns on all Log statements in this module. Diags_setMask() must be called after initialization to take effect.
#define | SDMA_GTNAME "ti.sdo.fc.ires.sdma"
Name used to identify this GT module.

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

Typedefs

typedef struct IRES_SDMA_Obj * | IRES_SDMA_Handle
Handle to "logical" resource.
typedef struct
IRES_SDMA_ProtocolArgs 		IRES_SDMA_ProtocolArgs
SDMA Protocol Arguments definition.
typedef struct IRES_SDMA_Obj | IRES_SDMA_Obj
IRES_SDMA_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource.
typedef struct
IRES_SDMA_RegisterLayer 		IRES_SDMA_RegisterLayer
typedef struct IRES_SDMA_Properties | IRES_SDMA_Properties

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_MODNAME "ti.sdo.fc.ires.sdma"

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

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

typedef struct IRES_SDMA_ProtocolArgs IRES_SDMA_ProtocolArgs

SDMA Protocol Arguments definition.

typedef struct IRES_SDMA_Obj IRES_SDMA_Obj

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

typedef struct IRES_SDMA_RegisterLayer IRES_SDMA_RegisterLayer
typedef struct IRES_SDMA_Properties IRES_SDMA_Properties


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

Functions | Data Structures | Typedefs | Variables

IRESMAN SDMA -

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

Data Structures

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

Typedefs

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

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_ResourceDescriptor * | resDesc,
 |  | Int | scratchGroupId,
 |  | IRES_Status * | status
 | ) |  |

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

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

Frees handles back to the resource pool.

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

Typedef Documentation

typedef struct IRESMAN_SdmaParams IRESMAN_SdmaParams

Initialization arguments for the SDMA specific resource manager.

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 Application Programming Interface (API): IRES TILEDMEMORY Protocol (Beta)

Defines | Data Structures | Typedefs | Enumerations

IRES TILEDMEMORY Protocol (Beta)

Defines

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

Data Structures

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

Typedefs

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

Enumerations

enum IRES_TILEDMEMORY_AccessDimension {
IRES_TILEDMEMORY_1D = 0,
IRES_TILEDMEMORY_2D = 1
}

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

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

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

More...

Detailed Description

Allows algorithms to request and receive handles representing TILEDMEMORY resources.

Define Documentation

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

Name used to describe this protocol.

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

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

Typedef Documentation

typedef struct IRES_TILEDMEMORY_Obj* IRES_TILEDMEMORY_Handle

Handle to "logical" resource.

typedef enum IRES_TILEDMEMORY_AccessDimension IRES_TILEDMEMORY_AccessDimension

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

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

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

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

TILEDMEMORY Protocol Arguments definition.

typedef struct IRES_TILEDMEMORY_Obj IRES_TILEDMEMORY_Obj

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

typedef struct IRES_TILEDMEMORY_RegisterLayer IRES_TILEDMEMORY_RegisterLayer

TILEDMEMORY Register Layout.

typedef struct IRES_TILEDMEMORY_Properties IRES_TILEDMEMORY_Properties

Static Resource Properties.

Enumeration Type Documentation

enum IRES_TILEDMEMORY_AccessDimension

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

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

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

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

Contiguously allocated non-TILED memory

IRES_TILEDMEMORY_PAGE

PAGE TILED memory

IRES_TILEDMEMORY_8BIT

8BIT TILED memory

IRES_TILEDMEMORY_16BIT

16BIT TILED memory

IRES_TILEDMEMORY_32BIT

32BIT TILED memory


Framework Components Application Programming Interface (API): IRESMAN TILEDMEM

Functions | Defines | Data Structures | Typedefs | Variables

IRESMAN TILEDMEM

Functions

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

Defines

#define | IRES_TILEDMEMORY_MAXRESOURCES 10

Data Structures

struct | IRESMAN_TiledmemoryParams

Typedefs

typedef struct
IRESMAN_TiledmemoryParams 		IRESMAN_TiledmemoryParams

Variables

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

Detailed Description

TILEDMEMORY specific Resource Manager and corresponding IRES Protocol Implementation.

Function Documentation

String IRESMAN_TILEDMEMORY_getProtocolName ( )

Function to return the name of the protocol.

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

Function to return the revision of the protocol.

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

Function to initialize the device specific resource manager implementation.

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

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

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

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

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

Frees handles back to the resource pool.

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

Define Documentation

#define IRES_TILEDMEMORY_MAXRESOURCES 10

Typedef Documentation

typedef struct IRESMAN_TiledmemoryParams IRESMAN_TiledmemoryParams

Variable Documentation

__FAR__ IRESMAN_PersistentAllocFxn _RMAN_allocPersistent

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

__FAR__ IRESMAN_PersistentFreeFxn _RMAN_freePersistent

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

IRESMAN_Fxns IRESMAN_TILEDMEMORY

IRES RESMAN implementation for TILEDMEMORY.


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

Defines | Data Structures | Typedefs

IRES VICP Protocol

Defines

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

Data Structures

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

Typedefs

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

Detailed Description

Allows algorithms to request and receive handles representing VICP resources.

Define Documentation

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

Name used to describe this protocol.

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

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

Typedef Documentation

typedef struct IRES_VICP_Obj* IRES_VICP_Handle

Handle to "logical" resource.

typedef struct IRES_VICP_ProtocolArgs IRES_VICP_ProtocolArgs

VICP Protocol Arguments definition.

typedef struct IRES_VICP_Obj IRES_VICP_Obj

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

typedef struct IRES_VICP_Registers IRES_VICP_Registers
typedef struct IRES_VICP_Properties IRES_VICP_Properties


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

Defines | Data Structures | Typedefs

IRES VICP2 Protocol

Defines

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

Data Structures

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

Typedefs

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

Detailed Description

Allows algorithms to request and receive handles representing VICP resources.

Define Documentation

#define IRES_VICP2_MAXRESOURCES 1

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

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

Name used to describe this protocol.

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

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

#define IRES_VICP2_NUMBUFFERS 16

Maximum number of VICP buffers to be managed.

#define IRES_VICP2_BADRESOURCE 0xFFFFFFFF

Value indicating a bad VICP resource was returned.

#define IMCOP_BUFFER_IMGBUF_A 0x0

VICP Buffer resources(components) to be managed.

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

Only for DM365

#define IMCOP_BUFFER_IMGBUF_E 0x4

Only for DM365

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

Only for DM365

#define IMCOP_BUFFER_IMX1CMDBUF 0x8

Only for DM365

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

Only for DM355

#define IMCOP_BUFFER_SEQUENCERPMEM 0xC

Only for DM365

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

Typedef Documentation

typedef struct IRES_VICP2_Obj* IRES_VICP2_Handle

Handle to "logical" resource.

typedef struct IRES_VICP2_ProtocolArgs IRES_VICP2_ProtocolArgs

VICP Protocol Arguments definition.

typedef struct IRES_VICP2_Obj IRES_VICP2_Obj

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

typedef struct IRES_VICP2_Buffers IRES_VICP2_Buffers
typedef struct IRES_VICP2_Properties IRES_VICP2_Properties


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

Functions | Data Structures | Typedefs | Variables

IRESMAN PROTOCOL - VICP

Collaboration diagram for IRESMAN PROTOCOL - VICP:

Functions

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

Data Structures

struct | IRESMAN_VicpParams

Typedefs

typedef struct IRESMAN_VicpParams | IRESMAN_VicpParams

Variables

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

Detailed Description

VICP specific Resource Manager and corresponding IRES Protocol Implementation.

Function Documentation

String IRESMAN_VICP_getProtocolName ( )

Function to return the name of the protocol.

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

Function to return the revision of the protocol.

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

Function to initialize the device specific resource manager implementation.

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

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

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

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

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

Frees handles back to the resource pool.

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

Typedef Documentation

typedef struct IRESMAN_VicpParams IRESMAN_VicpParams

Variable Documentation

__FAR__ IRESMAN_PersistentAllocFxn _RMAN_allocPersistent

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

__FAR__ IRESMAN_PersistentFreeFxn _RMAN_freePersistent

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

IRESMAN_Fxns IRESMAN_VICP

IRES RESMAN implementation for VICP.


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

Functions | Data Structures | Typedefs | Variables

IRESMAN PROTOCOL - VICP

Collaboration diagram for IRESMAN PROTOCOL - VICP:

Functions

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

Data Structures

struct | IRESMAN_VicpParams

Typedefs

typedef struct IRESMAN_VicpParams | IRESMAN_VicpParams

Variables

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

Detailed Description

VICP specific Resource Manager and corresponding IRES Protocol Implementation.

Function Documentation

String IRESMAN_VICP2_getProtocolName ( )

Function to return the name of the protocol.

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

Function to return the revision of the protocol.

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

Function to initialize the device specific resource manager implementation.

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

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

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

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

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

Frees handles back to the resource pool.

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

Typedef Documentation

typedef struct IRESMAN_VicpParams IRESMAN_VicpParams

Variable Documentation

__FAR__ IRESMAN_PersistentAllocFxn _RMAN_allocPersistent

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

__FAR__ IRESMAN_PersistentFreeFxn _RMAN_freePersistent

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

IRESMAN_Fxns IRESMAN_VICP2

IRES RESMAN implementation for VICP.


Framework Components Application Programming Interface (API): SCPY - Functional library for SDMA resources

Functions | Defines | Data Structures | Typedefs

SCPY - Functional library for SDMA resources

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.

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

Data Structures

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

Typedefs

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

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.

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

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

Typedef Documentation

typedef struct SCPY_AddrParams SCPY_AddrParams

Parameters of Address (source or destination) of transfer.

typedef struct SCPY_TransferParams SCPY_TransferParams

Details of Transfer.

typedef struct SCPY_Params SCPY_Params


Framework Components Application Programming Interface (API): Data Structures

  • Data Structures
  • Data Structure Index
  • Data Fields

Data Structures

Here are the data structures with brief descriptions:
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
ECPY_CfgParams | The module configuration structure for ECPY. It is set at design time by the system integrator to register customize memory allocation/free implementations
ECPY_Params | DMA transfer specific parameters. Defines the configuration of a logical channel
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_EDMA3CHAN2_Obj | IRES_EDMA3CHAN2_Obj corresponds to version IRES_EDMA3CHAN_PROTOCOLREVISION_2_0_0. It has been enhanced * from the IRES_EDMA3CHAN_Obj
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_HDVICP2_Obj | IRES_HDVICP2_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource
IRES_HDVICP2_Properties | Static Resource Properties
IRES_HDVICP2_ProtocolArgs | HDVICP2 Protocol Arguments definition
IRES_HDVICP2_RegisterLayer | HDVICP2 Register Layout
IRES_HDVICP_Obj | IRES_HDVICP_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource
IRES_HDVICP_Properties | Static Resource Properties
IRES_HDVICP_ProtocolArgs | HDVICP Protocol Arguments definition
IRES_HDVICP_RegisterLayer | HDVICP Register Layout
IRES_Obj | IRES_Obj holds the private state associated with each logical resource
IRES_Properties | Abstract Resource Properties structure/pointer definition. Actual resource protocol will supply the concrete property definitions. The list of attributes for the actual resource will expose the relevant features that needs to be known to a client to use the resource, such as: resource register base addresses and offsets, critical register and memory region addresses, ..
IRES_ProtocolArgs | Abstract Protocol Arguments structure definition. Actual arguments passed by the algorithm to request a resource from a specific IRES Protocol will extend and supply the concrete definitions
IRES_ProtocolRevision | Protocol revision type. Used to ensure the given 'protocol' revision can be validated
IRES_ResourceDescriptor | Descriptor to Logical Resource
IRES_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_TILEDMEMORY_Obj | IRES_TILEDMEMORY_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource
IRES_TILEDMEMORY_Properties | Static Resource Properties
IRES_TILEDMEMORY_ProtocolArgs | TILEDMEMORY Protocol Arguments definition
IRES_TILEDMEMORY_RegisterLayer | TILEDMEMORY Register Layout
IRES_VICP2_Buffers |
IRES_VICP2_Obj | IRES_VICP2_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource
IRES_VICP2_Properties |
IRES_VICP2_ProtocolArgs | VICP Protocol Arguments definition
IRES_VICP_Obj | IRES_VICP_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource
IRES_VICP_Properties |
IRES_VICP_ProtocolArgs | VICP Protocol Arguments definition
IRES_VICP_Registers |
IRES_YieldContext | Specifies the algorithm specific handles and context save & restore function pointers and arguments that the framework will call during a context switch
IRESMAN_ConstructArgs | Abstract Protocol Construct Arguments structure/pointer definition. Arguments passed by the Resource manager to request a resource from a specific IRES Protocol will extend and supply the concrete definition
IRESMAN_ConstructFxns | These functions are used to determine memory requirements for and initialize the IRES protocol's environment that will be allocated by the resource manager
IRESMAN_Edma3ChanParams | Configuration parameters for Edma3Chan resman implementation
IRESMAN_Fxns |
IRESMAN_HdVicpParams |
IRESMAN_Params | Configuration Parameters required by the Resource Manager implementation. These can be extended by individual resource managers if required
IRESMAN_SdmaParams | Initialization arguments for the SDMA specific resource manager
IRESMAN_TiledmemoryParams |
IRESMAN_VicpParams |
RcmClient_Message | Remote Command Message structure
RcmClient_Params | Instance create parameters
RcmClient_Struct | Opaque client structure large enough to hold an instance object
RcmServer_FxnDesc | Function descriptor
RcmServer_FxnDescAry | Function descriptor array
RcmServer_Params | RcmServer Instance create parameters
RcmServer_Struct | Opaque client structure large enough to hold an instance object
RcmServer_ThreadPoolDesc | Worker pool descriptor
RcmServer_ThreadPoolDescAry | Worker pool descriptor array
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)
SCPY_AddrParams | Parameters of Address (source or destination) of transfer
SCPY_Params |
SCPY_TransferParams | Details of Transfer
VICPSYNC_Params | The module configuration structure for VICPSYNC implementation


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

  • Data Structures
  • Data Structure Index
  • Data Fields
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 Application Programming Interface (API): ACPY3_INSTR_Hook Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
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 Application Programming Interface (API): ACPY3_INSTR_Hooks Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
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 Application Programming Interface (API): ACPY3_Params Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
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 Application Programming Interface (API): DMAN3_Params Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
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.
xdc_runtime_IHeap_Handle | heapInternal
Memory Heap descriptor for dynamic allocation of DMAN3 objects that must be allocated in L1D Internal RAM.
xdc_runtime_IHeap_Handle | heapExternal
Memory Heap for dynamic 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;
xdc_runtime_IHeap_Handle DMAN3_Params::heapInternal

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

Remarks:
A value of NULL 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
xdc_runtime_IHeap_Handle DMAN3_Params::heapExternal

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

Remarks:
A value of NULL 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 Application Programming Interface (API): ECPY_CfgParams Struct Reference

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

ECPY_CfgParams Struct Reference
[ECPY (C64P)]

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

#include <ecpy.h>

Data Fields

ECPY_PersistentAllocFxn * allocFxn
Memory allocation function for all ECPY memory requirements.
ECPY_PersistentFreeFxn * freeFxn
Memory free function for all ECPY memory requirements.

Detailed Description

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

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

Field Documentation

ECPY_PersistentAllocFxn* ECPY_CfgParams::allocFxn

Memory allocation function for all ECPY memory requirements.

ECPY_PersistentFreeFxn* ECPY_CfgParams::freeFxn

Memory free function for all ECPY memory requirements.

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


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

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

ECPY_Params Struct Reference
[ECPY (C64P)]

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

#include <ecpy.h>

Data Fields

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

Detailed Description

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

Field Documentation

ECPY_TransferType ECPY_Params::transferType

1D1D, 1D2D, 2D1D or 2D2D

Void* ECPY_Params::srcAddr

Source Address of the DMA transfer

Void* ECPY_Params::dstAddr

Destination Address of the DMA transfer

unsigned short ECPY_Params::elementSize

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

unsigned short ECPY_Params::numElements

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

unsigned short ECPY_Params::numFrames

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

short ECPY_Params::srcElementIndex

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

short ECPY_Params::dstElementIndex

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

short ECPY_Params::srcFrameIndex

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

short ECPY_Params::dstFrameIndex

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

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


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

  • Data Structures
  • Data Structure Index
  • Data Fields
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
int | biosInterruptVectorId_1
int | biosInterruptEventNo_0
int | biosInterruptEventNo_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

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

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

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

======== biosInterruptEventNo_1 ======== 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 Application Programming Interface (API): hdvicpAppHandle Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
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 Application Programming Interface (API): HDVICPSYNC_Params Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
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 Application Programming Interface (API): IALG_Fxns Struct Reference

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

IALG_Fxns Struct Reference
[IALG - XDAIS Algorithm Interface]

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

#include <ialg.h>

Data Fields

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

Detailed Description

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

Field Documentation

Void* IALG_Fxns::implementationId

Unique pointer that identifies the module implementing this interface.

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

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

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

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

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

Algorithm specific control and status.

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

Save all persistent data to non-scratch memory.

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

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

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

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

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

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

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

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

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

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

Successful return status code.

IALG_EFAIL

Unspecified error return status code.

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

Notify algorithm instance that instance memory has been relocated.

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

Number of memory allocation requests required.

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

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

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

          ...

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


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

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

IALG_MemRec Struct Reference
[IALG - XDAIS Algorithm Interface]

Memory records. More...

#include <ialg.h>

Data Fields

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

Detailed Description

Memory records.

Field Documentation

Uns IALG_MemRec::size

Size in MAU of allocation

Int IALG_MemRec::alignment

Alignment requirement (MAU)

IALG_MemSpace IALG_MemRec::space

Allocation space

IALG_MemAttrs IALG_MemRec::attrs

Memory attributes

Void* IALG_MemRec::base

Base address of allocated buf

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


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

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

IALG_Obj Struct Reference
[IALG - XDAIS Algorithm Interface]

Algorithm instance object definition. More...

#include <ialg.h>

Collaboration diagram for IALG_Obj:
[legend]

Data Fields

struct IALG_Fxns * fxns

Detailed Description

Algorithm instance object definition.

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

Field Documentation

struct IALG_Fxns* IALG_Obj::fxns

Pointer to IALG function table.

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


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

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

IALG_Params Struct Reference
[IALG - XDAIS Algorithm Interface]

Algorithm instance creation parameters. More...

#include <ialg.h>

Data Fields

Int size

Detailed Description

Algorithm instance creation parameters.

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

Field Documentation

Int IALG_Params::size

Number of MAU in the structure

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


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

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

IALG_Status Struct Reference
[IALG - XDAIS Algorithm Interface]

Pointer to algorithm specific status structure. More...

#include <ialg.h>

Data Fields

Int size

Detailed Description

Pointer to algorithm specific status structure.

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

Field Documentation

Int IALG_Status::size

Number of MAU in the structure

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


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

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

IDMA3_ChannelRec Struct Reference
[IDMA3 - Interface for requesting EDMA3 resources]

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 Application Programming Interface (API): IDMA3_Fxns Struct Reference

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

IDMA3_Fxns Struct Reference
[IDMA3 - Interface for requesting EDMA3 resources]

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 Application Programming Interface (API): IDMA3_MemRec Struct Reference

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

IDMA3_MemRec Struct Reference
[IDMA3 - Interface for requesting EDMA3 resources]

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 Application Programming Interface (API): IDMA3_Obj Struct Reference

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

IDMA3_Obj Struct Reference
[IDMA3 - Interface for requesting EDMA3 resources]

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 Application Programming Interface (API): IDMA3_ProtocolObj Struct Reference

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

IDMA3_ProtocolObj Struct Reference
[IDMA3 - Interface for requesting EDMA3 resources]

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 Application Programming Interface (API): IRES_EDMA3CHAN2_Obj Struct Reference

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

IRES_EDMA3CHAN2_Obj Struct Reference
[IRES EDMA3 Protocol]

IRES_EDMA3CHAN2_Obj corresponds to version IRES_EDMA3CHAN_PROTOCOLREVISION_2_0_0. It has been enhanced * from the IRES_EDMA3CHAN_Obj. More...

#include <ires_edma3Chan.h>

Collaboration diagram for IRES_EDMA3CHAN2_Obj:
[legend]

Data Fields

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

Detailed Description

IRES_EDMA3CHAN2_Obj corresponds to version IRES_EDMA3CHAN_PROTOCOLREVISION_2_0_0. It has been enhanced * from the IRES_EDMA3CHAN_Obj.

See also:
IRES_EDMA3CHAN_Obj, IRES_EDMA3CHAN_PROTOCOLREVISION_1_0_0. Request for this version of resource by specifying revision {2,0,0} when requesting the IRES_EDMA3CHAN resource.

Field Documentation

IRES_Obj IRES_EDMA3CHAN2_Obj::ires
IRES_EDMA3CHAN_PaRamStruct* IRES_EDMA3CHAN2_Obj::shadowPaRams

Actual programmed shadow paRam entries

unsigned int* IRES_EDMA3CHAN2_Obj::assignedPaRamAddresses

Physical Addresses of assigned paRams

short* IRES_EDMA3CHAN2_Obj::assignedPaRamIndices

Assigned paRam Indices

short* IRES_EDMA3CHAN2_Obj::assignedTccIndices

Assigned Tcc Indices

short IRES_EDMA3CHAN2_Obj::assignedNumPaRams

Number of assigned paRams

short IRES_EDMA3CHAN2_Obj::assignedNumTccs

Number of assigned tccs

short IRES_EDMA3CHAN2_Obj::assignedQdmaChannelIndex

Assigned qdma channel. Could be IRES_EDMA3CHAN_CHAN_NONE if no QDMA channel was requested

short IRES_EDMA3CHAN2_Obj::assignedEdmaChannelIndex

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

unsigned int IRES_EDMA3CHAN2_Obj::esrBitMaskL
unsigned int IRES_EDMA3CHAN2_Obj::esrBitMaskH

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

unsigned int IRES_EDMA3CHAN2_Obj::iprBitMaskL
unsigned int IRES_EDMA3CHAN2_Obj::iprBitMaskH

Interrupt pending register bit mask to pend on transfer completion.

XDAS_Int32* IRES_EDMA3CHAN2_Obj::queueMap

Table indexed by IRES_EDMA3CHAN_DmaDestType that returns mapping of DMA-write destination types to Event Queues.

See also:
IRES_EDMA3CHAN_DmaDestType Field specific to version 2.0.0
The documentation for this struct was generated from the following file:
  • ires_edma3Chan.h


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

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

IRES_EDMA3CHAN_EDMA3DraeRegister Struct Reference
[IRES EDMA3 Protocol]

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 Application Programming Interface (API): IRES_EDMA3CHAN_EDMA3RegisterLayer Struct Reference

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

IRES_EDMA3CHAN_EDMA3RegisterLayer Struct Reference
[IRES EDMA3 Protocol]

#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 Application Programming Interface (API): IRES_EDMA3CHAN_EDMA3ShadowRegister Struct Reference

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

IRES_EDMA3CHAN_EDMA3ShadowRegister Struct Reference
[IRES EDMA3 Protocol]

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 Application Programming Interface (API): IRES_EDMA3CHAN_Obj Struct Reference

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

IRES_EDMA3CHAN_Obj Struct Reference
[IRES EDMA3 Protocol]

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 Application Programming Interface (API): IRES_EDMA3CHAN_PaRamStruct Struct Reference

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

IRES_EDMA3CHAN_PaRamStruct Struct Reference
[IRES EDMA3 Protocol]

Representation of actual PaRam 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 Application Programming Interface (API): IRES_EDMA3CHAN_Properties Struct Reference

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

IRES_EDMA3CHAN_Properties Struct Reference
[IRES EDMA3 Protocol]

Static Resource Properties. More...

#include <ires_edma3Chan.h>

Collaboration diagram for IRES_EDMA3CHAN_Properties:
[legend]

Data Fields

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

Detailed Description

Static Resource Properties.

Field Documentation

unsigned int IRES_EDMA3CHAN_Properties::numDmaChannels

Total number of DMA Channel supported by the EDMA3

unsigned int IRES_EDMA3CHAN_Properties::numQdmaChannels

Total number of QDMA Channels supported by the EDMA3 Controller

unsigned int IRES_EDMA3CHAN_Properties::numTccs

Total number of Tccs supported by the EDMA3

unsigned int IRES_EDMA3CHAN_Properties::numPaRAMSets

Total number of PaRAM Sets supported by the EDMA3

unsigned int IRES_EDMA3CHAN_Properties::numEvtQueue

Total number of Event Queues in the EDMA3

unsigned int IRES_EDMA3CHAN_Properties::numTcs

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

unsigned int IRES_EDMA3CHAN_Properties::numRegions

Number of Regions on the EDMA3 controller

unsigned short IRES_EDMA3CHAN_Properties::dmaChPaRAMMapExists

Channel mapping existence.

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

unsigned short IRES_EDMA3CHAN_Properties::memProtectionExists

Existence of memory protection feature

IRES_EDMA3CHAN_EDMA3RegisterLayer* IRES_EDMA3CHAN_Properties::globalRegs

Pointer to Global Register Region of CC Registers

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


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

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

IRES_EDMA3CHAN_ProtocolArgs Struct Reference
[IRES EDMA3 Protocol]

EDMA3 Linked Transfer Protocol Arguments definition. 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 Application Programming Interface (API): IRES_Fxns Struct Reference

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

IRES_Fxns Struct Reference
[IRES]

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

#include <ires.h>

Data Fields

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

Detailed Description

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

Field Documentation

Void* IRES_Fxns::implementationId

Unique pointer that identifies the module implementing this interface.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

IRES_HDVICP2_Obj Struct Reference
[IRES HDVICP2 Protocol (Beta)]

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

#include <ires_hdvicp2.h>

Collaboration diagram for IRES_HDVICP2_Obj:
[legend]

Data Fields

IRES_Obj ires
Void * | info
XDAS_Int32 id
XDAS_Void * registerBaseAddress
XDAS_Void * memoryBaseAddress
XDAS_Void * resetControlAddress
XDAS_Void(* | acquire )(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this, IRES_YieldContext *yieldCtxt, XDAS_UInt32 *hdvicp2Status, XDAS_UInt32 *configurationId, XDAS_Int32 lateAcquireArg)
Acquire the HDVICP2 resource.
XDAS_Void(* | release )(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this)
XDAS_UInt32(* | reacquireIfOwner )(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this)
XDAS_Void(* | configure )(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this, IRES_HDVICP2_CallbackFxn cbFunctionPtr, XDAS_Void *cbArgs)
XDAS_UInt32(* | wait )(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this, IRES_YieldContext *yieldCtxt)
XDAS_Void(* | done )(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this)
XDAS_UInt32(* | reset )(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this)

Detailed Description

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

Field Documentation

IRES_Obj IRES_HDVICP2_Obj::ires
Void* IRES_HDVICP2_Obj::info

RSVD for future use

XDAS_Int32 IRES_HDVICP2_Obj::id

ID of the HDVICP2 being granted, could be 0,1,2, or LATE_ACQUIRE

XDAS_Void* IRES_HDVICP2_Obj::registerBaseAddress

Reg. space base addr

XDAS_Void* IRES_HDVICP2_Obj::memoryBaseAddress

Mem. Space base addr

XDAS_Void* IRES_HDVICP2_Obj::resetControlAddress

HDVICP reset controller address, bit 0 -> ICONT1 reset bit 1 -> ICONT2 reset

XDAS_Void(* IRES_HDVICP2_Obj::acquire)(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this, IRES_YieldContext *yieldCtxt, XDAS_UInt32 *hdvicp2Status, XDAS_UInt32 *configurationId, XDAS_Int32 lateAcquireArg)

Acquire the HDVICP2 resource.

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

Call to release the HDVICP resource being used, to make it available for use by other algs.

XDAS_UInt32(* IRES_HDVICP2_Obj::reacquireIfOwner)(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this)

Call to reacquire an HDVICP resource, that the alg had previous JIT acquired and released. XDAS_TRUE is returned alongwith a valid resource handle if the resource is still active. If resource has already been deactivated XDAS_FALSE is returned

XDAS_Void(* IRES_HDVICP2_Obj::configure)(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this, IRES_HDVICP2_CallbackFxn cbFunctionPtr, XDAS_Void *cbArgs)

Call to configure the HDVICP2 instance, to process data.

XDAS_UInt32(* IRES_HDVICP2_Obj::wait)(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this, IRES_YieldContext *yieldCtxt)

Waits for the HDVICP2 to return after processing data. Takes a yieldContext as argument, as it will relinquish the processor while it waits for the HDVICP2 to finish the processing and return from wait. This is a blocking call unless a positive timeout_ms value is passed, in which case the call returns within timeout_ms miliseconds with a 'XDAS_TRUE' indicating successful completion or 'XDAS_FALSE' indicating a 'timeout' condition.

XDAS_Void(* IRES_HDVICP2_Obj::done)(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this)
XDAS_UInt32(* IRES_HDVICP2_Obj::reset)(IALG_Handle algHandle, struct IRES_HDVICP2_Obj *this)

Framework supplied function to be called by the codec when it acquired HDVICP2 when the resource is full dirty mode (i.e. data as well as program reload). Possible return values XDAS_TRUE or XDAS_FALSE.

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


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

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

IRES_HDVICP2_Properties Struct Reference
[IRES HDVICP2 Protocol (Beta)]

Static Resource Properties. More...

#include <ires_hdvicp2.h>

Collaboration diagram for IRES_HDVICP2_Properties:
[legend]

Data Fields

int size
IRES_HDVICP2_RegisterLayer * globalRegs

Detailed Description

Static Resource Properties.

Field Documentation

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


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

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

IRES_HDVICP2_ProtocolArgs Struct Reference
[IRES HDVICP2 Protocol (Beta)]

HDVICP2 Protocol Arguments definition. More...

#include <ires_hdvicp2.h>

Collaboration diagram for IRES_HDVICP2_ProtocolArgs:
[legend]

Data Fields

IRES_ProtocolArgs base
XDAS_Int32 id

Detailed Description

HDVICP2 Protocol Arguments definition.

Field Documentation

IRES_ProtocolArgs IRES_HDVICP2_ProtocolArgs::base
XDAS_Int32 IRES_HDVICP2_ProtocolArgs::id

ID of the HDVICP2 resource being requested, could be 0,1,2,IRES_HDVICP2_ID_ANY or IRES_HDVICP2_ID_LATE_ACQUIRE

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


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

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

IRES_HDVICP2_RegisterLayer Struct Reference
[IRES HDVICP2 Protocol (Beta)]

HDVICP2 Register Layout. More...

#include <ires_hdvicp2.h>

Data Fields

int size

Detailed Description

HDVICP2 Register Layout.

Field Documentation

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


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

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

IRES_HDVICP_Obj Struct Reference
[IRES HDVICP Protocol]

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

#include <ires_hdvicp.h>

Collaboration diagram for IRES_HDVICP_Obj:
[legend]

Data Fields

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

Detailed Description

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

Field Documentation

IRES_Obj IRES_HDVICP_Obj::ires
Void* IRES_HDVICP_Obj::info

RSVD for future use

Int IRES_HDVICP_Obj::id

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

Void* IRES_HDVICP_Obj::registerBaseAddress

Base address of reg space

Void* IRES_HDVICP_Obj::memoryBaseAddress

Mem address of mem space

unsigned int IRES_HDVICP_Obj::pscRegisterSpace

Base address of the PSC and system module register space

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


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

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

IRES_HDVICP_Properties Struct Reference
[IRES HDVICP Protocol]

Static Resource Properties. More...

#include <ires_hdvicp.h>

Collaboration diagram for IRES_HDVICP_Properties:
[legend]

Data Fields

int size
IRES_HDVICP_RegisterLayer * globalRegs

Detailed Description

Static Resource Properties.

Field Documentation

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


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

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

IRES_HDVICP_ProtocolArgs Struct Reference
[IRES HDVICP Protocol]

HDVICP Protocol Arguments definition. More...

#include <ires_hdvicp.h>

Collaboration diagram for IRES_HDVICP_ProtocolArgs:
[legend]

Data Fields

IRES_ProtocolArgs base
IRES_HDVICP_RequestType id

Detailed Description

HDVICP Protocol Arguments definition.

Field Documentation

IRES_ProtocolArgs IRES_HDVICP_ProtocolArgs::base
IRES_HDVICP_RequestType IRES_HDVICP_ProtocolArgs::id

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

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


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

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

IRES_HDVICP_RegisterLayer Struct Reference
[IRES HDVICP Protocol]

HDVICP Register Layout. More...

#include <ires_hdvicp.h>

Data Fields

int size

Detailed Description

HDVICP Register Layout.

Field Documentation

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


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

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

IRES_Obj Struct Reference

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

#include <ires_common.h>

Data Fields

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

Detailed Description

IRES_Obj holds the private state associated with each logical resource.

Field Documentation

Int32 IRES_Obj::persistent

Indicates if the resource has been allocated as persistent.

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

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

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


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

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

IRES_Properties Struct Reference

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

#include <ires_common.h>

Data Fields

Int32 size

Detailed Description

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

Field Documentation

Int32 IRES_Properties::size

Size of this structure.

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


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

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

IRES_ProtocolArgs Struct Reference

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

#include <ires_common.h>

Data Fields

Int32 size
IRES_RequestMode mode

Detailed Description

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

Field Documentation

Int32 IRES_ProtocolArgs::size

Size of this structure.

IRES_RequestMode IRES_ProtocolArgs::mode

Resource request mode.

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


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

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

IRES_ProtocolRevision Struct Reference

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

#include <ires_common.h>

Data Fields

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

Detailed Description

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

Field Documentation

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


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

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

IRES_ResourceDescriptor Struct Reference

Descriptor to Logical Resource. More...

#include <ires_common.h>

Collaboration diagram for IRES_ResourceDescriptor:
[legend]

Data Fields

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

Detailed Description

Descriptor to Logical Resource.

Field Documentation

String IRES_ResourceDescriptor::resourceName

String containing the package name to identify the resource.

struct IRES_ProtocolArgs* IRES_ResourceDescriptor::protocolArgs

Pointer to the Resource Protocol Arguments.

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

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

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

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

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


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

  • Data Structures
  • Data Structure Index
  • Data Fields
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 Application Programming Interface (API): IRES_SDMA_Properties Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
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 Application Programming Interface (API): IRES_SDMA_ProtocolArgs Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
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 Application Programming Interface (API): IRES_SDMA_RegisterLayer Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
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 Application Programming Interface (API): IRES_TILEDMEMORY_Obj Struct Reference

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

IRES_TILEDMEMORY_Obj Struct Reference
[IRES TILEDMEMORY Protocol (Beta)]

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

#include <ires_tiledmemory.h>

Collaboration diagram for IRES_TILEDMEMORY_Obj:
[legend]

Data Fields

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

Detailed Description

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

Field Documentation

IRES_Obj IRES_TILEDMEMORY_Obj::ires
XDAS_Void* IRES_TILEDMEMORY_Obj::info

RSVD for future use

XDAS_Void* IRES_TILEDMEMORY_Obj::memoryBaseAddress

Process-specific virtual base address of Tiler memory allocated.

XDAS_UInt32 IRES_TILEDMEMORY_Obj::isTiledMemory

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

Valid values for this field are XDAS_TRUE and XDAS_FALSE.

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

XDAS_UInt32 IRES_TILEDMEMORY_Obj::accessUnit

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

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

Base address of TILER on SOC

XDAS_Void* IRES_TILEDMEMORY_Obj::systemSpaceBaseAddress

Tiler space base address of memory allocated

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


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

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

IRES_TILEDMEMORY_Properties Struct Reference
[IRES TILEDMEMORY Protocol (Beta)]

Static Resource Properties. More...

#include <ires_tiledmemory.h>

Data Fields

int size

Detailed Description

Static Resource Properties.

Field Documentation

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


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

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

IRES_TILEDMEMORY_ProtocolArgs Struct Reference
[IRES TILEDMEMORY Protocol (Beta)]

TILEDMEMORY Protocol Arguments definition. More...

#include <ires_tiledmemory.h>

Collaboration diagram for IRES_TILEDMEMORY_ProtocolArgs:
[legend]

Data Fields

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

Detailed Description

TILEDMEMORY Protocol Arguments definition.

Field Documentation

IRES_ProtocolArgs IRES_TILEDMEMORY_ProtocolArgs::base
XDAS_UInt32 IRES_TILEDMEMORY_ProtocolArgs::accessDimension

Access dimension of requested memory.

See also:
IRES_TILEDMEMORY_AccessDimension
XDAS_UInt32 IRES_TILEDMEMORY_ProtocolArgs::accessUnit

Access Unit for memory requested.

See also:
IRES_TILEDMEMORY_AccessUnit
int IRES_TILEDMEMORY_ProtocolArgs::sizeDim0

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

int IRES_TILEDMEMORY_ProtocolArgs::sizeDim1

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

int IRES_TILEDMEMORY_ProtocolArgs::alignment

alignment in bytes for the memory base address to be allocated

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


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

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

IRES_TILEDMEMORY_RegisterLayer Struct Reference
[IRES TILEDMEMORY Protocol (Beta)]

TILEDMEMORY Register Layout. More...

#include <ires_tiledmemory.h>

Data Fields

int size

Detailed Description

TILEDMEMORY Register Layout.

Field Documentation

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


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

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

IRES_VICP2_Buffers Struct Reference
[IRES VICP2 Protocol]

#include <ires_vicp2.h>

Data Fields

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

Field Documentation

int IRES_VICP2_Buffers::size

Size of this structure.

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

Not yet supported for DM365

unsigned char* IRES_VICP2_Buffers::babyImxOrigBuf_base

Not yet supported for DM365

unsigned char* IRES_VICP2_Buffers::babyImxRefBuf_base

Not yet supported for DM365

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

Not yet supported for DM365

unsigned int* IRES_VICP2_Buffers::predmem_base

Not yet supported for DM365

unsigned int* IRES_VICP2_Buffers::mvmem

Not yet supported for DM365

unsigned int* IRES_VICP2_Buffers::huffmem

Not yet supported for DM365

unsigned int* IRES_VICP2_Buffers::seqBuf1

Not yet supported for DM365

unsigned int* IRES_VICP2_Buffers::seqBuf2

Not yet supported for DM365

unsigned int* IRES_VICP2_Buffers::seqBuf3

Not yet supported for DM365

unsigned int* IRES_VICP2_Buffers::seqBuf4

Not yet supported for DM365

unsigned int* IRES_VICP2_Buffers::sequencerDmem

Not yet supported for DM365

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


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

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

IRES_VICP2_Obj Struct Reference
[IRES VICP2 Protocol]

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

#include <ires_vicp2.h>

Collaboration diagram for IRES_VICP2_Obj:
[legend]

Data Fields

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

Detailed Description

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

Field Documentation

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

Value of 1 to indicate resource was granted, 0 otherwise

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

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

short IRES_VICP2_Obj::numMemBufs

Number of individual memory buffers assigned

unsigned int IRES_VICP2_Obj::assignedMemAddrs[16]

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

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

Base address of config space

unsigned int IRES_VICP2_Obj::dmaViewConfigBaseAddr

Base address of DMA view of VICP buffers

unsigned int IRES_VICP2_Obj::pscRegisterSpace

Base address of the PSC and system module register space

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


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

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

IRES_VICP2_Properties Struct Reference
[IRES VICP2 Protocol]

#include <ires_vicp2.h>

Collaboration diagram for IRES_VICP2_Properties:
[legend]

Data Fields

int size
IRES_VICP2_Buffers buffers

Field Documentation

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


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

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

IRES_VICP2_ProtocolArgs Struct Reference
[IRES VICP2 Protocol]

VICP Protocol Arguments definition. More...

#include <ires_vicp2.h>

Data Fields

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

Detailed Description

VICP Protocol Arguments definition.

Field Documentation

int IRES_VICP2_ProtocolArgs::size

Size of this structure.

IRES_RequestMode IRES_VICP2_ProtocolArgs::mode

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

short IRES_VICP2_ProtocolArgs::requestIMX0
short IRES_VICP2_ProtocolArgs::requestIMX1

Value of 1 to indicate resource requested 0 otherwise

short IRES_VICP2_ProtocolArgs::requestMJCP

MJCP, same as VLCD

short IRES_VICP2_ProtocolArgs::requestNSF

NSF, Noise filter

unsigned int IRES_VICP2_ProtocolArgs::requestIMCOPBuffers

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

unsigned int IRES_VICP2_ProtocolArgs::numMemoryRequests

Number of individual memory buffers required

unsigned int IRES_VICP2_ProtocolArgs::memRequestSizes[16]

Sizes of buffers required

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


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

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

IRES_VICP_Obj Struct Reference
[IRES VICP Protocol]

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

#include <ires_vicp.h>

Collaboration diagram for IRES_VICP_Obj:
[legend]

Data Fields

IRES_Obj ires
short | assignedIMX
short | assignedVLCD
short | assignedSEQ

Detailed Description

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

Field Documentation

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


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

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

IRES_VICP_Properties Struct Reference
[IRES VICP Protocol]

#include <ires_vicp.h>

Collaboration diagram for IRES_VICP_Properties:
[legend]

Data Fields

int size
IRES_VICP_Registers * globalRegs

Field Documentation

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


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

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

IRES_VICP_ProtocolArgs Struct Reference
[IRES VICP Protocol]

VICP Protocol Arguments definition. More...

#include <ires_vicp.h>

Data Fields

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

Detailed Description

VICP Protocol Arguments definition.

Field Documentation

int IRES_VICP_ProtocolArgs::size

Size of this structure.

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


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

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

IRES_VICP_Registers Struct Reference
[IRES VICP Protocol]

#include <ires_vicp.h>

Data Fields

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

Field Documentation

int IRES_VICP_Registers::size

Size of this structure.

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


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

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

IRES_YieldContext Struct Reference
[IRES]

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

#include <ires.h>

Collaboration diagram for IRES_YieldContext:
[legend]

Data Fields

IALG_Handle algHandle
IRES_Handle resourceHandle
IRES_ContextSaveFxn contextSave
IRES_ContextRestoreFxn contextRestore
Void * contextArgs

Detailed Description

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

Field Documentation

IALG_Handle IRES_YieldContext::algHandle

Handle of the algorithm instance issuing the "yield".

IRES_Handle IRES_YieldContext::resourceHandle

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

IRES_ContextSaveFxn IRES_YieldContext::contextSave

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

IRES_ContextRestoreFxn IRES_YieldContext::contextRestore

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

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

Void* IRES_YieldContext::contextArgs

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

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


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

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

IRESMAN_ConstructArgs Struct Reference
[Resource manager interface]

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

#include <iresman_protocol.h>

Data Fields

Int32 size

Detailed Description

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

Field Documentation

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


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

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

IRESMAN_ConstructFxns Struct Reference

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

#include <iresman_protocol.h>

Collaboration diagram for IRESMAN_ConstructFxns:
[legend]

Data Fields

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

Detailed Description

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

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

Field Documentation

String(* IRESMAN_ConstructFxns::getName)()

Query for identification for protocol

IRES_ProtocolRevision*(* IRESMAN_ConstructFxns::getRevision)()

Query for revision of the protocol

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

IRESMAN_Edma3ChanParams Struct Reference
[IRESMAN EDMA3 -]

Configuration parameters for Edma3Chan resman implementation. More...

#include <iresman_edma3Chan.h>

Collaboration diagram for IRESMAN_Edma3ChanParams:
[legend]

Data Fields

IRESMAN_Params baseConfig

Detailed Description

Configuration parameters for Edma3Chan resman implementation.

Field Documentation

IRESMAN_Params IRESMAN_Edma3ChanParams::baseConfig

The base configuration information

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


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

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

IRESMAN_Fxns Struct Reference
[Resource manager interface]

#include <iresman.h>

Collaboration diagram for IRESMAN_Fxns:
[legend]

Data Fields

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

Field Documentation

String(* IRESMAN_Fxns::getProtocolName)()

Function to query the name of the protocol.

IRES_ProtocolRevision*(* IRESMAN_Fxns::getProtocolRevision)()

Function to query the revision of hte protocol.

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

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

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

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

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

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

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

Frees handles back to the resource pool.

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


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

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

IRESMAN_HdVicpParams Struct Reference
[IRESMAN PROTOCOL - HDVICP]

#include <iresman_hdvicp.h>

Collaboration diagram for IRESMAN_HdVicpParams:
[legend]

Data Fields

IRESMAN_Params baseConfig
int | numResources
Void * | info

Field Documentation

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


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

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

IRESMAN_Params Struct Reference
[Resource manager interface]

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

#include <iresman.h>

Data Fields

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

Detailed Description

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

Field Documentation

Int32 IRESMAN_Params::size

Size of this structure

IRESMAN_PersistentAllocFxn* IRESMAN_Params::allocFxn

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

IRESMAN_PersistentFreeFxn* IRESMAN_Params::freeFxn

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

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


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

  • Data Structures
  • Data Structure Index
  • Data Fields
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 Application Programming Interface (API): IRESMAN_TiledmemoryParams Struct Reference

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

IRESMAN_TiledmemoryParams Struct Reference
[IRESMAN TILEDMEM]

#include <iresman_tiledmemory.h>

Collaboration diagram for IRESMAN_TiledmemoryParams:
[legend]

Data Fields

IRESMAN_Params baseConfig
int | numResources
Void * | info

Field Documentation

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


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

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

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

#include <iresman_vicp.h>

Collaboration diagram for IRESMAN_VicpParams:
[legend]

Data Fields

IRESMAN_Params baseConfig

Detailed Description

Field Documentation

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


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

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

RcmClient_Message Struct Reference
[RcmClient]

Remote Command Message structure. More...

#include <RcmClient.h>

Data Fields

UInt16 | poolId
The worker pool id that will process this message.
UInt16 | jobId
The job id associated with this message.
UInt32 | fxnIdx
The index of the remote function to execute.
Int32 | result
The return value of the remote message function.
UInt32 | dataSize
The size of the data buffer (in chars).
UInt32 | data [1]
The data buffer containing the message payload.

Detailed Description

Remote Command Message structure.

An RcmClient needs to fill in this message before sending it to the RcmServer for execution.

Field Documentation

UInt16 RcmClient_Message::poolId

The worker pool id that will process this message.

The message will be processed by a worker thread from the worker pool specified in this field. The default value is the default pool id.

UInt16 RcmClient_Message::jobId

The job id associated with this message.

All messages beloging to a job id must have this field set to that id. Use the value RcmClient_DISCRETEJOBID if the message does not belong to any job.

UInt32 RcmClient_Message::fxnIdx

The index of the remote function to execute.

Int32 RcmClient_Message::result

The return value of the remote message function.

UInt32 RcmClient_Message::dataSize

The size of the data buffer (in chars).

This field should be considered as read-only. It is set by the call to the RcmClient_alloc() function.

UInt32 RcmClient_Message::data[1]

The data buffer containing the message payload.

The size of this field is dataSize chars. The space is allocated by the call to the RcmClient_alloc() function.

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


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

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

RcmClient_Params Struct Reference
[RcmClient]

Instance create parameters. More...

#include <RcmClient.h>

Data Fields

UInt16 | heapId
The heapId used by this instance for allocating messages.
Bool | callbackNotification
Asynchronous callback notification support.

Detailed Description

Instance create parameters.

Field Documentation

UInt16 RcmClient_Params::heapId

The heapId used by this instance for allocating messages.

If sending messages to a remote server, the specified heap must be compatible with the transport used for delivering messages to the remote processor.

Bool RcmClient_Params::callbackNotification

Asynchronous callback notification support.

When remote functions submitted with RcmClient_execAsync() complete, the given callback function is invoked. The callback function executes in the context of this RcmClient instance's callback server thread.

This config param must be set to true when using RcmClient_execAsync() to execute remote functions.

When set to false, the callback server thread is not created.

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


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

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

RcmClient_Struct Struct Reference
[RcmClient]

Opaque client structure large enough to hold an instance object. More...

#include <RcmClient.h>

Data Fields

xdc_runtime_knl_GateThread_Struct | _f1
Ptr | _f2
Ptr | _f3
UInt16 | _f4
Ptr | _f5
UInt32 | _f6
Bool | _f7
UInt16 | _f8
Ptr | _f9
Ptr | _f10
Ptr | _f11
Ptr | _f12

Detailed Description

Opaque client structure large enough to hold an instance object.

Use this structure to define an embedded RcmClient object.

See also:
RcmClient_construct

Field Documentation

xdc_runtime_knl_GateThread_Struct RcmClient_Struct::_f1
Ptr RcmClient_Struct::_f2
Ptr RcmClient_Struct::_f3
UInt16 RcmClient_Struct::_f4
Ptr RcmClient_Struct::_f5
UInt32 RcmClient_Struct::_f6
Bool RcmClient_Struct::_f7
UInt16 RcmClient_Struct::_f8
Ptr RcmClient_Struct::_f9
Ptr RcmClient_Struct::_f10
Ptr RcmClient_Struct::_f11
Ptr RcmClient_Struct::_f12
The documentation for this struct was generated from the following file:
  • RcmClient.h


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

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

RcmServer_FxnDesc Struct Reference
[RcmServer]

Function descriptor. More...

#include <RcmServer.h>

Data Fields

String name
The name of the function.
RcmServer_MsgFxn addr
The function address in the server's address space.

Detailed Description

Function descriptor.

This function descriptor is used internally in the server. Its values are defined either at config time by the server's RcmServer_Params.fxns create parameter or at runtime through a call to RcmClient_addSymbol().

Field Documentation

String RcmServer_FxnDesc::name

The name of the function.

The name is used for table lookup, it does not search the actual symbol table. You can provide any string as long as it is unique and the client uses the same name for lookup.

RcmServer_MsgFxn RcmServer_FxnDesc::addr

The function address in the server's address space.

The server will ultimately branch to this address.

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


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

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

RcmServer_FxnDescAry Struct Reference
[RcmServer]

Function descriptor array. More...

#include <RcmServer.h>

Collaboration diagram for RcmServer_FxnDescAry:
[legend]

Data Fields

Int length
The length of the array.
RcmServer_FxnDesc * elem
Pointer to the array.

Detailed Description

Function descriptor array.

Field Documentation

Int RcmServer_FxnDescAry::length

The length of the array.

RcmServer_FxnDesc* RcmServer_FxnDescAry::elem

Pointer to the array.

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


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

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

RcmServer_Params Struct Reference
[RcmServer]

RcmServer Instance create parameters. More...

#include <RcmServer.h>

Collaboration diagram for RcmServer_Params:
[legend]

Data Fields

Thread_Priority | priority
Server thread priority.
Int | osPriority
Server thread priority (OS-specific).
SizeT | stackSize
The stack size in bytes of the server thread.
String | stackSeg
The server thread stack placement.
RcmServer_ThreadPoolDesc defaultPool
The default thread pool used for anonymous messages.
RcmServer_ThreadPoolDescAry workerPools
Array of thread pool descriptors.
RcmServer_FxnDescAry fxns
Array of function names to install into the server.

Detailed Description

RcmServer Instance create parameters.

Field Documentation

Thread_Priority RcmServer_Params::priority

Server thread priority.

This value is Operating System independent. It determines the execution priority of the server thread. The server thread reads the incoming message and then either executes the message function (in-band execution) or dispatches the message to a thread pool (out-of-band execution). The server thread then wait on the next message.

Int RcmServer_Params::osPriority

Server thread priority (OS-specific).

This value is Operating System specific. It determines the execution priority of the server thread. If this attribute is set, it takes precedence over the priority attribute below. The server thread reads the incoming message and then either executes the message function (in-band execution) or dispatches the message to a thread pool (out-of-band execution). The server thread then wait on the next message.

SizeT RcmServer_Params::stackSize

The stack size in bytes of the server thread.

String RcmServer_Params::stackSeg

The server thread stack placement.

RcmServer_ThreadPoolDesc RcmServer_Params::defaultPool

The default thread pool used for anonymous messages.

RcmServer_ThreadPoolDescAry RcmServer_Params::workerPools

Array of thread pool descriptors.

The worker pools declared with this instance parameter are statically bound to the server, they persist for the life of the server. They cannot be removed with a call to RcmServer_deletePool(). However, worker threads may be created or deleted at runtime.

RcmServer_FxnDescAry RcmServer_Params::fxns

Array of function names to install into the server.

The functions declared with this instance parameter are statically bound to the server, they persist for the life of the server. They cannot be removed with a call to RcmServer_removeSymbol().

To specify a function address, use the & character in the string as in the following example.

  RcmServer_FxnDesc serverFxnAry[] = {
      { "LED_on",         LED_on  },
      { "LED_off",        LED_off }
  };

  #define serverFxnAryLen (sizeof serverFxnAry / sizeof serverFxnAry[0])

  RcmServer_FxnDescAry Server_fxnTab = {
      serverFxnAryLen,
      serverFxnAry
  };

  RcmServer_Params rcmServerP;
  RcmServer_Params_init(&rcmServerP);
  rcmServerP.fxns.length = Server_fxnTab.length;
  rcmServerP.fxns.elem = Server_fxnTab.elem;

  RcmServer_Handle rcmServerH;
  rval = RcmServer_create("ServerA", &rcmServerP, &(rcmServerH));
The documentation for this struct was generated from the following file:
  • RcmServer.h


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

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

RcmServer_Struct Struct Reference
[RcmServer]

Opaque client structure large enough to hold an instance object. More...

#include <RcmServer.h>

Data Fields

GateThread_Struct | _f1
Ptr | _f2
Ptr | _f3
Ptr | _f4
struct {
Int _f1
Ptr _f2
} _f5
Ptr | _f6 [9]
UInt16 | _f7
UInt16 | _f8
Bool | _f9
Int | _f10
Ptr | _f11 [4]
Ptr | _f12

Detailed Description

Opaque client structure large enough to hold an instance object.

Use this structure to define an embedded RcmServer object.

See also:
RcmServer_construct

Field Documentation

GateThread_Struct RcmServer_Struct::_f1
Ptr RcmServer_Struct::_f2
Ptr RcmServer_Struct::_f3
Ptr RcmServer_Struct::_f4
Int RcmServer_Struct::_f1
struct { ... } RcmServer_Struct::_f5
Ptr RcmServer_Struct::_f6[9]
UInt16 RcmServer_Struct::_f7
UInt16 RcmServer_Struct::_f8
Bool RcmServer_Struct::_f9
Int RcmServer_Struct::_f10
Ptr RcmServer_Struct::_f11[4]
Ptr RcmServer_Struct::_f12
The documentation for this struct was generated from the following file:
  • RcmServer.h


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

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

RcmServer_ThreadPoolDesc Struct Reference
[RcmServer]

Worker pool descriptor. More...

#include <RcmServer.h>

Data Fields

String | name
The name of the worker pool.
UInt | count
The number of worker threads in the pool.
Thread_Priority | priority
The priority of all threads in the worker pool.
Int | osPriority
The priority (OS-specific) of all threads in the worker pool.
SizeT | stackSize
The stack size in bytes of a worker thread.
String | stackSeg
The worker thread stack placement.

Detailed Description

Worker pool descriptor.

Use this data structure to define a worker pool to be created either at the server create time or dynamically at runtime.

Field Documentation

String RcmServer_ThreadPoolDesc::name

The name of the worker pool.

UInt RcmServer_ThreadPoolDesc::count

The number of worker threads in the pool.

Thread_Priority RcmServer_ThreadPoolDesc::priority

The priority of all threads in the worker pool.

This value is Operating System independent. It determines the execution priority of all the worker threads in the pool.

Int RcmServer_ThreadPoolDesc::osPriority

The priority (OS-specific) of all threads in the worker pool.

This value is Operating System specific. It determines the execution priority of all the worker threads in the pool. If this property is set, it takes precedence over the priority property above.

SizeT RcmServer_ThreadPoolDesc::stackSize

The stack size in bytes of a worker thread.

String RcmServer_ThreadPoolDesc::stackSeg

The worker thread stack placement.

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


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

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

RcmServer_ThreadPoolDescAry Struct Reference
[RcmServer]

Worker pool descriptor array. More...

#include <RcmServer.h>

Collaboration diagram for RcmServer_ThreadPoolDescAry:
[legend]

Data Fields

Int length
The length of the array.
RcmServer_ThreadPoolDesc * elem
Pointer to the array.

Detailed Description

Worker pool descriptor array.

Field Documentation

Int RcmServer_ThreadPoolDescAry::length

The length of the array.

RcmServer_ThreadPoolDesc* RcmServer_ThreadPoolDescAry::elem

Pointer to the array.

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


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

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

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

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

#include <rman.h>

Data Fields

short | numRegistries
Number of registry entries in the RMAN table.
IRESMAN_PersistentAllocFxn * allocFxn
Memory allocation function for all RMAN memory requirements.
IRESMAN_PersistentFreeFxn * freeFxn
Memory free function for all RMAN memory requirements.
IRES_YieldFxn yieldFxn
RMAN_yield() if yielding is supported, else NULL.
Bool | yieldSamePriority
Flag indicating if yield to same priority is okay.

Detailed Description

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

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

Field Documentation

short RMAN_Params::numRegistries

Number of registry entries in the RMAN table.

IRESMAN_PersistentAllocFxn* RMAN_Params::allocFxn

Memory allocation function for all RMAN memory requirements.

IRESMAN_PersistentFreeFxn* RMAN_Params::freeFxn

Memory free function for all RMAN memory requirements.

IRES_YieldFxn RMAN_Params::yieldFxn

RMAN_yield() if yielding is supported, else NULL.

Bool RMAN_Params::yieldSamePriority

Flag indicating if yield to same priority is okay.

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


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

  • Data Structures
  • Data Structure Index
  • Data Fields
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 Application Programming Interface (API): SCPY_Params Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
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 Application Programming Interface (API): SCPY_TransferParams Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
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 Application Programming Interface (API): VICPSYNC_Params Struct Reference

  • Data Structures
  • Data Structure Index
  • Data Fields
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 Application Programming Interface (API): Data Fields

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

- _ -

  • _f1 : RcmClient_Struct , RcmServer_Struct
  • _f10 : RcmClient_Struct , RcmServer_Struct
  • _f11 : RcmClient_Struct , RcmServer_Struct
  • _f12 : RcmClient_Struct , RcmServer_Struct
  • _f2 : RcmClient_Struct , RcmServer_Struct
  • _f3 : RcmClient_Struct , RcmServer_Struct
  • _f4 : RcmServer_Struct , RcmClient_Struct
  • _f5 : RcmClient_Struct , RcmServer_Struct
  • _f6 : RcmClient_Struct , RcmServer_Struct
  • _f7 : RcmClient_Struct , RcmServer_Struct
  • _f8 : RcmClient_Struct , RcmServer_Struct
  • _f9 : RcmClient_Struct , RcmServer_Struct


Framework Components Application Programming Interface (API): 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
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]
ecpy.h [code] | ECPY Definitions (C64P) - Functional DMA Library for use with the EDMA3 DMA peripheral. Provides a comprehensive list of DMA operations an algorithm can perform on logical DMA channels it acquires through the IRES_EDMA3CHAN2 protocol. ECPY library contains two sets of functions: direct and non-direct. The direct APIs are functions prefixed with 'ECPY_direct' and these are faster due to less state maintanence , fewer checks and lack of PaRAM shadowing for 1st transfer. As a result they are slightly harder to use requiring caller to ensure integrity of state, for example to make sure each ECPY_directStart is matched with exactly one ECPY_directWait, or to remember to re-configure first transfer following a linked transfer or single 3D transfer. The non-direct APIs are slightly easier to use and maintain state and persistence of 1st transfer's settings across transfers. It is important to *not* mix and match direct and non-direct functions for any given channel, as this may result in unexpected behavior
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 - 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_common.h [code] | IRES Resource Protocol Definitions - IRES Resource
ires_edma3Chan.h [code] | IRES EDMA3CHAN PROTOCOL Interface Definitions - Allows algorithms to request and receive handles representing EDMA3 resources associated with a single EDMA3 channel
ires_hdvicp.h [code] | IRES PROTOCOL HDVICP Interface Definitions - Allows algorithms to request and receive handles representing the HDVICP resource
ires_hdvicp2.h [code] | IRES PROTOCOL HDVICP2 Interface Definitions (Beta) - Allows algorithms to request and receive handles representing the HDVICP2 resource
ires_sdma.h [code] | IRES PROTOCOL SDMA Interface Definitions (C64P) - Allows algorithms to request and receive handles representing the SDMA resource
ires_tiledmemory.h [code] | IRES PROTOCOL TILEDMEMORY Interface Definitions (Beta) - Allows algorithms to request and receive handles representing the TILEDMEMORY resource
ires_vicp.h [code] | IRES PROTOCOL VICP Interface Definitions - Allows algorithms to request and receive handles representing the VICP resource
ires_vicp2.h [code] | IRES PROTOCOL VICP2 Interface Definitions - Allows algorithms to request and receive handles representing the VICP resource
iresman.h [code] | Device specific Resource Manager Interface Definitions IRESMAN - Interface that needs to be implemented and registered with the generic RMAN Resource Registry that are called to manage corresponding IRES resources
iresman_edma3Chan.h [code] | IRESMAN EDMA3 specific Resource Manager Definitions - EDMA3 resource manager implementation
iresman_hdvicp.h [code] | IRESMAN
iresman_protocol.h [code] | IRES Resource Protocol Definitions (C64P) - IRES Resource specific protocol interface to construct logical handles. This interface is exposed only to IRESMAN
iresman_sdma.h [code] | IRESMAN SDMA specific Resource Manager Definitions - SDMA specific resource manager implementation
iresman_tiledmemory.h [code] | IRESMAN
iresman_vicp.h [code] | IRESMAN
iresman_vicp2.h [code] | IRESMAN
memutils.h [code] | MEMUTILS Interface Definitions - Memory and Cache related APIs
RcmClient.h [code] | Remote Command Message Client Module. An RcmClient is used for sending messages to an RcmServer for processing
RcmServer.h [code] | Remote Command Message Server Module. An RcmServer processes inbound messages received from an RcmClient
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
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 Application Programming Interface (API): acpy3.h File Reference

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

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.

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.

Defines

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

Data Structures

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

Typedefs

typedef enum ACPY3_ParamField16b | 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.
typedef enum ACPY3_ParamField32b | 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.
typedef enum ACPY3_TransferType | ACPY3_TransferType
ACPY3 DMA Transfer Types:
typedef struct ACPY3_Params | ACPY3_Params
DMA transfer specific parameters. Defines the configuration of a logical channel.

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

Variables

IDMA3_ProtocolObj ACPY3_PROTOCOL
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines


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

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • acpy3
Data Structures

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 enum ACPY3_INSTR_HookType | ACPY3_INSTR_HookType
Primary instrumentation hook function names.
typedef enum
ACPY3_INSTR_ExtendedHookType 		ACPY3_INSTR_ExtendedHookType
Extended instrumentation hook function names.
typedef void(* | ACPY3_INSTR_HookFxn )(IDMA3_Handle handle, void *param)
Function signature for hook instrumentation function.
typedef struct ACPY3_INSTR_Hook | ACPY3_INSTR_Hook
Structure that holds the instrumentation hook function and its arguments.
typedef struct ACPY3_INSTR_Hooks | ACPY3_INSTR_Hooks
Array of the primary instrumentation hook functions and their arguments.
typedef struct
ACPY3_INSTR_ExtendedHooks 		ACPY3_INSTR_ExtendedHooks
Array of the extended instrumentation hook functions and their arguments.
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 Application Programming Interface (API): dman3.h File Reference

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

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 <xdc/std.h>
#include <xdc/runtime/IHeap.h>
#include <ti/xdais/ialg.h>
#include <ti/xdais/idma3.h>
Include dependency graph for dman3.h:

Go to the source code of this file.

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.

Defines

#define | DMAN3_MODNAME "ti.sdo.fc.dman3"
Name to pass to Diags_setMask() to enable logging for DMAN3 functions. For example, Diags_setMask(DMAN3_MODNAME"+EX1234567"); turns on all Log statements in this module. Diags_setMask() must be called after initialization to take effect.
#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

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

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.
typedef struct DMAN3_Params | 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.

Variables

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


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

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

dskt2.h File Reference

Detailed Description

Provides services to support XDAIS algorithm instance objects.

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

Go to the source code of this file.

Functions

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

Defines

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

Typedefs

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


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

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

dskt2_qos.h File Reference

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

Go to the source code of this file.

Functions

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

Typedefs

typedef enum
DSKT2_QOS_TI_MsgArg1Types 		DSKT2_QOS_TI_MsgArg1Types
typedef enum
DSKT2_QOS_TI_GetSharedScratchMsgArg2 		DSKT2_QOS_TI_GetSharedScratchMsgArg2

Enumerations

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

Typedef Documentation

typedef enum DSKT2_QOS_TI_MsgArg1Types DSKT2_QOS_TI_MsgArg1Types
typedef enum DSKT2_QOS_TI_GetSharedScratchMsgArg2 DSKT2_QOS_TI_GetSharedScratchMsgArg2

Enumeration Type Documentation

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

Function Documentation

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


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

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

ecpy.h File Reference

Detailed Description

ECPY Definitions (C64P) - Functional DMA Library for use with the EDMA3 DMA peripheral. Provides a comprehensive list of DMA operations an algorithm can perform on logical DMA channels it acquires through the IRES_EDMA3CHAN2 protocol. ECPY library contains two sets of functions: direct and non-direct. The direct APIs are functions prefixed with 'ECPY_direct' and these are faster due to less state maintanence , fewer checks and lack of PaRAM shadowing for 1st transfer. As a result they are slightly harder to use requiring caller to ensure integrity of state, for example to make sure each ECPY_directStart is matched with exactly one ECPY_directWait, or to remember to re-configure first transfer following a linked transfer or single 3D transfer. The non-direct APIs are slightly easier to use and maintain state and persistence of 1st transfer's settings across transfers. It is important to *not* mix and match direct and non-direct functions for any given channel, as this may result in unexpected behavior.

WARNING: THIS IS NOT THE FINAL REVISION OF ECPY INTERFACE. IT IS SUBJECT TO CHANGES PER REVIEW FEEDBACK. ADDITIONALLY, CURRENTLY IT IS AN API DEFINITION ONLY, IMPLEMENTATION AND COLLATERAL SUPPORT WILL BE ADDED IN FUTURE FC RELEASES.

#include <ti/sdo/fc/ires/edma3chan/ires_edma3Chan.h>
Include dependency graph for ecpy.h:

Go to the source code of this file.

Functions

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

Defines

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

Data Structures

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

Typedefs

typedef enum ECPY_ParamField16b | ECPY_ParamField16b
ECPY 16-bit param field structure. These values are passed to ECPY_configure16() to indicate the field of the ECPY_Params structure to be changed.
typedef enum ECPY_ParamField32b | ECPY_ParamField32b
ECPY 32-bit param field structure. These values are passed to ECPY_configure32() to indicate the field of the ECPY_Params structure to be changed.
typedef enum ECPY_TransferType | ECPY_TransferType
ECPY DMA Transfer Types:
typedef struct ECPY_Obj * | ECPY_Handle
Handle to "logical" ECPY Channel.
typedef struct ECPY_Params | ECPY_Params
DMA transfer specific parameters. Defines the configuration of a logical channel.
typedef Bool( | ECPY_PersistentAllocFxn )(IALG_MemRec *memTab, Int numRecs)
Memory allocation function signature for module configuration.
typedef Void( | ECPY_PersistentFreeFxn )(IALG_MemRec *memTab, Int numRecs)
Memory deallocation function signature for module configuration.
typedef struct ECPY_CfgParams | ECPY_CfgParams
The module configuration structure for ECPY. It is set at design time by the system integrator to register customize memory allocation/free implementations.

Enumerations

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

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

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

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

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

ECPY DMA Transfer Types:

More...

Variables

__FAR__ ECPY_CfgParams | ECPY_CFG_PARAMS
Initialization parameters for the ECPY module.


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

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

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.

Functions

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

Defines

#define | HDINTC_GTNAME "ti.sdo.fc.hdintc"
Defines: Status Codes
#define | HDINTC_SOK 0
#define | HDINTC_EOUTOFMEMORY -1
#define | HDINTC_EFAIL -2

Data Structures

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

Typedefs

typedef struct HDINTC_Params | HDINTC_Params
The module configuration structure for HDINTC implementation.
typedef struct hdvicpAppHandle | HDVICP_Obj
typedef HDVICP_Obj * | HDVICP_Handle

Variables

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


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

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

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.

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.

Defines

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

Data Structures

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

Typedefs

typedef struct HDVICPSYNC_Params | HDVICPSYNC_Params
The module configuration structure for HDVICPSYNC implementation.
typedef enum
HDVICPSYNC_InterruptType 		HDVICPSYNC_InterruptType
Interrupt type that can be specified for each Resource type.
typedef enum HDVICPSYNC_Status | HDVICPSYNC_Status

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
}

Variables

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


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

  • File List
  • Globals
  • fctools
  • packages
  • ti
  • xdais
Defines | Data Structures | Typedefs | Enumerations

ialg.h File Reference

Detailed Description

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

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

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

Data Structures

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

Typedefs

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

Enumerations

enum IALG_MemAttrs {
IALG_SCRATCH,
IALG_PERSIST,
IALG_WRITEONCE
}

Memory attributes.

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

Defined memory spaces.

More...


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

  • File List
  • Globals
  • fctools
  • packages
  • ti
  • xdais
Defines | Data Structures | Typedefs | Enumerations

idma3.h File Reference

Detailed Description

IDMA3 Interface Definitions - 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.

Defines

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

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

Typedefs

typedef enum IDMA3_MemType | IDMA3_MemType
Memory space descriptors for IDMA3_MemRec.
typedef struct IDMA3_MemRec | IDMA3_MemRec
Record containing attributes of the IDMA3 Channel environment memory when (optionally) the IDMA3 Channel is requested with a non-NULL IDMA3_ProtocolObj.
typedef struct IDMA3_Obj * | IDMA3_Handle
Handle to "logical" DMA channel.
typedef struct IDMA3_ProtocolObj * | IDMA3_ProtocolHandle
Handle to IDMA3 protocol object.
typedef enum IDMA3_Priority | IDMA3_Priority
IDMA3 Priority Levels.
typedef struct IDMA3_ChannelRec | IDMA3_ChannelRec
DMA Channel Descriptor to logical DMA channels.
typedef struct IDMA3_Fxns | 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.
typedef struct IDMA3_ProtocolObj | 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.
typedef struct IDMA3_Obj | IDMA3_Obj
IDMA3_Obj holds the private state associated with each logical DMA channel.

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 Application Programming Interface (API): ires.h File Reference

  • File List
  • Globals
  • fctools
  • packages
  • ti
  • xdais
Data Structures | Typedefs | Enumerations

ires.h File Reference

Detailed Description

IRES Interface Definitions - Allows algorithms to request and receive handles representing private logical resources.

#include "ires_common.h"
Include dependency graph for ires.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct | IRES_YieldContext
Specifies the algorithm specific handles and context save & restore function pointers and arguments that the framework will call during a context switch. More...
struct | IRES_Fxns
These fxns are used to query/grant the resources requested by the algorithm at initialization time, and to change these resources at runtime. All these fxns are implemented by the algorithm, and called by the client of the algorithm. More...

Typedefs

typedef enum IRES_YieldResourceType | IRES_YieldResourceType
typedef Void(* | IRES_ContextSaveFxn )(IALG_Handle algHandle, Void *contextArgs)
typedef Void(* | IRES_ContextRestoreFxn )(IALG_Handle algHandle, Void *contextArgs)
typedef struct IRES_YieldContext | IRES_YieldContext
Specifies the algorithm specific handles and context save & restore function pointers and arguments that the framework will call during a context switch.
typedef IRES_YieldContext * | IRES_YieldContextHandle
typedef Void * | IRES_YieldArgs
typedef Void(* | IRES_YieldFxn )(IRES_YieldResourceType resourceType, IRES_YieldContextHandle algYieldContext, IRES_YieldArgs yieldArgs)
The 'yield function' pointer and 'yield arguments' are supplied to an algorithm during its IRES interface 'initialization'. The algorithm optionally calls the yield function during its 'process' stages for co-operative multi-tasking and pre-emption by a higher priority algorithm.
typedef struct IRES_Fxns | IRES_Fxns
These fxns are used to query/grant the resources requested by the algorithm at initialization time, and to change these resources at runtime. All these fxns are implemented by the algorithm, and called by the client of the algorithm.

Enumerations

enum IRES_YieldResourceType {
IRES_ALL = 0,
IRES_SCRATCHMEMORY,
IRES_SCRATCHDMA,
IRES_RESOURCEHANDLE
}


Framework Components Application Programming Interface (API): ires_common.h File Reference

  • File List
  • Globals
  • fctools
  • packages
  • ti
  • xdais
Data Structures

ires_common.h File Reference

Detailed Description

IRES Resource Protocol Definitions - IRES Resource.

#include "ialg.h"
Include dependency graph for ires_common.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct | IRES_ProtocolRevision
Protocol revision type. Used to ensure the given 'protocol' revision can be validated. More...
struct | IRES_ProtocolArgs
Abstract Protocol Arguments structure definition. Actual arguments passed by the algorithm to request a resource from a specific IRES Protocol will extend and supply the concrete definitions. More...
struct | IRES_ResourceDescriptor
Descriptor to Logical Resource. More...
struct | IRES_Properties
Abstract Resource Properties structure/pointer definition. Actual resource protocol will supply the concrete property definitions. The list of attributes for the actual resource will expose the relevant features that needs to be known to a client to use the resource, such as: resource register base addresses and offsets, critical register and memory region addresses, ... More...
struct | IRES_Obj
IRES_Obj holds the private state associated with each logical resource. More...

enum IRES_Status {
IRES_OK = 0,
IRES_EALG = 1,
IRES_EEXISTS = 2,
IRES_EFAIL = 3,
IRES_EINIT = 4,
IRES_ENOINIT = 5,
IRES_ENOMEM = 6,
IRES_ENORESOURCE = 7,
IRES_ENOTFOUND = 8
}

IRES_Status defines the standard error and success codes returned by IRES APIs.

More...
enum IRES_RequestMode {
IRES_SCRATCH,
IRES_PERSISTENT,
IRES_LATEACQUIRE
}

Mode in which resources can be requested.

More...
typedef enum IRES_Status | IRES_Status
IRES_Status defines the standard error and success codes returned by IRES APIs.
typedef struct
IRES_ProtocolRevision 		IRES_ProtocolRevision
Protocol revision type. Used to ensure the given 'protocol' revision can be validated.
typedef enum IRES_RequestMode | IRES_RequestMode
Mode in which resources can be requested.
typedef struct IRES_ProtocolArgs | IRES_ProtocolArgs
Abstract Protocol Arguments structure definition. Actual arguments passed by the algorithm to request a resource from a specific IRES Protocol will extend and supply the concrete definitions.
typedef struct
IRES_ResourceDescriptor 		IRES_ResourceDescriptor
Descriptor to Logical Resource.
typedef struct IRES_Properties | IRES_Properties
Abstract Resource Properties structure/pointer definition. Actual resource protocol will supply the concrete property definitions. The list of attributes for the actual resource will expose the relevant features that needs to be known to a client to use the resource, such as: resource register base addresses and offsets, critical register and memory region addresses, ...
typedef struct IRES_Obj | IRES_Obj
IRES_Obj holds the private state associated with each logical resource.
typedef struct IRES_Obj * | IRES_Handle
Handle to "logical" resource.


Framework Components Application Programming Interface (API): ires_edma3Chan.h File Reference

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • edma3chan
Defines | Data Structures | Typedefs | Enumerations

ires_edma3Chan.h File Reference

Detailed Description

IRES EDMA3CHAN PROTOCOL Interface Definitions - Allows algorithms to request and receive handles representing EDMA3 resources associated with a single EDMA3 channel.

#include <ti/xdais/xdas.h>
#include <ti/xdais/ires_common.h>
Include dependency graph for ires_edma3Chan.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define | IRES_EDMA3CHAN_PROTOCOLNAME "ti.sdo.fc.ires.edma3chan"
Name used to describe this protocol.
#define | EDMA3CHAN_MODNAME "ti.sdo.fc.ires.edma3chan"
Name to pass to Diags_setMask() to enable logging for EDMA3CHAN functions. For example, Diags_setMask(EDMA3CHAN_MODNAME"+EX1234567"); turns on all Log statements in this module. Diags_setMask() must be called after initialization to take effect.
#define | EDMA3CHAN_GTNAME "ti.sdo.fc.ires.edma3chan"
Name used to describe the GT module.
#define | IRES_EDMA3CHAN_PROTOCOLREVISION_1_0_0 {1, 0, 0}
Protocol Revision for the 1.0.0 version of resource.
#define | IRES_EDMA3CHAN_SETPROTOCOLREVISION_1_0_0(rev)
#define | IRES_EDMA3CHAN_PROTOCOLREVISION_2_0_0 {2, 0, 0}
Protocol Revision for the 2.0.0 version of resource.
#define | IRES_EDMA3CHAN_SETPROTOCOLREVISION_2_0_0(rev)
#define | IRES_EDMA3CHAN_MAXPARAMS 512
Maximum number of params and tccs that can be requested in one handle.
#define | IRES_EDMA3CHAN_MAXTCCS 32
#define | IRES_EDMA3CHAN_NUMDESTTYPES 8
#define | IRES_EDMA3CHAN_PARAM_ANY 512
Macros to represent different PaRam, Channel and tcc types.
#define | IRES_EDMA3CHAN_PARAM_NONE 513
#define | IRES_EDMA3CHAN_TCC_ANY 514
#define | IRES_EDMA3CHAN_TCC_NONE 515
#define | IRES_EDMA3CHAN_EDMACHAN_ANY 516
#define | IRES_EDMA3CHAN_QDMACHAN_ANY 516
#define | IRES_EDMA3CHAN_CHAN_NONE 518

Data Structures

struct | IRES_EDMA3CHAN_PaRamStruct
Representation of actual PaRam 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...
struct | IRES_EDMA3CHAN2_Obj
IRES_EDMA3CHAN2_Obj corresponds to version IRES_EDMA3CHAN_PROTOCOLREVISION_2_0_0. It has been enhanced * from the IRES_EDMA3CHAN_Obj. More...

Typedefs

typedef struct IRES_EDMA3CHAN_Obj * | IRES_EDMA3CHAN_Handle
Handle to "logical" EDMA3CHAN resource, version {1,0,0}.
typedef struct
IRES_EDMA3CHAN2_Obj * 		IRES_EDMA3CHAN2_Handle
Handle to "logical" EDMA3CHAN resource, version {2,0,0}.
typedef struct
IRES_EDMA3CHAN_PaRamStruct 		IRES_EDMA3CHAN_PaRamStruct
Representation of actual PaRam structure.
typedef struct
IRES_EDMA3CHAN_ProtocolArgs 		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.
typedef struct IRES_EDMA3CHAN_Obj | IRES_EDMA3CHAN_Obj
IRES_EDMA3CHAN_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource.
typedef struct
IRES_EDMA3CHAN_EDMA3ShadowRegister 		IRES_EDMA3CHAN_EDMA3ShadowRegister
IRES_EDMA3CHAN_EDMA3ShadowRegister defines the shadow register part of the EDMA3 CC Register Layer defined below.
typedef struct
IRES_EDMA3CHAN_EDMA3DraeRegister 		IRES_EDMA3CHAN_EDMA3DraeRegister
IRES_EDMA3CHAN_EDMA3DraeRegister defines the Region Enable register part of the EDMA3 CC Register Layer defined below.
typedef struct
IRES_EDMA3CHAN_EDMA3RegisterLayer 		IRES_EDMA3CHAN_EDMA3RegisterLayer
typedef struct
IRES_EDMA3CHAN_Properties 		IRES_EDMA3CHAN_Properties
Static Resource Properties.
typedef enum
IRES_EDMA3CHAN_DmaDestType 		IRES_EDMA3CHAN_DmaDestType
Describes the Destination type of DMA writes This information is used to distribute different types of DMA writes to different EDMA3 Queues.
typedef struct IRES_EDMA3CHAN2_Obj | IRES_EDMA3CHAN2_Obj
IRES_EDMA3CHAN2_Obj corresponds to version IRES_EDMA3CHAN_PROTOCOLREVISION_2_0_0. It has been enhanced * from the IRES_EDMA3CHAN_Obj.

Enumerations

enum IRES_EDMA3CHAN_DmaDestType {
INTMEMORY0 = 0,
INTMEMORY1 = 1,
INTMEMORY2 = 2,
EXTMEMORY0 = 3,
EXTMEMORY1 = 4,
EXTMEMORY2 = 5,
OTHER0 = 6,
OTHER1 = 7
}

Describes the Destination type of DMA writes This information is used to distribute different types of DMA writes to different EDMA3 Queues.

More...


Framework Components Application Programming Interface (API): ires_hdvicp.h File Reference

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • hdvicp
Defines | Data Structures | Typedefs | Enumerations

ires_hdvicp.h File Reference

Detailed Description

IRES PROTOCOL HDVICP Interface Definitions - Allows algorithms to request and receive handles representing the HDVICP resource.

#include <ti/xdais/ires_common.h>
Include dependency graph for ires_hdvicp.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define | IRES_HDVICP_PROTOCOLNAME "ti.sdo.fc.ires.hdvicp"
Name used to describe this protocol.
#define | HDVICP_MODNAME "ti.sdo.fc.ires.hdvicp"
Name to pass to Diags_setMask() to enable logging for HDVICP functions. For example, Diags_setMask(HDVICP_MODNAME"+EX1234567"); turns on all Log statements in this module. Diags_setMask() must be called after initialization to take effect.

Data Structures

struct | IRES_HDVICP_ProtocolArgs
HDVICP Protocol Arguments definition. More...
struct | IRES_HDVICP_Obj
IRES_HDVICP_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource. More...
struct | IRES_HDVICP_RegisterLayer
HDVICP Register Layout. More...
struct | IRES_HDVICP_Properties
Static Resource Properties. More...

Typedefs

typedef struct IRES_HDVICP_Obj * | IRES_HDVICP_Handle
Handle to "logical" resource.
typedef enum
IRES_HDVICP_RequestType 		IRES_HDVICP_RequestType
Type of resource that can be requested.
typedef struct
IRES_HDVICP_ProtocolArgs 		IRES_HDVICP_ProtocolArgs
HDVICP Protocol Arguments definition.
typedef struct IRES_HDVICP_Obj | IRES_HDVICP_Obj
IRES_HDVICP_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource.
typedef struct
IRES_HDVICP_RegisterLayer 		IRES_HDVICP_RegisterLayer
HDVICP Register Layout.
typedef struct
IRES_HDVICP_Properties 		IRES_HDVICP_Properties
Static Resource Properties.

Enumerations

enum IRES_HDVICP_RequestType {
IRES_HDVICP_ID_0 = 0,
IRES_HDVICP_ID_1 = 1,
IRES_HDVICP_ID_ANY = 2
}

Type of resource that can be requested.

More...


Framework Components Application Programming Interface (API): ires_hdvicp2.h File Reference

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • hdvicp
Defines | Data Structures | Typedefs | Enumerations | Variables

ires_hdvicp2.h File Reference

Detailed Description

IRES PROTOCOL HDVICP2 Interface Definitions (Beta) - Allows algorithms to request and receive handles representing the HDVICP2 resource.

#include <ti/xdais/xdas.h>
#include <ti/xdais/ires_common.h>
#include <ti/xdais/ires.h>
Include dependency graph for ires_hdvicp2.h:

Go to the source code of this file.

Defines

#define | IRES_HDVICP2_PROTOCOLNAME "ti.sdo.fc.ires.hdvicp.hdvicp2"
Name used to describe this protocol.
#define | HDVICP2_MODNAME "ti.sdo.fc.ires.hdvicp2"
Name to pass to Diags_setMask() to enable logging for HDVICP2 functions. For example, Diags_setMask(HDVICP2_MODNAME"+EX1234567"); turns on all Log statements in this module. Diags_setMask() must be called after initialization to take effect.
#define | IRES_HDVICP2_ID_ANY -2
Used to specify the resource required in the protocol args, resource manager will return an HDVICP2 resource that is available to the scratch group.
#define | IRES_HDVICP2_ID_LATE_ACQUIRE -1
Used to specify the resource required for protocol args, late acquire implies that no resource is to be returned right now, resource will be acquired later in the process call, using the acquire fxn returned via the IRES_HDVICP2_Handle.
#define | IRES_HDVICP2_INVALID_ADDR 0xFFFFFFFF
Used to indicate that the address returned in the IRES_HDVICP2_Handle is not yet valid, and should not be used.
#define | IRES_HDVICP2_TIMEOUTFOREVER ((UInt)(-1))
Used to indicate to IRES_HDVICP2_Obj::wait() that the call should never timeout.
#define | IRES_HDVICP2_UNKNOWNLATEACQUIREARG (-1)
Unknown late acquire argument.

Data Structures

struct | IRES_HDVICP2_ProtocolArgs
HDVICP2 Protocol Arguments definition. More...
struct | IRES_HDVICP2_Obj
IRES_HDVICP2_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource. More...
struct | IRES_HDVICP2_RegisterLayer
HDVICP2 Register Layout. More...
struct | IRES_HDVICP2_Properties
Static Resource Properties. More...

Typedefs

typedef struct IRES_HDVICP2_Obj * | IRES_HDVICP2_Handle
Handle to "logical" resource.
typedef struct
IRES_HDVICP2_ProtocolArgs 		IRES_HDVICP2_ProtocolArgs
HDVICP2 Protocol Arguments definition.
typedef void(* | IRES_HDVICP2_CallbackFxn )(IALG_Handle handle, Void *args)
Callback function signature, used by the IRES_HDVICP2_ Handle's configure function.
typedef enum IRES_HDVICP2_Status | IRES_HDVICP2_Status
Describes the status/history of the HDVICP2 unit that is returned by the acquire call. This information can be used by the codec to avoid reloading the data memory or the program memory in the HDVICP2.
typedef struct IRES_HDVICP2_Obj | IRES_HDVICP2_Obj
IRES_HDVICP2_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource.
typedef struct
IRES_HDVICP2_RegisterLayer 		IRES_HDVICP2_RegisterLayer
HDVICP2 Register Layout.
typedef struct
IRES_HDVICP2_Properties 		IRES_HDVICP2_Properties
Static Resource Properties.
typedef IRES_Status(* | ti_sdo_fc_ires_hdvicp_HDVICP2_GetHdvicp2Fxn )(XDAS_Int32 *Id, IALG_Handle alg, IRES_HDVICP2_Handle handle)
typedef IRES_Status(* | ti_sdo_fc_ires_hdvicp_HDVICP2_FreeHdvicp2Fxn )(XDAS_Int32 Id, IALG_Handle alg, IRES_HDVICP2_Handle handle)

Enumerations

enum IRES_HDVICP2_Status {
SAMECODEC = 0,
SAMECODECTYPE = 1,
DIFFERENTCODEC = 2
}

Describes the status/history of the HDVICP2 unit that is returned by the acquire call. This information can be used by the codec to avoid reloading the data memory or the program memory in the HDVICP2.

More...

Variables

unsigned int | ti_sdo_fc_ires_hdvicp_HDVICP2_timeoutVal
Timeout value to be used by implementation of IRES_HDVICP2_Handle:wait function.


Framework Components Application Programming Interface (API): ires_sdma.h File Reference

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • sdma
Defines | Data Structures | Typedefs

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_common.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.

Defines

#define | IRES_SDMA_PROTOCOLNAME "ti.sdo.fc.ires.sdma"
Name used to describe this protocol.
#define | SDMA_MODNAME "ti.sdo.fc.ires.sdma"
Name to pass to Diags_setMask() to enable logging for SDMA functions. For example, Diags_setMask(SDMA_MODNAME"+EX1234567"); turns on all Log statements in this module. Diags_setMask() must be called after initialization to take effect.
#define | SDMA_GTNAME "ti.sdo.fc.ires.sdma"
Name used to identify this GT module.

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

Typedefs

typedef struct IRES_SDMA_Obj * | IRES_SDMA_Handle
Handle to "logical" resource.
typedef struct
IRES_SDMA_ProtocolArgs 		IRES_SDMA_ProtocolArgs
SDMA Protocol Arguments definition.
typedef struct IRES_SDMA_Obj | IRES_SDMA_Obj
IRES_SDMA_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource.
typedef struct
IRES_SDMA_RegisterLayer 		IRES_SDMA_RegisterLayer
typedef struct IRES_SDMA_Properties | IRES_SDMA_Properties


Framework Components Application Programming Interface (API): ires_tiledmemory.h File Reference

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • tiledmemory
Defines | Data Structures | Typedefs | Enumerations

ires_tiledmemory.h File Reference

Detailed Description

IRES PROTOCOL TILEDMEMORY Interface Definitions (Beta) - Allows algorithms to request and receive handles representing the TILEDMEMORY resource.

#include <ti/xdais/xdas.h>
#include <ti/xdais/ires_common.h>
#include <ti/xdais/ires.h>
Include dependency graph for ires_tiledmemory.h:

Go to the source code of this file.

Defines

#define | IRES_TILEDMEMORY_PROTOCOLNAME "ti.sdo.fc.ires.tiledmemory"
Name used to describe this protocol.
#define | TILEDMEMORY_MODNAME "ti.sdo.fc.ires.tiledmemory"
Name to pass to Diags_setMask() to enable logging for TILEDMEMORY functions. For example, Diags_setMask(TILEDMEMORY_MODNAME"+EX1234567"); turns on all Log statements in this module. Diags_setMask() must be called after initialization to take effect.

Data Structures

struct | IRES_TILEDMEMORY_ProtocolArgs
TILEDMEMORY Protocol Arguments definition. More...
struct | IRES_TILEDMEMORY_Obj
IRES_TILEDMEMORY_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource. More...
struct | IRES_TILEDMEMORY_RegisterLayer
TILEDMEMORY Register Layout. More...
struct | IRES_TILEDMEMORY_Properties
Static Resource Properties. More...

Typedefs

typedef struct
IRES_TILEDMEMORY_Obj * 		IRES_TILEDMEMORY_Handle
Handle to "logical" resource.
typedef enum
IRES_TILEDMEMORY_AccessDimension 		IRES_TILEDMEMORY_AccessDimension
Indicates whether requested/granted memory is of type 1D or 2D.
typedef enum
IRES_TILEDMEMORY_AccessUnit 		IRES_TILEDMEMORY_AccessUnit
Indicates the size of the Tiler elements requested by the codec.
typedef struct
IRES_TILEDMEMORY_ProtocolArgs 		IRES_TILEDMEMORY_ProtocolArgs
TILEDMEMORY Protocol Arguments definition.
typedef struct IRES_TILEDMEMORY_Obj | IRES_TILEDMEMORY_Obj
IRES_TILEDMEMORY_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource.
typedef struct
IRES_TILEDMEMORY_RegisterLayer 		IRES_TILEDMEMORY_RegisterLayer
TILEDMEMORY Register Layout.
typedef struct
IRES_TILEDMEMORY_Properties 		IRES_TILEDMEMORY_Properties
Static Resource Properties.

Enumerations

enum IRES_TILEDMEMORY_AccessDimension {
IRES_TILEDMEMORY_1D = 0,
IRES_TILEDMEMORY_2D = 1
}

Indicates whether requested/granted memory is of type 1D or 2D.

More...
enum IRES_TILEDMEMORY_AccessUnit {
IRES_TILEDMEMORY_RAW = 0,
IRES_TILEDMEMORY_PAGE = 1,
IRES_TILEDMEMORY_8BIT = 2,
IRES_TILEDMEMORY_16BIT = 3,
IRES_TILEDMEMORY_32BIT = 4
}

Indicates the size of the Tiler elements requested by the codec.

More...


Framework Components Application Programming Interface (API): ires_vicp.h File Reference

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • vicp
Defines | Data Structures | Typedefs

ires_vicp.h File Reference

Detailed Description

IRES PROTOCOL VICP Interface Definitions - Allows algorithms to request and receive handles representing the VICP resource.

#include <ti/xdais/ires_common.h>
Include dependency graph for ires_vicp.h:

Go to the source code of this file.

Defines

#define | IRES_VICP_MAXRESOURCES 1
#define | IRES_VICP_PROTOCOLNAME "ti.sdo.fc.ires.vicp"
Name used to describe this protocol.
#define | VICP_MODNAME "ti.sdo.fc.ires.vicp"
Name to pass to Diags_setMask() to enable logging for VICP functions. For example, Diags_setMask(VICP_MODNAME"+EX1234567"); turns on all Log statements in this module. Diags_setMask() must be called after initialization to take effect.

Data Structures

struct | IRES_VICP_ProtocolArgs
VICP Protocol Arguments definition. More...
struct | IRES_VICP_Obj
IRES_VICP_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource. More...
struct | IRES_VICP_Registers
struct | IRES_VICP_Properties

Typedefs

typedef struct IRES_VICP_Obj * | IRES_VICP_Handle
Handle to "logical" resource.
typedef struct
IRES_VICP_ProtocolArgs 		IRES_VICP_ProtocolArgs
VICP Protocol Arguments definition.
typedef struct IRES_VICP_Obj | IRES_VICP_Obj
IRES_VICP_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource.
typedef struct IRES_VICP_Registers | IRES_VICP_Registers
typedef struct IRES_VICP_Properties | IRES_VICP_Properties


Framework Components Application Programming Interface (API): ires_vicp2.h File Reference

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • vicp
Defines | Data Structures | Typedefs

ires_vicp2.h File Reference

Detailed Description

IRES PROTOCOL VICP2 Interface Definitions - Allows algorithms to request and receive handles representing the VICP resource.

#include <ti/xdais/ires.h>
Include dependency graph for ires_vicp2.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define | IRES_VICP2_MAXRESOURCES 1
Maximum number of VICP resources(components) to be managed.
#define | IRES_VICP2_PROTOCOLNAME "ti.sdo.fc.ires.vicp2"
Name used to describe this protocol.
#define | VICP2_MODNAME "ti.sdo.fc.ires.vicp2"
Name to pass to Diags_setMask() to enable logging for VICP2 functions. For example, Diags_setMask(VICP2_MODNAME"+EX1234567"); turns on all Log statements in this module. Diags_setMask() must be called after initialization to take effect.
#define | IRES_VICP2_NUMBUFFERS 16
Maximum number of VICP buffers to be managed.
#define | IRES_VICP2_BADRESOURCE 0xFFFFFFFF
Value indicating a bad VICP resource was returned.
#define | IMCOP_BUFFER_IMGBUF_A 0x0
VICP Buffer resources(components) to be managed.
#define | IMCOP_BUFFER_IMGBUF_B 0x1
#define | IMCOP_BUFFER_IMGBUF_C 0x2
#define | IMCOP_BUFFER_IMGBUF_D 0x3
#define | IMCOP_BUFFER_IMGBUF_E 0x4
#define | IMCOP_BUFFER_IMX0COEFFBUF 0x5
#define | IMCOP_BUFFER_IMX0CMDBUF 0x6
#define | IMCOP_BUFFER_IMX1COEFFBUF 0x7
#define | IMCOP_BUFFER_IMX1CMDBUF 0x8
#define | IMCOP_BUFFER_BABYIMXCMDBUFFER 0x9
#define | IMCOP_BUFFER_BABYIMXORIGBUFFER 0xA
#define | IMCOP_BUFFER_BABYIMXREFBUFFER 0xB
#define | IMCOP_BUFFER_SEQUENCERPMEM 0xC
#define | IMCOP_BUFFER_QIQMEM 0xD
#define | IMCOP_BUFFER_HUFFMEM 0xE
#define | IMCOP_BUFFER_SEQBUF4 0xF

Data Structures

struct | IRES_VICP2_ProtocolArgs
VICP Protocol Arguments definition. More...
struct | IRES_VICP2_Obj
IRES_VICP2_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource. More...
struct | IRES_VICP2_Buffers
struct | IRES_VICP2_Properties

Typedefs

typedef struct IRES_VICP2_Obj * | IRES_VICP2_Handle
Handle to "logical" resource.
typedef struct
IRES_VICP2_ProtocolArgs 		IRES_VICP2_ProtocolArgs
VICP Protocol Arguments definition.
typedef struct IRES_VICP2_Obj | IRES_VICP2_Obj
IRES_VICP2_Obj extends the generic IRES_Obj structure that is returned back to the algorithm requesting the resource.
typedef struct IRES_VICP2_Buffers | IRES_VICP2_Buffers
typedef struct
IRES_VICP2_Properties 		IRES_VICP2_Properties


Framework Components Application Programming Interface (API): iresman.h File Reference

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
Data Structures | Typedefs

iresman.h File Reference

Detailed Description

Device specific Resource Manager Interface Definitions IRESMAN - Interface that needs to be implemented and registered with the generic RMAN Resource Registry that are called to manage corresponding IRES resources.

#include <ti/xdais/ires_common.h>
Include dependency graph for iresman.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct | IRESMAN_Params
Configuration Parameters required by the Resource Manager implementation. These can be extended by individual resource managers if required. More...
struct | IRESMAN_Fxns

Typedefs

typedef Bool( | IRESMAN_PersistentAllocFxn )(IALG_MemRec *memTab, Int numRecs)
Memory allocation function for all of ResMan and other IRES protocol's memory requirements.
typedef Void( | IRESMAN_PersistentFreeFxn )(IALG_MemRec *memTab, Int numRecs)
Memory free functions for all of ResMan and other IRES protocol's memory requirements.
typedef struct IRESMAN_Params | IRESMAN_Params
Configuration Parameters required by the Resource Manager implementation. These can be extended by individual resource managers if required.
typedef struct IRESMAN_Fxns | IRESMAN_Fxns


Framework Components Application Programming Interface (API): iresman_edma3Chan.h File Reference

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • edma3chan
Functions | Data Structures | Typedefs | Variables

iresman_edma3Chan.h File Reference

Detailed Description

IRESMAN EDMA3 specific Resource Manager Definitions - EDMA3 resource manager implementation.

#include <ti/sdo/fc/ires/iresman.h>
#include <ti/sdo/fc/ires/iresman_protocol.h>
#include "iresman_protocol_edma3Chan.h"
Include dependency graph for iresman_edma3Chan.h:

Go to the source code of this file.

Functions

String | IRESMAN_EDMA3CHAN_getProtocolName ()
Function to return the name of the protocol.
IRES_ProtocolRevision * IRESMAN_EDMA3CHAN_getProtocolRevision ()
Function to return the revision of the protocol.
IRES_Status | IRESMAN_EDMA3CHAN_init (IRESMAN_Params *initArgs)
Function to initialize the device specific resource manager implementation.
IRES_Status IRESMAN_EDMA3CHAN_exit ()
Function called when RESMAN is no longer needed. Use it to free memory allocated etc.
IRES_Handle | IRESMAN_EDMA3CHAN_getHandles (IALG_Handle algHandle, IRES_ResourceDescriptor *resDesc, Int scratchGroupId, IRES_Status *status)
Function that returns the IRES_Handle to the resource requested using the IRES_ResourceProtocolArgs.
IRES_Status | IRESMAN_EDMA3CHAN_freeHandle (IALG_Handle algHandle, IRES_Handle algResourceHandle, IRES_ResourceDescriptor *resDesc, Int scratchGroupId)
Frees handles back to the resource pool.

Data Structures

struct | IRESMAN_Edma3ChanParams
Configuration parameters for Edma3Chan resman implementation. More...

Typedefs

typedef struct
IRESMAN_Edma3ChanParams 		IRESMAN_Edma3ChanParams
Configuration parameters for Edma3Chan resman implementation.

Variables

__FAR__ IRESMAN_PersistentAllocFxn | _RMAN_allocPersistent
Memory allocation functions for all of RMANs and other IRES rotocol's memory requirements.
__FAR__ IRESMAN_PersistentFreeFxn | _RMAN_freePersistent
Memory free functions for all of RMANs and other IRES protocol's memory requirements.
IRESMAN_Fxns IRESMAN_EDMA3CHAN
IRES RESMAN implementation for EDMA3 Linked transfers.


Framework Components Application Programming Interface (API): iresman_hdvicp.h File Reference

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • hdvicp
Functions | Defines | Data Structures | Typedefs | Variables

iresman_hdvicp.h File Reference

Detailed Description

IRESMAN.

#include <ti/sdo/fc/ires/iresman.h>
Include dependency graph for iresman_hdvicp.h:

Go to the source code of this file.

Functions

String | IRESMAN_HDVICP_getProtocolName ()
Function to return the name of the protocol.
IRES_ProtocolRevision * IRESMAN_HDVICP_getProtocolRevision ()
Function to return the revision of the protocol.
IRES_Status | IRESMAN_HDVICP_init (IRESMAN_Params *initArgs)
Function to initialize the device specific resource manager implementation.
IRES_Status IRESMAN_HDVICP_exit ()
Function called when RESMAN is no longer needed. Use it to free memory allocated etc.
IRES_Handle | IRESMAN_HDVICP_getHandles (IALG_Handle algHandle, IRES_ResourceDescriptor *resDesc, Int scratchGroupId, IRES_Status *status)
Function that returns the IRES_Handle to the resource requested using the IRES_ResourceProtocolArgs.
IRES_Status | IRESMAN_HDVICP_freeHandles (IALG_Handle algHandle, IRES_Handle algResourceHandle, IRES_ResourceDescriptor *resDesc, Int scratchGroupId)
Frees handles back to the resource pool.

Defines

#define | IRES_HDVICP_MAXRESOURCES 10

Data Structures

struct | IRESMAN_HdVicpParams

Typedefs

typedef struct IRESMAN_HdVicpParams | IRESMAN_HdVicpParams

Variables

__FAR__ IRESMAN_PersistentAllocFxn | _RMAN_allocPersistent
Memory allocation functions for all of RMANs and other IRES protocol's memory requirements.
__FAR__ IRESMAN_PersistentFreeFxn | _RMAN_freePersistent
Memory free functions for all of RMANs and other IRES protocol's memory requirements.
IRESMAN_Fxns IRESMAN_HDVICP
IRES RESMAN implementation for HDVICP.


Framework Components Application Programming Interface (API): iresman_protocol.h File Reference

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
Data Structures

iresman_protocol.h File Reference

Detailed Description

IRES Resource Protocol Definitions (C64P) - IRES Resource specific protocol interface to construct logical handles. This interface is exposed only to IRESMAN.

#include <ti/xdais/ires_common.h>
Include dependency graph for iresman_protocol.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct | IRESMAN_ConstructArgs
Abstract Protocol Construct Arguments structure/pointer definition. Arguments passed by the Resource manager to request a resource from a specific IRES Protocol will extend and supply the concrete definition. More...
struct | IRESMAN_ConstructFxns
These functions are used to determine memory requirements for and initialize the IRES protocol's environment that will be allocated by the resource manager. More...

Typedefs

typedef struct
IRESMAN_ConstructArgs 		IRESMAN_ConstructArgs
Abstract Protocol Construct Arguments structure/pointer definition. Arguments passed by the Resource manager to request a resource from a specific IRES Protocol will extend and supply the concrete definition.
typedef struct
IRESMAN_ConstructFxns 		IRESMAN_ConstructFxns
These functions are used to determine memory requirements for and initialize the IRES protocol's environment that will be allocated by the resource manager.


Framework Components Application Programming Interface (API): iresman_sdma.h File Reference

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • sdma
Functions | Data Structures | Typedefs | Variables

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.

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_ResourceDescriptor *resDesc, 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_ResourceDescriptor *resDesc, Int scratchGroupId)
Frees handles back to the resource pool.

Data Structures

struct | IRESMAN_SdmaParams
Initialization arguments for the SDMA specific resource manager. More...

Typedefs

typedef struct IRESMAN_SdmaParams | IRESMAN_SdmaParams
Initialization arguments for the SDMA specific resource manager.

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 Application Programming Interface (API): iresman_tiledmemory.h File Reference

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • tiledmemory
Functions | Defines | Data Structures | Typedefs | Variables

iresman_tiledmemory.h File Reference

Detailed Description

IRESMAN.

#include <ti/sdo/fc/ires/iresman.h>
Include dependency graph for iresman_tiledmemory.h:

Go to the source code of this file.

Functions

String | IRESMAN_TILEDMEMORY_getProtocolName ()
Function to return the name of the protocol.
IRES_ProtocolRevision * IRESMAN_TILEDMEMORY_getProtocolRevision ()
Function to return the revision of the protocol.
IRES_Status | IRESMAN_TILEDMEMORY_init (IRESMAN_Params *initArgs)
Function to initialize the device specific resource manager implementation.
IRES_Status IRESMAN_TILEDMEMORY_exit ()
Function called when RESMAN is no longer needed. Use it to free memory allocated etc.
IRES_Handle | IRESMAN_TILEDMEMORY_getHandles (IALG_Handle algHandle, IRES_ResourceDescriptor *resDesc, Int scratchGroupId, IRES_Status *status)
Function that returns the IRES_Handle to the resource requested using the IRES_ResourceProtocolArgs.
IRES_Status | IRESMAN_TILEDMEMORY_freeHandles (IALG_Handle algHandle, IRES_Handle algResourceHandle, IRES_ResourceDescriptor *resDesc, Int scratchGroupId)
Frees handles back to the resource pool.

Defines

#define | IRES_TILEDMEMORY_MAXRESOURCES 10

Data Structures

struct | IRESMAN_TiledmemoryParams

Typedefs

typedef struct
IRESMAN_TiledmemoryParams 		IRESMAN_TiledmemoryParams

Variables

__FAR__ IRESMAN_PersistentAllocFxn | _RMAN_allocPersistent
Memory allocation functions for all of RMANs and other IRES protocol's memory requirements.
__FAR__ IRESMAN_PersistentFreeFxn | _RMAN_freePersistent
Memory free functions for all of RMANs and other IRES protocol's memory requirements.
IRESMAN_Fxns IRESMAN_TILEDMEMORY
IRES RESMAN implementation for TILEDMEMORY.


Framework Components Application Programming Interface (API): iresman_vicp.h File Reference

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • vicp
Functions | Data Structures | Typedefs | Variables

iresman_vicp.h File Reference

Detailed Description

IRESMAN.

#include <ti/sdo/fc/ires/iresman.h>
Include dependency graph for iresman_vicp.h:

Go to the source code of this file.

Functions

String | IRESMAN_VICP_getProtocolName ()
Function to return the name of the protocol.
IRES_ProtocolRevision * IRESMAN_VICP_getProtocolRevision ()
Function to return the revision of the protocol.
IRES_Status | IRESMAN_VICP_init (IRESMAN_Params *initArgs)
Function to initialize the device specific resource manager implementation.
IRES_Status IRESMAN_VICP_exit ()
Function called when RESMAN is no longer needed. Use it to free memory allocated etc.
IRES_Handle | IRESMAN_VICP_getHandles (IALG_Handle algHandle, IRES_ResourceDescriptor *resDesc, Int scratchGroupId, IRES_Status *status)
Function that returns the IRES_Handle to the resource requested using the IRES_ResourceProtocolArgs.
IRES_Status | IRESMAN_VICP_freeHandles (IALG_Handle algHandle, IRES_Handle algResourceHandle, IRES_ResourceDescriptor *resDesc, Int scratchGroupId)
Frees handles back to the resource pool.

Data Structures

struct | IRESMAN_VicpParams

Typedefs

typedef struct IRESMAN_VicpParams | IRESMAN_VicpParams

Variables

__FAR__ IRESMAN_PersistentAllocFxn | _RMAN_allocPersistent
Memory allocation functions for all of RMANs and other IRES protocol's memory requirements.
__FAR__ IRESMAN_PersistentFreeFxn | _RMAN_freePersistent
Memory free functions for all of RMANs and other IRES protocol's memory requirements.
IRESMAN_Fxns IRESMAN_VICP
IRES RESMAN implementation for VICP.


Framework Components Application Programming Interface (API): iresman_vicp2.h File Reference

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • vicp
Functions | Data Structures | Typedefs | Variables

iresman_vicp2.h File Reference

Detailed Description

IRESMAN.

#include <ti/sdo/fc/ires/iresman.h>
Include dependency graph for iresman_vicp2.h:

Go to the source code of this file.

Functions

String | IRESMAN_VICP2_getProtocolName ()
Function to return the name of the protocol.
IRES_ProtocolRevision * IRESMAN_VICP2_getProtocolRevision ()
Function to return the revision of the protocol.
IRES_Status | IRESMAN_VICP2_init (IRESMAN_Params *initArgs)
Function to initialize the device specific resource manager implementation.
IRES_Status IRESMAN_VICP2_exit ()
Function called when RESMAN is no longer needed. Use it to free memory allocated etc.
IRES_Handle | IRESMAN_VICP2_getHandles (IALG_Handle algHandle, IRES_ResourceDescriptor *resDesc, Int scratchGroupId, IRES_Status *status)
Function that returns the IRES_Handle to the resource requested using the IRES_ResourceProtocolArgs.
IRES_Status | IRESMAN_VICP2_freeHandles (IALG_Handle algHandle, IRES_Handle algResourceHandle, IRES_ResourceDescriptor *resDesc, Int scratchGroupId)
Frees handles back to the resource pool.

Data Structures

struct | IRESMAN_VicpParams

Typedefs

typedef struct IRESMAN_VicpParams | IRESMAN_VicpParams

Variables

__FAR__ IRESMAN_PersistentAllocFxn | _RMAN_allocPersistent
Memory allocation functions for all of RMANs and other IRES protocol's memory requirements.
__FAR__ IRESMAN_PersistentFreeFxn | _RMAN_freePersistent
Memory free functions for all of RMANs and other IRES protocol's memory requirements.
IRESMAN_Fxns IRESMAN_VICP2
IRES RESMAN implementation for VICP.


Framework Components Application Programming Interface (API): memutils.h File Reference

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • memutils
Functions | Defines

memutils.h File Reference

Detailed Description

MEMUTILS Interface Definitions - Memory and Cache related APIs.

Go to the source code of this file.

Functions

Void | MEMUTILS_cacheInv (Ptr addr, Int sizeInBytes)
Invalidate a range of cache.
Void | MEMUTILS_cacheWb (Ptr addr, Int sizeInBytes)
Write back cache.
Void | MEMUTILS_cacheWbInv (Ptr addr, Int sizeInBytes)
Write back and invalidate cache.
Void * | MEMUTILS_getPhysicalAddr (Ptr addr)
Obtain physical (hardware specific) address.

Defines

#define | MEMUTILS_MODNAME "ti.sdo.fc.memutils"
Name used to identify the module for setting xdc.runtime.Diags masks.


Framework Components Application Programming Interface (API): RcmClient.h File Reference

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • rcm
Functions | Defines | Data Structures | Typedefs

RcmClient.h File Reference

Detailed Description

Remote Command Message Client Module. An RcmClient is used for sending messages to an RcmServer for processing.

See also:
RcmServer.h
RCM Overview
#include <xdc/runtime/knl/GateThread.h>
Include dependency graph for RcmClient.h:

Go to the source code of this file.

Functions

Int | RcmClient_acquireJobId (RcmClient_Handle handle, UInt16 *jobId)
Get a job id from the server.
Int | RcmClient_addSymbol (RcmClient_Handle handle, String name, Fxn addr, UInt32 *index)
Add a symbol and its address to the server table.
Int | RcmClient_alloc (RcmClient_Handle handle, UInt32 dataSize, RcmClient_Message **message)
Allocate a message from the heap configured for this instance.
Int | RcmClient_checkForError (RcmClient_Handle handle, RcmClient_Message **returnMsg)
Check if an error message has been returned from the server.
Int | RcmClient_construct (RcmClient_Struct *structPtr, String server, const RcmClient_Params *params)
Initialize a new instance object inside the provided structure.
Int | RcmClient_create (String server, const RcmClient_Params *params, RcmClient_Handle *handle)
Create an RcmClient instance.
Int | RcmClient_delete (RcmClient_Handle *handlePtr)
Delete an RcmClient instance.
Int | RcmClient_destruct (RcmClient_Struct *structPtr)
Finalize the instance object inside the provided structure.
Int | RcmClient_exec (RcmClient_Handle handle, RcmClient_Message *cmdMsg, RcmClient_Message **returnMsg)
Execute a command message on the server.
Int | RcmClient_execAsync (RcmClient_Handle handle, RcmClient_Message *cmdMsg, RcmClient_CallbackFxn callback, Ptr appData)
Execute a command message and use a callback for notification.
Int | RcmClient_execCmd (RcmClient_Handle handle, RcmClient_Message *cmdMsg)
Execute a one-way command message on the server.
Int | RcmClient_execDpc (RcmClient_Handle handle, RcmClient_Message *cmdMsg, RcmClient_Message **returnMsg)
Execute a deferred procedure call on the server.
Int | RcmClient_execNoWait (RcmClient_Handle handle, RcmClient_Message *cmdMsg, UInt16 *msgId)
Submit a command message to the server and return immediately.
Void | RcmClient_exit (Void)
Finalize the RcmClient module.
Int | RcmClient_free (RcmClient_Handle handle, RcmClient_Message *msg)
Free the given message.
Int | RcmClient_getSymbolIndex (RcmClient_Handle handle, String name, UInt32 *index)
Return the function index from the server.
Void | RcmClient_init (Void)
Initialize the RcmClient module.
Void | RcmClient_Params_init (RcmClient_Params *params)
Initialize the instance create params structure.
Int | RcmClient_releaseJobId (RcmClient_Handle handle, UInt16 jobId)
Return a job id to the server and release all resources.
Int | RcmClient_removeSymbol (RcmClient_Handle handle, String name)
Remove a symbol and from the server function table.
Int | RcmClient_waitUntilDone (RcmClient_Handle handle, UInt16 msgId, RcmClient_Message **returnMsg)
Block until the specified message has been executed.

Defines

#define | RcmClient_S_SUCCESS (0)
Success return code.
#define | RcmClient_E_FAIL (-1)
General failure return code.
#define | RcmClient_E_EXECASYNCNOTENABLED (-2)
The client has not been configured for asynchronous notification.
#define | RcmClient_E_EXECFAILED (-3)
The client was unable to send the command message to the server.
#define | RcmClient_E_INVALIDHEAPID (-4)
A heap id must be provided in the create params.
#define | RcmClient_E_INVALIDFXNIDX (-5)
Invalid function index.
#define | RcmClient_E_MSGFXNERROR (-6)
Message function error.
#define | RcmClient_E_IPCERROR (-7)
An unknown error has been detected from the IPC layer.
#define | RcmClient_E_LISTCREATEFAILED (-8)
Failed to create the list object.
#define | RcmClient_E_LOSTMSG (-9)
The expected reply message from the server was lost.
#define | RcmClient_E_MSGALLOCFAILED (-10)
Insufficient memory to allocate a message.
#define | RcmClient_E_MSGQCREATEFAILED (-11)
The client message queue could not be created.
#define | RcmClient_E_MSGQOPENFAILED (-12)
The server message queue could not be opened.
#define | RcmClient_E_SERVERERROR (-13)
The server returned an unknown error code.
#define | RcmClient_E_SERVERNOTFOUND (-14)
The server specified in the create params was not found.
#define | RcmClient_E_SYMBOLNOTFOUND (-15)
The given symbol was not found in the server symbol table.
#define | RcmClient_E_NOMEMORY (-16)
There is insufficient memory left in the heap.
#define | RcmClient_E_JOBIDNOTFOUND (-17)
The given job id was not found on the server.
#define | RcmClient_INVALIDFXNIDX ((UInt32)(0xFFFFFFFF))
Invalid function index.
#define | RcmClient_INVALIDHEAPID ((UInt16)(0xFFFF))
Invalid heap id.
#define | RcmClient_INVALIDMSGID (0)
Invalid message id.
#define | RcmClient_DEFAULTPOOLID ((UInt16)(0x8000))
Default worker pool id.
#define | RcmClient_DISCRETEJOBID (0)
Invalid job stream id.

Data Structures

struct | RcmClient_Message
Remote Command Message structure. More...
struct | RcmClient_Params
Instance create parameters. More...
struct | RcmClient_Struct
Opaque client structure large enough to hold an instance object. More...

Typedefs

typedef struct
RcmClient_Object_tag * 		RcmClient_Handle
RcmClient instance object handle.
typedef Void(* | RcmClient_CallbackFxn )(RcmClient_Message *, Ptr)
Callback function type.


Framework Components Application Programming Interface (API): RcmServer.h File Reference

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • rcm
Functions | Defines | Data Structures | Typedefs

RcmServer.h File Reference

Detailed Description

Remote Command Message Server Module. An RcmServer processes inbound messages received from an RcmClient.

The RcmServer processes inbound messages received from an RcmClient. After processing a message, the server will return the message to the client.

See also:
RcmClient.h
RCM Overview
#include <xdc/runtime/knl/GateThread.h>
#include <xdc/runtime/knl/Thread.h>
Include dependency graph for RcmServer.h:

Go to the source code of this file.

Functions

Int | RcmServer_addSymbol (RcmServer_Handle handle, String name, RcmServer_MsgFxn addr, UInt32 *index)
Add a symbol to the server's function table.
Int | RcmServer_construct (RcmServer_Struct *structPtr, String name, const RcmServer_Params *params)
Initialize a new instance object inside the provided structure.
Int | RcmServer_create (String name, RcmServer_Params *params, RcmServer_Handle *handle)
Create an RcmServer instance.
Int | RcmServer_delete (RcmServer_Handle *handlePtr)
Delete an RcmServer instance.
Int | RcmServer_destruct (RcmServer_Struct *structPtr)
Finalize the instance object inside the provided structure.
Void | RcmServer_exit (Void)
Finalize the RcmServer module.
Void | RcmServer_init (Void)
Initialize the RcmServer module.
Void | RcmServer_Params_init (RcmServer_Params *params)
Initialize the instance create params structure.
Int | RcmServer_removeSymbol (RcmServer_Handle handle, String name)
Remove a symbol and from the server's function table.
Int | RcmServer_start (RcmServer_Handle handle)
Start the server.

Defines

#define | RcmServer_S_SUCCESS (0)
Success return code.
#define | RcmServer_E_FAIL (-1)
General failure return code.
#define | RcmServer_E_NOMEMORY (-2)
The was insufficient memory left on the heap.
#define | RcmServer_E_SYMBOLNOTFOUND (-3)
The given symbol was not found in the server's symbol table.
#define | RcmServer_E_SYMBOLSTATIC (-4)
The given symbols is in the static table, it cannot be removed.
#define | RcmServer_E_SYMBOLTABLEFULL (-5)
The server's symbol table is full.

Data Structures

struct | RcmServer_FxnDesc
Function descriptor. More...
struct | RcmServer_FxnDescAry
Function descriptor array. More...
struct | RcmServer_ThreadPoolDesc
Worker pool descriptor. More...
struct | RcmServer_ThreadPoolDescAry
Worker pool descriptor array. More...
struct | RcmServer_Params
RcmServer Instance create parameters. More...
struct | RcmServer_Struct
Opaque client structure large enough to hold an instance object. More...

Typedefs

typedef Int32(* | RcmServer_MsgFxn )(UInt32, UInt32 *)
Remote function type.
typedef struct
RcmServer_Object_tag * 		RcmServer_Handle
RcmServer instance object handle.


Framework Components Application Programming Interface (API): rman.h File Reference

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • rman
Functions | Defines | Data Structures | Typedefs | Variables

rman.h File Reference

Detailed Description

IRES generic Resource Manager RMAN Definitions - Generic Resource Manager that manages resource allocation for algorithms that implement the IRES interface.

#include <ti/xdais/ires.h>
#include <ti/sdo/fc/ires/iresman.h>
Include dependency graph for rman.h:

Go to the source code of this file.

Functions

IRES_Status | RMAN_init (Void)
Initialize the RMAN object with static information from the headers/configuration etc. This function has to return successfully before the other APIs are called.
IRES_Status | RMAN_exit (Void)
Delete the generic IRES RMAN and release memory back.
IRES_Status | RMAN_register (IRESMAN_Fxns *resmanFxns, IRESMAN_Params *initArgs)
Register the protocol/protocol revision and the device specific resource manager implementation with the Resource Registry of the RMAN.
IRES_Status | RMAN_unregister (IRESMAN_Fxns *resmanFxns)
Unregister the protocol and the corresponding resource manager implementation from the Resource Registry.
IRES_Status | RMAN_assignResources (IALG_Handle algHandle, IRES_Fxns *resFxns, Int scratchGroupId)
Assign resources to the algorithm indicated by algHandle. The resource requirements can be determined by using the IRES_Fxns implementation.
IRES_Status | RMAN_allocateResources (Int requestId, IRES_ResourceDescriptor *resDesc, Int numResources, Int scratchGroupId)
Directly allocate IRES resources by client without implementing IRES_Fxns.
IRES_Status | RMAN_freeResources (IALG_Handle algHandle, IRES_Fxns *resFxns, Int scratchGroupId)
Free resources held by the algorithm resource handle.
IRES_Status | RMAN_freeAllocatedResources (Int requestId, IRES_ResourceDescriptor *resDesc, Int numResources, Int scratchGroupId)
Free resources held by the algorithm resource handle.
IRES_Status | RMAN_activateResource (IALG_Handle algHandle, IRES_Handle resourceHandle, IRES_Fxns *resFxns, Int scratchGroupId)
Activate resource identified by the resourceHandle held by the algorithm.
IRES_Status | RMAN_activateAllResources (IALG_Handle algHandle, IRES_Fxns *resFxns, Int scratchGroupId)
Activate all resources held by the algorithm.
IRES_Status | RMAN_deactivateResource (IALG_Handle algHandle, IRES_Handle resourceHandle, IRES_Fxns *resFxns, Int scratchGroupId)
Deactivate resource identified by the resourceHandle held by the algorithm.
IRES_Status | RMAN_deactivateAllResources (IALG_Handle algHandle, IRES_Fxns *resFxns, Int scratchGroupId)
Deactivate all resources held by the algorithm.
void | RMAN_yield (IRES_YieldResourceType resource, IRES_YieldContextHandle algYieldContext, IRES_YieldArgs yieldArgs)
Yield function specifically for use when DSKT2 based algorithms need cooperative preemption and multi-tasking support This function is called by the algorithm at pre-determined points during its execution, to allow another algorithm of same, or higher prioirty to preempt its execution.

Defines

#define | ti_sdo_fc_ires_NOPROTOCOLREV
#define | RMAN_MODNAME "ti.sdo.fc.rman"
Name to pass to Diags_setMask() to enable logging for RMAN functions. For example, Diags_setMask(RMAN_MODNAME"+EX1234567"); turns on all Log statements in this module. Diags_setMask() must be called after initialization to take effect.
#define | RMAN_GTNAME "ti.sdo.fc.rman"
Name used to identify the GT module.
#define | RMAN_PROTOCOLNAMESIZE 200
Size of the Protocol Name in the Resource Registry Table.

Data Structures

struct | RMAN_Params
The module configuration structure for RMAN. It is set at design time by the system integrator to register the specific Resource Managers(IRESMAN implementations). More...

Typedefs

typedef struct Sem_Obj * | RMAN_SemHandle
Declare abstract handle for Semaphore object.
typedef struct RMAN_Params | RMAN_Params
The module configuration structure for RMAN. It is set at design time by the system integrator to register the specific Resource Managers(IRESMAN implementations).

Variables

__FAR__ RMAN_Params | RMAN_PARAMS
Initialization parameters for the generic Resource Manager.
__FAR__ IRESMAN_Fxns * | RMAN_TABLE []
RMAN Table to hold IRESMAN registrations.
__FAR__ short | RMAN_FREE_ENTRIES []
Free Table to hold entries freed from RMAN Table.
__FAR__ short | RMAN_numRegistryEntries
Number of entries statically configured for the Resource Registry table. Set this variable to zero if no static configuration is required.
__FAR__ IRESMAN_Fxns ** | RMAN_registryEntries
To allow for static configuration of the Resource Registry table this can be set to a valid configuration table or to NULL. Set this variable to NULL if no static configuration is required.
__FAR__ IRESMAN_Params ** | RMAN_registryResmanArgs
Initialization arguments for the entries to be registered Set this variable to NULL if no static configuration is required.
__FAR__ unsigned int ** | RMAN_iresVTable
Table that holds the mapping from algorithms IALG_Fxns to IRES_Fxns.

Define Documentation

#define ti_sdo_fc_ires_NOPROTOCOLREV


Framework Components Application Programming Interface (API): scpy.h File Reference

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • scpy
Functions | Defines | Data Structures | Typedefs

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.

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.

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

Data Structures

struct | SCPY_AddrParams
Parameters of Address (source or destination) of transfer. More...
struct | SCPY_TransferParams
Details of Transfer. More...
struct | SCPY_Params

Typedefs

typedef struct SCPY_AddrParams | SCPY_AddrParams
Parameters of Address (source or destination) of transfer.
typedef struct SCPY_TransferParams | SCPY_TransferParams
Details of Transfer.
typedef struct SCPY_Params | SCPY_Params


Framework Components Application Programming Interface (API): vicpsync.h File Reference

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • vicpsync
Functions | Defines | Data Structures | Typedefs | Enumerations | Variables

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.

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.

Defines

#define | VICPSYNC_GTNAME "ti.sdo.fc.vicpsync"

Data Structures

struct | VICPSYNC_Params
The module configuration structure for VICPSYNC implementation. More...

Typedefs

typedef struct VICPSYNC_Params | VICPSYNC_Params
The module configuration structure for VICPSYNC implementation.
typedef enum VICPSYNC_ResourceType | VICPSYNC_ResourceType
Resource types for which the API can be called.
typedef enum VICPSYNC_InterruptLine | VICPSYNC_InterruptLine
Interrupt line that can be specified for each Resource type.
typedef enum VICPSYNC_InterruptType | VICPSYNC_InterruptType
Interrupt type that can be specified for each Resource type.
typedef enum VICPSYNC_Status | VICPSYNC_Status

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
}

Variables

VICPSYNC_Params VICPSYNC_PARAMS
Default module configuration structure (defined in vicpsync.c)


Framework Components Application Programming Interface (API): xdas.h File Reference

  • File List
  • Globals
  • fctools
  • packages
  • ti
  • xdais
Defines | Typedefs

xdas.h File Reference

Detailed Description

This header defines all types and constants used in the XDAS interfaces.

Remarks:
The types are mapped to the types defined in std.h.
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define | XDAS_TRUE 1
#define | XDAS_FALSE 0

Typedefs

typedef Void | XDAS_Void
typedef Uint8 | XDAS_Bool
typedef Int8 | XDAS_Int8
typedef Uint8 | XDAS_UInt8
typedef Int16 | XDAS_Int16
typedef Uint16 | XDAS_UInt16
typedef Int32 | XDAS_Int32
typedef Uint32 | XDAS_UInt32


Framework Components Application Programming Interface (API): Directory Hierarchy

Directories

This directory hierarchy is sorted roughly, but not completely, alphabetically:
  • fctools
    • packages
      • ti
        • xdais
  • packages
    • ti
      • sdo
        • fc
          • acpy3
          • dman3
          • dskt2
          • ecpy
          • hdintc
          • hdvicpsync
          • ires
            • edma3chan
            • hdvicp
            • sdma
            • tiledmemory
            • vicp
          • memutils
          • rman
          • scpy
          • vicpsync
        • rcm


Framework Components Application Programming Interface (API): fctools/ Directory Reference

  • fctools

fctools Directory Reference

Directory dependency graph for fctools/:

Directories

directory packages


Framework Components Application Programming Interface (API): fctools/packages/ Directory Reference

  • fctools
  • packages

packages Directory Reference

Directory dependency graph for fctools/packages/:

Directories

directory ti


Framework Components Application Programming Interface (API): fctools/packages/ti/ Directory Reference

  • fctools
  • packages
  • ti

ti Directory Reference

Directory dependency graph for fctools/packages/ti/:

Directories

directory xdais


Framework Components Application Programming Interface (API): fctools/packages/ti/xdais/ Directory Reference

  • fctools
  • packages
  • ti
  • xdais

xdais Directory Reference

Directory dependency graph for fctools/packages/ti/xdais/:

Files

file | ialg.h [code]

This header defines all types, constants, and functions defined by XDAIS for algorithms.

file | idma3.h [code]

IDMA3 Interface Definitions - 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 Application Programming Interface (API): packages/ Directory Reference

  • packages

packages Directory Reference

Directory dependency graph for packages/:

Directories

directory ti


Framework Components Application Programming Interface (API): packages/ti/ Directory Reference

  • packages
  • ti

ti Directory Reference

Directory dependency graph for packages/ti/:

Directories

directory sdo


Framework Components Application Programming Interface (API): packages/ti/sdo/ Directory Reference

  • packages
  • ti
  • sdo

sdo Directory Reference

Directory dependency graph for packages/ti/sdo/:

Directories

directory | fc
directory | rcm


Framework Components Application Programming Interface (API): packages/ti/sdo/fc/ Directory Reference

  • packages
  • ti
  • sdo
  • fc

fc Directory Reference

Directory dependency graph for packages/ti/sdo/fc/:

Directories

directory | acpy3
directory | dman3
directory | dskt2
directory | ecpy
directory | hdintc
directory | hdvicpsync
directory | ires
directory | memutils
directory | rman
directory | scpy
directory | vicpsync


Framework Components Application Programming Interface (API): packages/ti/sdo/fc/acpy3/ Directory Reference

  • packages
  • ti
  • sdo
  • fc
  • acpy3

acpy3 Directory Reference

Directory dependency graph for packages/ti/sdo/fc/acpy3/:

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 Application Programming Interface (API): packages/ti/sdo/fc/dman3/ Directory Reference

  • packages
  • ti
  • sdo
  • fc
  • dman3

dman3 Directory Reference

Directory dependency graph for packages/ti/sdo/fc/dman3/:

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 Application Programming Interface (API): packages/ti/sdo/fc/dskt2/ Directory Reference

  • packages
  • ti
  • sdo
  • fc
  • dskt2

dskt2 Directory Reference

Directory dependency graph for packages/ti/sdo/fc/dskt2/:

Files

file | dskt2.h [code]

Provides services to support XDAIS algorithm instance objects.

file | dskt2_qos.h [code]


Framework Components Application Programming Interface (API): packages/ti/sdo/fc/ecpy/ Directory Reference

  • packages
  • ti
  • sdo
  • fc
  • ecpy

ecpy Directory Reference

Directory dependency graph for packages/ti/sdo/fc/ecpy/:

Files

file ecpy.h [code]

ECPY Definitions (C64P) - Functional DMA Library for use with the EDMA3 DMA peripheral. Provides a comprehensive list of DMA operations an algorithm can perform on logical DMA channels it acquires through the IRES_EDMA3CHAN2 protocol. ECPY library contains two sets of functions: direct and non-direct. The direct APIs are functions prefixed with 'ECPY_direct' and these are faster due to less state maintanence , fewer checks and lack of PaRAM shadowing for 1st transfer. As a result they are slightly harder to use requiring caller to ensure integrity of state, for example to make sure each ECPY_directStart is matched with exactly one ECPY_directWait, or to remember to re-configure first transfer following a linked transfer or single 3D transfer. The non-direct APIs are slightly easier to use and maintain state and persistence of 1st transfer's settings across transfers. It is important to *not* mix and match direct and non-direct functions for any given channel, as this may result in unexpected behavior.


Framework Components Application Programming Interface (API): packages/ti/sdo/fc/hdintc/ Directory Reference

  • packages
  • ti
  • sdo
  • fc
  • hdintc

hdintc Directory Reference

Directory dependency graph for packages/ti/sdo/fc/hdintc/:

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 Application Programming Interface (API): packages/ti/sdo/fc/hdvicpsync/ Directory Reference

  • packages
  • ti
  • sdo
  • fc
  • hdvicpsync

hdvicpsync Directory Reference

Directory dependency graph for packages/ti/sdo/fc/hdvicpsync/:

Files

file hdvicpsync.h [code]

HDVICPSYNC Interface Definitions - Framework support package for synchronization between codec and HDVICP coprocessor usage.


Framework Components Application Programming Interface (API): packages/ti/sdo/fc/ires/ Directory Reference

  • packages
  • ti
  • sdo
  • fc
  • ires

ires Directory Reference

Directory dependency graph for packages/ti/sdo/fc/ires/:

Directories

directory | edma3chan
directory | hdvicp
directory | sdma
directory | tiledmemory
directory | vicp

Files

file | iresman.h [code]

Device specific Resource Manager Interface Definitions IRESMAN - Interface that needs to be implemented and registered with the generic RMAN Resource Registry that are called to manage corresponding IRES resources.

file | iresman_protocol.h [code]

IRES Resource Protocol Definitions (C64P) - IRES Resource specific protocol interface to construct logical handles. This interface is exposed only to IRESMAN.


Framework Components Application Programming Interface (API): packages/ti/sdo/fc/ires/edma3chan/ Directory Reference

  • packages
  • ti
  • sdo
  • fc
  • ires
  • edma3chan

edma3chan Directory Reference

Directory dependency graph for packages/ti/sdo/fc/ires/edma3chan/:

Files

file | ires_edma3Chan.h [code]

IRES EDMA3CHAN PROTOCOL Interface Definitions - Allows algorithms to request and receive handles representing EDMA3 resources associated with a single EDMA3 channel.

file | iresman_edma3Chan.h [code]

IRESMAN EDMA3 specific Resource Manager Definitions - EDMA3 resource manager implementation.


Framework Components Application Programming Interface (API): packages/ti/sdo/fc/ires/hdvicp/ Directory Reference

  • packages
  • ti
  • sdo
  • fc
  • ires
  • hdvicp

hdvicp Directory Reference

Directory dependency graph for packages/ti/sdo/fc/ires/hdvicp/:

Files

file | ires_hdvicp.h [code]

IRES PROTOCOL HDVICP Interface Definitions - Allows algorithms to request and receive handles representing the HDVICP resource.

file | ires_hdvicp2.h [code]

IRES PROTOCOL HDVICP2 Interface Definitions (Beta) - Allows algorithms to request and receive handles representing the HDVICP2 resource.

file | iresman_hdvicp.h [code]

IRESMAN.


Framework Components Application Programming Interface (API): packages/ti/sdo/fc/ires/sdma/ Directory Reference

  • packages
  • ti
  • sdo
  • fc
  • ires
  • sdma

sdma Directory Reference

Directory dependency graph for packages/ti/sdo/fc/ires/sdma/:

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 Application Programming Interface (API): packages/ti/sdo/fc/ires/tiledmemory/ Directory Reference

  • packages
  • ti
  • sdo
  • fc
  • ires
  • tiledmemory

tiledmemory Directory Reference

Directory dependency graph for packages/ti/sdo/fc/ires/tiledmemory/:

Files

file | ires_tiledmemory.h [code]

IRES PROTOCOL TILEDMEMORY Interface Definitions (Beta) - Allows algorithms to request and receive handles representing the TILEDMEMORY resource.

file | iresman_tiledmemory.h [code]

IRESMAN.


Framework Components Application Programming Interface (API): packages/ti/sdo/fc/ires/vicp/ Directory Reference

  • packages
  • ti
  • sdo
  • fc
  • ires
  • vicp

vicp Directory Reference

Directory dependency graph for packages/ti/sdo/fc/ires/vicp/:

Files

file | ires_vicp.h [code]

IRES PROTOCOL VICP Interface Definitions - Allows algorithms to request and receive handles representing the VICP resource.

file | ires_vicp2.h [code]

IRES PROTOCOL VICP2 Interface Definitions - Allows algorithms to request and receive handles representing the VICP resource.

file | iresman_vicp.h [code]

IRESMAN.

file | iresman_vicp2.h [code]

IRESMAN.


Framework Components Application Programming Interface (API): packages/ti/sdo/fc/memutils/ Directory Reference

  • packages
  • ti
  • sdo
  • fc
  • memutils

memutils Directory Reference

Directory dependency graph for packages/ti/sdo/fc/memutils/:

Files

file memutils.h [code]

MEMUTILS Interface Definitions - Memory and Cache related APIs.


Framework Components Application Programming Interface (API): packages/ti/sdo/fc/rman/ Directory Reference

  • packages
  • ti
  • sdo
  • fc
  • rman

rman Directory Reference

Directory dependency graph for packages/ti/sdo/fc/rman/:

Files

file rman.h [code]

IRES generic Resource Manager RMAN Definitions - Generic Resource Manager that manages resource allocation for algorithms that implement the IRES interface.


Framework Components Application Programming Interface (API): packages/ti/sdo/fc/scpy/ Directory Reference

  • packages
  • ti
  • sdo
  • fc
  • scpy

scpy Directory Reference

Directory dependency graph for packages/ti/sdo/fc/scpy/:

Files

file scpy.h [code]

SCPY Module interface Definitions (C64P) - Allows algorithms submit and sychronize with SDMA transfers.


Framework Components Application Programming Interface (API): packages/ti/sdo/fc/vicpsync/ Directory Reference

  • packages
  • ti
  • sdo
  • fc
  • vicpsync

vicpsync Directory Reference

Directory dependency graph for packages/ti/sdo/fc/vicpsync/:

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 Application Programming Interface (API): packages/ti/sdo/rcm/ Directory Reference

  • packages
  • ti
  • sdo
  • rcm

rcm Directory Reference

Directory dependency graph for packages/ti/sdo/rcm/:

Files

file | RcmClient.h [code]

Remote Command Message Client Module. An RcmClient is used for sending messages to an RcmServer for processing.

file | RcmServer.h [code]

Remote Command Message Server Module. An RcmServer processes inbound messages received from an RcmClient.


Framework Components Application Programming Interface (API): Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • a
  • d
  • e
  • h
  • i
  • m
  • o
  • r
  • s
  • t
  • v
  • x
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- _ -

  • _RMAN_allocPersistent : iresman_edma3Chan.h , iresman_hdvicp.h , iresman_tiledmemory.h , iresman_vicp.h , iresman_sdma.h , iresman_vicp2.h
  • _RMAN_freePersistent : iresman_edma3Chan.h , iresman_sdma.h , iresman_vicp.h , iresman_vicp2.h , iresman_hdvicp.h , iresman_tiledmemory.h


Framework Components Application Programming Interface (API): RcmClient.h Source File

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • rcm

RcmClient.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2011, 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
00035 /*
00036  *  ======== RcmClient.h ========
00037  *
00038  */
00039
00238 #ifndef ti_sdo_rcm_RcmClient__include
00239 #define ti_sdo_rcm_RcmClient__include
00240
00241 #include <xdc/runtime/knl/GateThread.h>
00242
00243
00246
00247 #if defined (__cplusplus)
00248 extern "C" {
00249 #endif
00250
00251
00252 // -------- status codes --------
00253
00257 #define RcmClient_S_SUCCESS (0)
00258
00262 #define RcmClient_E_FAIL (-1)
00263
00271 #define RcmClient_E_EXECASYNCNOTENABLED (-2)
00272
00278 #define RcmClient_E_EXECFAILED (-3)
00279
00287 #define RcmClient_E_INVALIDHEAPID (-4)
00288
00296 #define RcmClient_E_INVALIDFXNIDX (-5)
00297
00305 #define RcmClient_E_MSGFXNERROR (-6)
00306
00312 #define RcmClient_E_IPCERROR (-7)
00313
00317 #define RcmClient_E_LISTCREATEFAILED (-8)
00318
00325 #define RcmClient_E_LOSTMSG (-9)
00326
00334 #define RcmClient_E_MSGALLOCFAILED (-10)
00335
00344 #define RcmClient_E_MSGQCREATEFAILED (-11)
00345
00353 #define RcmClient_E_MSGQOPENFAILED (-12)
00354
00361 #define RcmClient_E_SERVERERROR (-13)
00362
00372 #define RcmClient_E_SERVERNOTFOUND (-14)
00373
00380 #define RcmClient_E_SYMBOLNOTFOUND (-15)
00381
00385 #define RcmClient_E_NOMEMORY (-16)
00386
00394 #define RcmClient_E_JOBIDNOTFOUND (-17)
00395
00396
00397 // -------- constants and types --------
00398
00402 #define RcmClient_INVALIDFXNIDX ((UInt32)(0xFFFFFFFF))
00403
00407 #define RcmClient_INVALIDHEAPID ((UInt16)(0xFFFF))
00408
00412 #define RcmClient_INVALIDMSGID (0)
00413
00421 #define RcmClient_DEFAULTPOOLID ((UInt16)(0x8000))
00422
00429 #define RcmClient_DISCRETEJOBID (0)
00430
00434 typedef struct RcmClient_Object_tag *RcmClient_Handle;
00435
00442 typedef struct {
00450     UInt16      poolId;
00451
00459     UInt16      jobId;
00460
00464     UInt32      fxnIdx;
00465
00469     Int32       result;
00470
00477     UInt32      dataSize;
00478
00485     UInt32      data[1];
00486
00487 } RcmClient_Message;
00488
00497 typedef Void (*RcmClient_CallbackFxn)(RcmClient_Message *, Ptr);
00498
00502 typedef struct {
00510     UInt16 heapId;
00511
00525     Bool callbackNotification;
00526
00527 } RcmClient_Params;
00528
00536 typedef struct {
00537     xdc_runtime_knl_GateThread_Struct   _f1;
00538     Ptr                 _f2;
00539     Ptr                 _f3;
00540     UInt16              _f4;
00541     Ptr                 _f5;
00542     UInt32              _f6;
00543     Bool                _f7;
00544     UInt16              _f8;
00545     Ptr                 _f9;
00546     Ptr                 _f10;
00547     Ptr                 _f11;
00548     Ptr                 _f12;
00549 } RcmClient_Struct;
00550
00551
00552 // -------- functions --------
00553
00554 /*
00555  *  ======== RcmClient_acquireJobId ========
00556  */
00564 Int RcmClient_acquireJobId(
00565         RcmClient_Handle        handle,
00566         UInt16 *                jobId
00567     );
00568
00569 /*
00570  *  ======== RcmClient_addSymbol ========
00571  */
00596 Int RcmClient_addSymbol(
00597         RcmClient_Handle        handle,
00598         String                  name,
00599         Fxn                     addr,
00600         UInt32 *                index
00601     );
00602
00603 /*
00604  *  ======== RcmClient_alloc ========
00605  */
00633 Int RcmClient_alloc(
00634         RcmClient_Handle        handle,
00635         UInt32                  dataSize,
00636         RcmClient_Message **    message
00637     );
00638
00639 /*
00640  *  ======== RcmClient_checkForError ========
00641  */
00695 Int RcmClient_checkForError(
00696         RcmClient_Handle        handle,
00697         RcmClient_Message **    returnMsg
00698     );
00699
00700 /*
00701  *  ======== RcmClient_construct ========
00702  */
00720 Int RcmClient_construct(
00721         RcmClient_Struct *      structPtr,
00722         String                  server,
00723         const RcmClient_Params *params
00724     );
00725
00726 /*
00727  *  ======== RcmClient_create ========
00728  */
00748 Int RcmClient_create(
00749         String                  server,
00750         const RcmClient_Params *params,
00751         RcmClient_Handle *      handle
00752     );
00753
00754 /*
00755  *  ======== RcmClient_delete ========
00756  */
00762 Int RcmClient_delete(
00763         RcmClient_Handle *      handlePtr
00764     );
00765
00766 /*
00767  *  ======== RcmClient_destruct ========
00768  */
00775 Int RcmClient_destruct(
00776         RcmClient_Struct *      structPtr
00777     );
00778
00779 /*
00780  *  ======== RcmClient_exec ========
00781  */
00809 Int RcmClient_exec(
00810         RcmClient_Handle        handle,
00811         RcmClient_Message *     cmdMsg,
00812         RcmClient_Message **    returnMsg
00813     );
00814
00815 /*
00816  *  ======== RcmClient_execAsync ========
00817  */
00847 Int RcmClient_execAsync(
00848         RcmClient_Handle        handle,
00849         RcmClient_Message *     cmdMsg,
00850         RcmClient_CallbackFxn   callback,
00851         Ptr                     appData
00852     );
00853
00854 /*
00855  *  ======== RcmClient_execCmd ========
00856  */
00880 Int RcmClient_execCmd(
00881         RcmClient_Handle        handle,
00882         RcmClient_Message *     cmdMsg
00883     );
00884
00885 /*
00886  *  ======== RcmClient_execDpc ========
00887  */
00900 Int RcmClient_execDpc(
00901         RcmClient_Handle        handle,
00902         RcmClient_Message *     cmdMsg,
00903         RcmClient_Message **    returnMsg
00904     );
00905
00906 /*
00907  *  ======== RcmClient_execNoWait ========
00908  */
00931 Int RcmClient_execNoWait(
00932         RcmClient_Handle        handle,
00933         RcmClient_Message *     cmdMsg,
00934         UInt16 *                msgId
00935     );
00936
00937 /*
00938  *  ======== RcmClient_exit ========
00939  */
00949 Void RcmClient_exit(Void);
00950
00951 /*
00952  *  ======== RcmClient_free ========
00953  */
00961 Int RcmClient_free(
00962         RcmClient_Handle        handle,
00963         RcmClient_Message *     msg
00964     );
00965
00966 /*
00967  *  ======== RcmClient_getSymbolIndex ========
00968  */
00981 Int RcmClient_getSymbolIndex(
00982         RcmClient_Handle        handle,
00983         String                  name,
00984         UInt32 *                index
00985     );
00986
00987 /*
00988  *  ======== RcmClient_init ========
00989  */
00998 Void RcmClient_init(Void);
00999
01000 /*
01001  *  ======== RcmClient_Parmas_init ========
01002  */
01006 Void RcmClient_Params_init(
01007         RcmClient_Params *      params
01008     );
01009
01010 /*
01011  *  ======== RcmClient_releaseJobId ========
01012  */
01020 Int RcmClient_releaseJobId(
01021         RcmClient_Handle        handle,
01022         UInt16                  jobId
01023     );
01024
01025 /*
01026  *  ======== RcmClient_removeSymbol ========
01027  */
01037 Int RcmClient_removeSymbol(
01038         RcmClient_Handle        handle,
01039         String                  name
01040     );
01041
01042 /*
01043  *  ======== RcmClient_waitUntilDone ========
01044  */
01060 Int RcmClient_waitUntilDone(
01061         RcmClient_Handle        handle,
01062         UInt16                  msgId,
01063         RcmClient_Message **    returnMsg
01064     );
01065
01066
01067 #if defined (__cplusplus)
01068 }
01069 #endif /* defined (__cplusplus) */
01070
01073 #endif /* ti_sdo_rcm_RcmClient__include */
01074 /*
01075  *  @(#) ti.sdo.rcm; 2, 0, 0,184; 2-8-2011 15:08:35; /db/atree/library/trees/fc/fc-n26x/src/ xlibrary
01076
01077  */
01078


Framework Components Application Programming Interface (API): RcmServer.h Source File

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • rcm

RcmServer.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2011, 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
00035 /*
00036  *  ======== RcmServer.h ========
00037  *
00038  */
00039
00074 #ifndef ti_sdo_rcm_RcmServer__include
00075 #define ti_sdo_rcm_RcmServer__include
00076
00077 #include <xdc/runtime/knl/GateThread.h>
00078 #include <xdc/runtime/knl/Thread.h>
00079
00080
00083
00084 #if defined (__cplusplus)
00085 extern "C" {
00086 #endif
00087
00088
00089 // -------- success and failure codes --------
00090
00094 #define RcmServer_S_SUCCESS (0)
00095
00099 #define RcmServer_E_FAIL (-1)
00100
00104 #define RcmServer_E_NOMEMORY (-2)
00105
00112 #define RcmServer_E_SYMBOLNOTFOUND (-3)
00113
00121 #define RcmServer_E_SYMBOLSTATIC (-4)
00122
00129 #define RcmServer_E_SYMBOLTABLEFULL (-5)
00130
00131
00132 // -------- constants and types --------
00133
00149 typedef Int32 (*RcmServer_MsgFxn)(UInt32, UInt32 *);
00150
00159 typedef struct {
00167     String name;
00168
00174     RcmServer_MsgFxn addr;
00175
00176 } RcmServer_FxnDesc;
00177
00181 typedef struct {
00185     Int length;
00186
00190     RcmServer_FxnDesc *elem;
00191
00192 } RcmServer_FxnDescAry;
00193
00200 typedef struct {
00204     String name;
00205
00209     UInt count;
00210
00217     Thread_Priority priority;
00218
00226     Int osPriority;
00227
00231     SizeT stackSize;
00232
00236     String stackSeg;
00237
00238 } RcmServer_ThreadPoolDesc;
00239
00243 typedef struct {
00247     Int length;
00248
00252     RcmServer_ThreadPoolDesc *elem;
00253
00254 } RcmServer_ThreadPoolDescAry;
00255
00256
00260 typedef struct RcmServer_Object_tag *RcmServer_Handle;
00261
00265 typedef struct {
00275     Thread_Priority priority;
00276
00288     Int osPriority;
00289
00293     SizeT stackSize;
00294
00298     String stackSeg;
00299
00303     RcmServer_ThreadPoolDesc defaultPool;
00304
00314     RcmServer_ThreadPoolDescAry workerPools;
00315
00348     RcmServer_FxnDescAry fxns;
00349
00350 } RcmServer_Params;
00351
00359 typedef struct {
00360     GateThread_Struct   _f1;
00361     Ptr                 _f2;
00362     Ptr                 _f3;
00363     Ptr                 _f4;
00364     struct {
00365         Int     _f1;
00366         Ptr     _f2;
00367     }                   _f5;
00368     Ptr                 _f6[9];
00369     UInt16              _f7;
00370     UInt16              _f8;
00371     Bool                _f9;
00372     Int                 _f10;
00373     Ptr                 _f11[4];
00374     Ptr                 _f12;
00375 } RcmServer_Struct;
00376
00377
00378 // -------- functions --------
00379
00380 /*
00381  *  ======== RcmServer_addSymbol ========
00382  */
00402 Int RcmServer_addSymbol(
00403         RcmServer_Handle        handle,
00404         String                  name,
00405         RcmServer_MsgFxn        addr,
00406         UInt32 *                index
00407     );
00408
00409 /*
00410  *  ======== RcmServer_construct ========
00411  */
00434 Int RcmServer_construct(
00435         RcmServer_Struct *      structPtr,
00436         String                  name,
00437         const RcmServer_Params *params
00438     );
00439
00440 /*
00441  *  ======== RcmServer_create ========
00442  */
00463 Int RcmServer_create(
00464         String                  name,
00465         RcmServer_Params *      params,
00466         RcmServer_Handle *      handle
00467     );
00468
00469 /*
00470  *  ======== RcmServer_delete ========
00471  */
00477 Int RcmServer_delete(
00478         RcmServer_Handle *      handlePtr
00479     );
00480
00481 /*
00482  *  ======== RcmServer_destruct ========
00483  */
00490 Int RcmServer_destruct(
00491         RcmServer_Struct *      structPtr
00492     );
00493
00494 /*
00495  *  ======== RcmServer_exit ========
00496  */
00506 Void RcmServer_exit(Void);
00507
00508 /*
00509  *  ======== RcmServer_init ========
00510  */
00519 Void RcmServer_init(Void);
00520
00521 /*
00522  *  ======== RcmServer_Params_init ========
00523  */
00527 Void RcmServer_Params_init(
00528         RcmServer_Params *      params
00529     );
00530
00531 /*
00532  *  ======== RcmServer_removeSymbol ========
00533  */
00547 Int RcmServer_removeSymbol(
00548         RcmServer_Handle        handle,
00549         String                  name
00550     );
00551
00552 /*
00553  *  ======== RcmServer_start ========
00554  */
00566 Int RcmServer_start(
00567         RcmServer_Handle        handle
00568     );
00569
00570
00571 #if defined (__cplusplus)
00572 }
00573 #endif /* defined (__cplusplus) */
00574
00576 #endif /* ti_sdo_rcm_RcmServer__include */
00577 /*
00578  *  @(#) ti.sdo.rcm; 2, 0, 0,184; 2-8-2011 15:08:35; /db/atree/library/trees/fc/fc-n26x/src/ xlibrary
00579
00580  */
00581


Framework Components Application Programming Interface (API): 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) 2011, 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
00077 #define ACPY3_MODNAME "ti.sdo.fc.acpy3"
00078
00079
00085 typedef enum ACPY3_ParamField16b {
00086
00087     ACPY3_PARAMFIELD_ELEMENTSIZE =  8,
00088     ACPY3_PARAMFIELD_NUMELEMENTS = 10 ,
00089     ACPY3_PARAMFIELD_ELEMENTINDEX_SRC = 16,
00090     ACPY3_PARAMFIELD_ELEMENTINDEX_DST = 18,
00091     ACPY3_PARAMFIELD_FRAMEINDEX_SRC =  24,
00092     ACPY3_PARAMFIELD_FRAMEINDEX_DST =  26,
00093     ACPY3_PARAMFIELD_NUMFRAMES = 28
00094
00095 } ACPY3_ParamField16b;
00096
00102 typedef enum ACPY3_ParamField32b {
00103
00104     ACPY3_PARAMFIELD_SRCADDR = 4,
00105     ACPY3_PARAMFIELD_DSTADDR = 12,
00106     ACPY3_PARAMFIELD_ELEMENTINDEXES = 16,
00107     ACPY3_PARAMFIELD_FRAMEINDEXES = 24
00108
00109 } ACPY3_ParamField32b;
00110
00121 typedef enum ACPY3_TransferType {
00122
00128     ACPY3_1D1D,
00129
00143     ACPY3_1D2D,
00144
00156     ACPY3_2D1D,
00157
00169     ACPY3_2D2D
00170 } ACPY3_TransferType;
00171
00172
00177 typedef struct ACPY3_Params {
00178
00180     ACPY3_TransferType transferType;
00181
00183     Void *         srcAddr;
00184
00186     Void *         dstAddr;
00187
00189     unsigned short elementSize;
00190
00192     unsigned short numElements;
00193
00195     unsigned short numFrames ;
00196
00201     short srcElementIndex;
00202
00207     short dstElementIndex;
00208
00214     short srcFrameIndex;
00215
00221     short dstFrameIndex;
00222
00232     short waitId;
00233
00234 } ACPY3_Params;
00235
00236
00237 extern IDMA3_ProtocolObj ACPY3_PROTOCOL;
00238
00261 Void ACPY3_configure(IDMA3_Handle handle, ACPY3_Params *params,
00262     short transferNo);
00263
00264
00302 #if defined(ACPY3_FASTCONFIGURE16B_INLINE) || defined(ACPY3_INLINE_ALL)
00303 #include <ti/sdo/fc/acpy3/acpy3_fastconfigure16b.h>
00304 #else
00305 Void ACPY3_fastConfigure16b(IDMA3_Handle handle, ACPY3_ParamField16b fieldId,
00306     unsigned short value, short transferNo);
00307 #endif
00308
00348 #if defined(ACPY3_FASTCONFIGURE32B_INLINE) || defined(ACPY3_INLINE_ALL)
00349 #include <ti/sdo/fc/acpy3/acpy3_fastconfigure32b.h>
00350 #else
00351 Void ACPY3_fastConfigure32b(IDMA3_Handle handle, ACPY3_ParamField32b fieldId,
00352     Uns value, short transferNo);
00353 #endif
00354
00396 #if defined(ACPY3_SETFINAL_INLINE) || defined(ACPY3_INLINE_ALL)
00397 #include <ti/sdo/fc/acpy3/acpy3_setfinal.h>
00398 #else
00399 Void ACPY3_setFinal(IDMA3_Handle handle, short transferNo);
00400 #endif
00401
00445 #if defined(ACPY3_FASTSETFINAL_INLINE) || defined(ACPY3_INLINE_ALL)
00446 #include <ti/sdo/fc/acpy3/acpy3_fastsetfinal.h>
00447 #else
00448 Void ACPY3_fastSetFinal(IDMA3_Handle handle, short transferNo);
00449 #endif
00450
00496 #if defined(ACPY3_START_INLINE) || defined(ACPY3_INLINE_ALL)
00497 #include <ti/sdo/fc/acpy3/acpy3_start.h>
00498 #else
00499 Void ACPY3_start(IDMA3_Handle handle);
00500 #endif
00501
00502
00529 #if defined(ACPY3_WAIT_INLINE) || defined(ACPY3_INLINE_ALL)
00530 #include <ti/sdo/fc/acpy3/acpy3_wait.h>
00531 #else
00532 Void ACPY3_wait(IDMA3_Handle handle);
00533 #endif
00534
00535
00554 Void ACPY3_waitLinked(IDMA3_Handle handle, unsigned short waitId);
00555
00556
00587 #if defined(ACPY3_COMPLETE_INLINE) || defined(ACPY3_INLINE_ALL)
00588 #include <ti/sdo/fc/acpy3/acpy3_complete.h>
00589 #else
00590 Bool ACPY3_complete(IDMA3_Handle handle);
00591 #endif
00592
00593
00621 Bool ACPY3_completeLinked(IDMA3_Handle handle, unsigned short waitId);
00622
00623
00639 Void ACPY3_activate(IDMA3_Handle handle);
00640
00641
00656 Void ACPY3_deactivate(IDMA3_Handle handle);
00657
00658
00662 Void ACPY3_init(Void);
00663
00667 Void ACPY3_exit(Void);
00668
00669
00672 #ifdef __cplusplus
00673 }
00674 #endif /* extern "C" */
00675
00676
00677 #endif /* _ACPY3_ */
00678
00679 /*
00680  *  @(#) ti.sdo.fc.acpy3; 1, 0, 4,400; 2-8-2011 15:06:02; /db/atree/library/trees/fc/fc-n26x/src/ xlibrary
00681
00682  */
00683


Framework Components Application Programming Interface (API): 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) 2011, 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,400; 2-8-2011 15:06:03; /db/atree/library/trees/fc/fc-n26x/src/ xlibrary
00174
00175  */
00176


Framework Components Application Programming Interface (API): Alphabetical List

  • Data Structures
  • Data Structure Index
  • Data Fields

Data Structure Index

A | D | E | H | I | R | S | V
A
IALG_Params IRES_HDVICP2_ProtocolArgs IRES_TILEDMEMORY_RegisterLayer IRESMAN_VicpParams
ACPY3_INSTR_ExtendedHooks IALG_Status IRES_HDVICP2_RegisterLayer IRES_VICP2_Buffers
R
ACPY3_INSTR_Hook IDMA3_ChannelRec IRES_HDVICP_Obj IRES_VICP2_Obj RcmClient_Message
ACPY3_INSTR_Hooks IDMA3_Fxns IRES_HDVICP_Properties IRES_VICP2_Properties RcmClient_Params
ACPY3_Params IDMA3_MemRec IRES_HDVICP_ProtocolArgs IRES_VICP2_ProtocolArgs RcmClient_Struct
D
IDMA3_Obj IRES_HDVICP_RegisterLayer IRES_VICP_Obj RcmServer_FxnDesc
DMAN3_Params IDMA3_ProtocolObj IRES_Obj IRES_VICP_Properties RcmServer_FxnDescAry
E
IRES_EDMA3CHAN2_Obj IRES_Properties IRES_VICP_ProtocolArgs RcmServer_Params
ECPY_CfgParams IRES_EDMA3CHAN_EDMA3DraeRegister IRES_ProtocolArgs IRES_VICP_Registers RcmServer_Struct
ECPY_Params IRES_EDMA3CHAN_EDMA3RegisterLayer IRES_ProtocolRevision IRES_YieldContext RcmServer_ThreadPoolDesc
H
IRES_EDMA3CHAN_EDMA3ShadowRegister IRES_ResourceDescriptor IRESMAN_ConstructArgs RcmServer_ThreadPoolDescAry
HDINTC_Params IRES_EDMA3CHAN_Obj IRES_SDMA_Obj IRESMAN_ConstructFxns RMAN_Params
hdvicpAppHandle IRES_EDMA3CHAN_PaRamStruct IRES_SDMA_Properties IRESMAN_Edma3ChanParams
S
HDVICPSYNC_Params IRES_EDMA3CHAN_Properties IRES_SDMA_ProtocolArgs IRESMAN_Fxns SCPY_AddrParams
I
IRES_EDMA3CHAN_ProtocolArgs IRES_SDMA_RegisterLayer IRESMAN_HdVicpParams SCPY_Params
IALG_Fxns IRES_Fxns IRES_TILEDMEMORY_Obj IRESMAN_Params SCPY_TransferParams
IALG_MemRec IRES_HDVICP2_Obj IRES_TILEDMEMORY_Properties IRESMAN_SdmaParams
V


Framework Components Application Programming Interface (API): packages/ti/ -> fctools Relation

  • packages
  • ti

ti → fctools Relation

File in packages/ti | Includes file in fctools
sdo / fc / 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 / dskt2 / dskt2.h | packages / ti / xdais / ires.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 / edma3chan / ires_edma3Chan.h | packages / ti / xdais / ires_common.h
sdo / fc / ires / edma3chan / ires_edma3Chan.h | packages / ti / xdais / xdas.h
sdo / fc / ires / hdvicp / ires_hdvicp.h | packages / ti / xdais / ires_common.h
sdo / fc / ires / hdvicp / ires_hdvicp2.h | packages / ti / xdais / ires.h
sdo / fc / ires / hdvicp / ires_hdvicp2.h | packages / ti / xdais / ires_common.h
sdo / fc / ires / hdvicp / ires_hdvicp2.h | packages / ti / xdais / xdas.h
sdo / fc / ires / sdma / ires_sdma.h | packages / ti / xdais / ires_common.h
sdo / fc / ires / tiledmemory / ires_tiledmemory.h | packages / ti / xdais / ires.h
sdo / fc / ires / tiledmemory / ires_tiledmemory.h | packages / ti / xdais / ires_common.h
sdo / fc / ires / tiledmemory / ires_tiledmemory.h | packages / ti / xdais / xdas.h
sdo / fc / ires / vicp / ires_vicp.h | packages / ti / xdais / ires_common.h
sdo / fc / ires / vicp / ires_vicp2.h | packages / ti / xdais / ires.h
sdo / fc / ires / iresman.h | packages / ti / xdais / ires_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 / vicpsync / vicpsync.h | packages / ti / xdais / ialg.h
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines


Framework Components Application Programming Interface (API): packages/ti/sdo/ -> fctools Relation

  • packages
  • ti
  • sdo

sdo → fctools Relation

File in packages/ti/sdo | Includes file in fctools
fc / 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 / dskt2 / dskt2.h | packages / ti / xdais / ires.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 / edma3chan / ires_edma3Chan.h | packages / ti / xdais / ires_common.h
fc / ires / edma3chan / ires_edma3Chan.h | packages / ti / xdais / xdas.h
fc / ires / hdvicp / ires_hdvicp.h | packages / ti / xdais / ires_common.h
fc / ires / hdvicp / ires_hdvicp2.h | packages / ti / xdais / ires.h
fc / ires / hdvicp / ires_hdvicp2.h | packages / ti / xdais / ires_common.h
fc / ires / hdvicp / ires_hdvicp2.h | packages / ti / xdais / xdas.h
fc / ires / sdma / ires_sdma.h | packages / ti / xdais / ires_common.h
fc / ires / tiledmemory / ires_tiledmemory.h | packages / ti / xdais / ires.h
fc / ires / tiledmemory / ires_tiledmemory.h | packages / ti / xdais / ires_common.h
fc / ires / tiledmemory / ires_tiledmemory.h | packages / ti / xdais / xdas.h
fc / ires / vicp / ires_vicp.h | packages / ti / xdais / ires_common.h
fc / ires / vicp / ires_vicp2.h | packages / ti / xdais / ires.h
fc / ires / iresman.h | packages / ti / xdais / ires_common.h
fc / ires / iresman_protocol.h | packages / ti / xdais / ires_common.h
fc / rman / rman.h | packages / ti / xdais / ires.h
fc / vicpsync / vicpsync.h | packages / ti / xdais / ialg.h
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines


Framework Components Application Programming Interface (API): packages/ti/sdo/fc/ -> fctools Relation

  • packages
  • ti
  • sdo
  • fc

fc → fctools Relation

File in packages/ti/sdo/fc | Includes file in fctools
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
dskt2 / dskt2.h | packages / ti / xdais / ires.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 / edma3chan / ires_edma3Chan.h | packages / ti / xdais / ires_common.h
ires / edma3chan / ires_edma3Chan.h | packages / ti / xdais / xdas.h
ires / hdvicp / ires_hdvicp.h | packages / ti / xdais / ires_common.h
ires / hdvicp / ires_hdvicp2.h | packages / ti / xdais / ires.h
ires / hdvicp / ires_hdvicp2.h | packages / ti / xdais / ires_common.h
ires / hdvicp / ires_hdvicp2.h | packages / ti / xdais / xdas.h
ires / sdma / ires_sdma.h | packages / ti / xdais / ires_common.h
ires / tiledmemory / ires_tiledmemory.h | packages / ti / xdais / ires.h
ires / tiledmemory / ires_tiledmemory.h | packages / ti / xdais / ires_common.h
ires / tiledmemory / ires_tiledmemory.h | packages / ti / xdais / xdas.h
ires / vicp / ires_vicp.h | packages / ti / xdais / ires_common.h
ires / vicp / ires_vicp2.h | packages / ti / xdais / ires.h
ires / iresman.h | packages / ti / xdais / ires_common.h
ires / iresman_protocol.h | packages / ti / xdais / ires_common.h
rman / rman.h | packages / ti / xdais / ires.h
vicpsync / vicpsync.h | packages / ti / xdais / ialg.h
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines


Framework Components Application Programming Interface (API): 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 Application Programming Interface (API): 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 Application Programming Interface (API): packages/ti/sdo/fc/dskt2/ -> fctools Relation

  • packages
  • ti
  • sdo
  • fc
  • dskt2

dskt2 → fctools Relation

File in packages/ti/sdo/fc/dskt2 Includes file in fctools


Framework Components Application Programming Interface (API): packages/ti/sdo/fc/ecpy/ -> ires Relation

  • packages
  • ti
  • sdo
  • fc
  • ecpy

ecpy → ires Relation

File in packages/ti/sdo/fc/ecpy Includes file in packages/ti/sdo/fc/ires


Framework Components Application Programming Interface (API): packages/ti/sdo/fc/hdintc/ -> fctools Relation

  • packages
  • ti
  • sdo
  • fc
  • hdintc

hdintc → fctools Relation

File in packages/ti/sdo/fc/hdintc Includes file in fctools


Framework Components Application Programming Interface (API): 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 Application Programming Interface (API): 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 Application Programming Interface (API): packages/ti/sdo/fc/ires/ -> fctools Relation

  • packages
  • ti
  • sdo
  • fc
  • ires

ires → fctools Relation

File in packages/ti/sdo/fc/ires | Includes file in fctools
edma3chan / ires_edma3Chan.h | packages / ti / xdais / ires_common.h
edma3chan / ires_edma3Chan.h | packages / ti / xdais / xdas.h
hdvicp / ires_hdvicp.h | packages / ti / xdais / ires_common.h
hdvicp / ires_hdvicp2.h | packages / ti / xdais / ires.h
hdvicp / ires_hdvicp2.h | packages / ti / xdais / ires_common.h
hdvicp / ires_hdvicp2.h | packages / ti / xdais / xdas.h
sdma / ires_sdma.h | packages / ti / xdais / ires_common.h
tiledmemory / ires_tiledmemory.h | packages / ti / xdais / ires.h
tiledmemory / ires_tiledmemory.h | packages / ti / xdais / ires_common.h
tiledmemory / ires_tiledmemory.h | packages / ti / xdais / xdas.h
vicp / ires_vicp.h | packages / ti / xdais / ires_common.h
vicp / ires_vicp2.h | packages / ti / xdais / ires.h
iresman.h | packages / ti / xdais / ires_common.h
iresman_protocol.h | packages / ti / xdais / ires_common.h
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines


Framework Components Application Programming Interface (API): packages/ti/sdo/fc/ires/edma3chan/ -> fctools Relation

  • packages
  • ti
  • sdo
  • fc
  • ires
  • edma3chan

edma3chan → fctools Relation

File in packages/ti/sdo/fc/ires/edma3chan Includes file in fctools


Framework Components Application Programming Interface (API): packages/ti/sdo/fc/ires/hdvicp/ -> fctools Relation

  • packages
  • ti
  • sdo
  • fc
  • ires
  • hdvicp

hdvicp → fctools Relation

File in packages/ti/sdo/fc/ires/hdvicp | Includes file in fctools
ires_hdvicp.h | packages / ti / xdais / ires_common.h
ires_hdvicp2.h | packages / ti / xdais / ires.h
ires_hdvicp2.h | packages / ti / xdais / ires_common.h
ires_hdvicp2.h | packages / ti / xdais / xdas.h
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines


Framework Components Application Programming Interface (API): packages/ti/sdo/fc/ires/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 Application Programming Interface (API): packages/ti/sdo/fc/ires/tiledmemory/ -> fctools Relation

  • packages
  • ti
  • sdo
  • fc
  • ires
  • tiledmemory

tiledmemory → fctools Relation

File in packages/ti/sdo/fc/ires/tiledmemory | Includes file in fctools
ires_tiledmemory.h | packages / ti / xdais / ires.h
ires_tiledmemory.h | packages / ti / xdais / ires_common.h
ires_tiledmemory.h | packages / ti / xdais / xdas.h
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines


Framework Components Application Programming Interface (API): packages/ti/sdo/fc/ires/vicp/ -> fctools Relation

  • packages
  • ti
  • sdo
  • fc
  • ires
  • vicp

vicp → fctools Relation

File in packages/ti/sdo/fc/ires/vicp Includes file in fctools


Framework Components Application Programming Interface (API): packages/ti/sdo/fc/rman/ -> fctools Relation

  • packages
  • ti
  • sdo
  • fc
  • rman

rman → fctools Relation

File in packages/ti/sdo/fc/rman Includes file in fctools


Framework Components Application Programming Interface (API): packages/ti/sdo/fc/rman/ -> ires Relation

  • packages
  • ti
  • sdo
  • fc
  • rman

rman → ires Relation

File in packages/ti/sdo/fc/rman Includes file in packages/ti/sdo/fc/ires


Framework Components Application Programming Interface (API): 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 Application Programming Interface (API): 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 Application Programming Interface (API): 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 Application Programming Interface (API): disclaimer.dox File Reference

  • File List
  • Globals

disclaimer.dox File Reference

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines


Framework Components Application Programming Interface (API): 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) 2011, 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 <xdc/std.h>
00066 #include <xdc/runtime/IHeap.h>
00067
00068 #include <ti/xdais/ialg.h>
00069 #include <ti/xdais/idma3.h>
00070
00071
00080 #define DMAN3_MODNAME  "ti.sdo.fc.dman3"
00081
00082 #define DMAN3_GTNAME "ti.sdo.fc.dman3"
00084 #define DMAN3_MAXGROUPS      20
00093 #define DMAN3_SOK             0
00094 #define DMAN3_EOUTOFMEMORY   -1
00097 #define DMAN3_EFAIL          -2
00098 #define DMAN3_EFREE          -3
00100 #define DMAN3_EOUTOFTCCS     -4
00103 #define DMAN3_EOUTOFPARAMS   -5
00106 #define DMAN3_ETCCCONFIG     -6
00112 #define DMAN3_EPARAMCONFIG   -7
00119
00120
00129 typedef Bool (*DMAN3_ScratchAllocFxn)(IALG_Handle alg, Int mutexId,
00130         IALG_MemRec *memTab, Int numRecs);
00131
00137 typedef Void (*DMAN3_ScratchFreeFxn)(Int mutexId, Void *addr, Uns size);
00138
00139
00150 typedef struct DMAN3_Params {
00157     Uns    *qdmaPaRamBase;
00158
00165     Uns     maxPaRamEntries;
00166
00176     Uns     paRamBaseIndex;
00177
00185     Uns     numPaRamEntries;
00186
00193     Uns     maxQdmaChannels;
00194
00201     Uns     numQdmaChannels;
00202
00210     Uns    *qdmaChannels;
00211
00225     Uns     tccAllocationMaskH;
00226
00240     Uns     tccAllocationMaskL;
00241
00252     xdc_runtime_IHeap_Handle heapInternal;
00253
00265     xdc_runtime_IHeap_Handle heapExternal;
00266
00275     unsigned char numTccGroup[DMAN3_MAXGROUPS];
00285     unsigned short numPaRamGroup[DMAN3_MAXGROUPS];
00296     Bool          idma3Internal;
00297
00310     DMAN3_ScratchAllocFxn scratchAllocFxn;
00311
00323     DMAN3_ScratchFreeFxn scratchFreeFxn;
00324
00331     Uns nullPaRamIndex;
00332
00337     Uns     maxTCs;
00338
00346     Uns   *qdmaQueueMap;
00347
00352     Uns   *queueTCMap;
00353
00358     Uns   *queuePri;
00359
00387     Bool allowUnshared;
00388 } DMAN3_Params;
00389
00390
00394 extern DMAN3_Params DMAN3_PARAMS;
00395
00396
00440 extern Int DMAN3_grantDmaChannels(Int groupId, IALG_Handle algHandle[],
00441         IDMA3_Fxns *dmaFxns[], Int numAlgs);
00442
00446 extern Void DMAN3_exit(Void);
00447
00489 extern Int DMAN3_createChannels(Int groupId, IDMA3_ChannelRec dmaTab[],
00490         Int numChans);
00491
00492
00500 extern Void DMAN3_init(Void);
00501
00502
00524 extern Int  DMAN3_releaseDmaChannels(IALG_Handle algHandle[],
00525     IDMA3_Fxns *dmaFxns[], Int numAlgs);
00526
00527
00543 extern Int DMAN3_freeChannels(IDMA3_Handle channelTab[], Int numChans);
00544
00545
00546 #ifdef __cplusplus
00547 }
00548 #endif /* extern "C" */
00549
00550
00553 #endif
00554 /*
00555  *  @(#) ti.sdo.fc.dman3; 1, 0, 4,399; 2-8-2011 15:06:02; /db/atree/library/trees/fc/fc-n26x/src/ xlibrary
00556
00557  */
00558


Framework Components Application Programming Interface (API): doxygen.txt File Reference

  • File List
  • Globals

doxygen.txt File Reference

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines


Framework Components Application Programming Interface (API): dskt2.h Source File

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • dskt2

dskt2.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2011, Texas Instruments Incorporated
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * *  Redistributions of source code must retain the above copyright
00010  *    notice, this list of conditions and the following disclaimer.
00011  *
00012  * *  Redistributions in binary form must reproduce the above copyright
00013  *    notice, this list of conditions and the following disclaimer in the
00014  *    documentation and/or other materials provided with the distribution.
00015  *
00016  * *  Neither the name of Texas Instruments Incorporated nor the names of
00017  *    its contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00021  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00022  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00023  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00024  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00025  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00026  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00027  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00028  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00029  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00030  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031  *
00032  */
00048 #ifndef DSKT2_
00049 #define DSKT2_
00050
00051 #ifdef __cplusplus
00052 extern "C" {
00053 #endif
00054
00057
00058 #include <xdc/std.h>
00059 #include <xdc/runtime/IHeap.h>
00060
00061 #include <ti/xdais/ialg.h>
00062 #include <ti/xdais/ires.h>
00063 #include <stddef.h>
00064
00065 #define DSKT2_NUM_SCRATCH_GROUPS 20
00069 #define DSKT2_MAX_MEM_ALLOCATION_SIZE  0xFFFF
00073 /* NOTE: DO NOT Change NUM_SHAREDHEAPS*/
00074 #define DSKT2_NUM_SHAREDHEAPS 2
00075
00084 #define DSKT2_MODNAME  "ti.sdo.fc.dskt2"
00085
00093 typedef Void (*DSKT2_CacheWBInvFxn)(Ptr blockPtr, size_t byteCnt, Bool wait);
00094
00159 extern Void DSKT2_activateAlg(Int scratchMutexId, IALG_Handle alg);
00160
00161
00194 extern Int DSKT2_controlAlg(IALG_Handle alg, IALG_Cmd cmd,
00195     IALG_Status *status);
00196
00197
00276 extern IALG_Handle DSKT2_createAlg(Int scratchMutexId, IALG_Fxns * fxns,
00277     IALG_Handle parent, IALG_Params * params);
00278
00279
00373 extern IALG_Handle DSKT2_createAlg2(Int scratchMutexId, IALG_Fxns * fxns,
00374         IALG_Handle parent, IALG_Params * params,
00375         xdc_runtime_IHeap_Handle extHeapId);
00376
00377
00453 IALG_Handle DSKT2_createAlgExt(Int scratchId, IALG_Fxns * fxns,
00454         IALG_Handle parent, IALG_Params * params);
00455
00508 extern Void DSKT2_deactivateAlg(Int scratchMutexId, IALG_Handle alg);
00509
00521 extern Int DSKT2_deactivateAll();
00522
00557 extern Bool DSKT2_freeAlg(Int scratchMutexId, IALG_Handle alg);
00558
00588 extern Bool DSKT2_allocScratch(IALG_Handle alg,Int mutexId, IALG_MemRec *memTab,
00589         Int numRecs);
00613 extern Void DSKT2_freeScratch(Int mutexId, Void *addr, UInt size);
00614
00627 extern Bool DSKT2_allocPersistent(IALG_MemRec *memTab, Int numRecs);
00628
00641 extern Void DSKT2_freePersistent(IALG_MemRec *memTab, Int numRecs);
00642
00643 /*
00644  * Functions below are friend functions that are used by RMAN and some IRES
00645  * implementations to cooperatively yield to higher priority algorithms.
00646  */
00654 Void DSKT2_yield(IRES_YieldResourceType resource,
00655         IRES_YieldContextHandle algYieldContext, IRES_YieldArgs yieldArgs);
00656
00661 IRES_YieldArgs DSKT2_getYieldArgs(Int scratchId);
00662
00667 IRES_YieldArgs DSKT2_setYieldArgs(Int scratchId, Bool yieldFlag);
00668
00672
00673 #ifdef __cplusplus
00674 }
00675 #endif /* extern "C" */
00676
00677 #endif  /* DSKT2_ */
00678
00679 /*
00680  *  @(#) ti.sdo.fc.dskt2; 1, 0, 4,400; 2-8-2011 15:06:19; /db/atree/library/trees/fc/fc-n26x/src/ xlibrary
00681
00682  */
00683


Framework Components Application Programming Interface (API): dskt2_qos.h Source File

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • dskt2

dskt2_qos.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2011, Texas Instruments Incorporated
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * *  Redistributions of source code must retain the above copyright
00010  *    notice, this list of conditions and the following disclaimer.
00011  *
00012  * *  Redistributions in binary form must reproduce the above copyright
00013  *    notice, this list of conditions and the following disclaimer in the
00014  *    documentation and/or other materials provided with the distribution.
00015  *
00016  * *  Neither the name of Texas Instruments Incorporated nor the names of
00017  *    its contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00021  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00022  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00023  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00024  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00025  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00026  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00027  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00028  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00029  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00030  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031  *
00032  */
00033 /*
00034  *  ======== dskt2_qos.h ========
00035  *  DSKT2 QOS support library definitions.
00036  *
00037  */
00038
00039 #ifndef DSKT2_QOS_H
00040 #define DSKT2_QOS_H
00041
00042 #include <xdc/std.h>
00043 #include <xdc/runtime/Memory.h>
00044
00045 typedef enum DSKT2_QOS_TI_MsgArg1Types {
00046     DSKT2_QOS_SHARED_SCRATCH_ALLHEAPS = 0x200,
00047     DSKT2_QOS_SHARED_SCRATCH_DARAM = 0x201,
00048     DSKT2_QOS_SHARED_SCRATCH_SARAM = 0x202
00049 } DSKT2_QOS_TI_MsgArg1Types;
00050
00051 typedef enum DSKT2_QOS_TI_GetSharedScratchMsgArg2   {
00052     /*
00053      * If Arg2 is NOT ALL_SCRATCHGROUPS then  the assigned value
00054      * is Scratch Group/Mutex Id
00055      */
00056     DSKT2_QOS_ALL_SCRATCHGROUPS = 0x100
00057 } DSKT2_QOS_TI_GetSharedScratchMsgArg2;
00058
00059 extern Void  DSKT2_QOS_getStat(UInt heapType, UInt mutexId,
00060         UInt *sizeSharedScratch, xdc_runtime_IHeap_Handle *inHeap);
00061
00062 #endif
00063
00064 /*
00065  *  @(#) ti.sdo.fc.dskt2; 1, 0, 4,400; 2-8-2011 15:06:19; /db/atree/library/trees/fc/fc-n26x/src/ xlibrary
00066
00067  */
00068


Framework Components Application Programming Interface (API): ecpy.h Source File

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ecpy

ecpy.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2011, 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  */
00076 #ifndef ti_sdo_fc_ecpy_ECPY_
00077 #define ti_sdo_fc_ecpy_ECPY_
00078
00079
00080 #ifdef __cplusplus
00081 extern "C" {
00082 #endif
00083
00086
00087 #define ti_sdo_fc_ires_NOPROTOCOLREV
00088 #include <ti/sdo/fc/ires/edma3chan/ires_edma3Chan.h>
00089
00090 #define ECPY_GTNAME "ti.sdo.fc.ecpy"
00091
00100 #define ECPY_MODNAME "ti.sdo.fc.ecpy"
00101
00102
00108 typedef enum ECPY_ParamField16b {
00109
00110     ECPY_PARAMFIELD_ELEMENTSIZE =  8,
00111     ECPY_PARAMFIELD_NUMELEMENTS = 10 ,
00112     ECPY_PARAMFIELD_ELEMENTINDEX_SRC = 16,
00113     ECPY_PARAMFIELD_ELEMENTINDEX_DST = 18,
00114     ECPY_PARAMFIELD_FRAMEINDEX_SRC =  24,
00115     ECPY_PARAMFIELD_FRAMEINDEX_DST =  26,
00116     ECPY_PARAMFIELD_NUMFRAMES = 28
00117
00118 } ECPY_ParamField16b;
00119
00125 typedef enum ECPY_ParamField32b {
00126
00127     ECPY_PARAMFIELD_SRCADDR = 4,
00128     ECPY_PARAMFIELD_DSTADDR = 12,
00129     ECPY_PARAMFIELD_ELEMENTINDEXES = 16,
00130     ECPY_PARAMFIELD_FRAMEINDEXES = 24
00131
00132 } ECPY_ParamField32b;
00133
00144 typedef enum ECPY_TransferType {
00145
00151     ECPY_1D1D,
00152
00166     ECPY_1D2D,
00167
00179     ECPY_2D1D,
00180
00192     ECPY_2D2D
00193 } ECPY_TransferType;
00194
00198 typedef struct ECPY_Obj *ECPY_Handle;
00199
00200
00205 typedef struct ECPY_Params {
00206
00208     ECPY_TransferType transferType;
00209
00211     Void *         srcAddr;
00212
00214     Void *         dstAddr;
00215
00217     unsigned short elementSize;
00218
00220     unsigned short numElements;
00221
00223     unsigned short numFrames ;
00224
00229     short srcElementIndex;
00230
00235     short dstElementIndex;
00236
00242     short srcFrameIndex;
00243
00249     short dstFrameIndex;
00250
00251 } ECPY_Params;
00252
00253
00272 Void ECPY_configure(ECPY_Handle handle, ECPY_Params * restrict params,
00273     short transferNo);
00274
00294 Void ECPY_directConfigure(ECPY_Handle handle, ECPY_Params * restrict params,
00295     short transferNo);
00296
00297
00334 #if defined(ECPY_CONFIGURE16) || defined(ECPY_INLINE_ALL)
00335 #include <ti/sdo/fc/ecpy/ecpy_configure16.h>
00336 #else
00337 Void ECPY_configure16(ECPY_Handle handle, ECPY_ParamField16b fieldId,
00338         unsigned short value, short transferNo);
00339
00378 Void ECPY_directConfigure16(ECPY_Handle handle, ECPY_ParamField16b fieldId,
00379         unsigned short value, short transferNo);
00380 #endif
00381
00419 #if defined(ECPY_CONFIGURE32_INLINE) || defined(ECPY_INLINE_ALL)
00420 #include <ti/sdo/fc/ecpy/ecpy_configure32.h>
00421 #else
00422 Void ECPY_configure32(ECPY_Handle handle, ECPY_ParamField32b fieldId,
00423         unsigned int value, short transferNo);
00424
00463 Void ECPY_directConfigure32(ECPY_Handle handle, ECPY_ParamField32b fieldId,
00464         unsigned int value, short transferNo);
00465 #endif
00466
00489 #if defined(ECPY_SETFINAL_INLINE) || defined(ECPY_INLINE_ALL)
00490 #include <ti/sdo/fc/ecpy/ecpy_setfinal.h>
00491 #else
00492 Void ECPY_setFinal(ECPY_Handle handle, short transferNo);
00493
00516 Void ECPY_directSetFinal(ECPY_Handle handle, short transferNo);
00517 #endif
00518
00530 Void ECPY_setDestinationMemoryMode(ECPY_Handle handle, short mode);
00531
00559 Void ECPY_start(ECPY_Handle handle);
00560
00561
00593 Void ECPY_directStartEdma(ECPY_Handle handle);
00594
00598 Void ECPY_directStartQdma(ECPY_Handle handle);
00599
00600
00627 #if defined(ECPY_WAIT_INLINE) || defined(ECPY_INLINE_ALL)
00628 #include <ti/sdo/fc/ecpy/ecpy_wait.h>
00629 #else
00630 Void ECPY_wait(ECPY_Handle handle);
00631 #endif
00632
00665 #if defined(ECPY_DIRECTWAIT_INLINE) || defined(ECPY_INLINE_ALL)
00666 #include <ti/sdo/fc/ecpy/ecpy_directwait.h>
00667 #else
00668 Void ECPY_directWait(ECPY_Handle handle);
00669 #endif
00670
00686 Void ECPY_activate(ECPY_Handle handle);
00687
00697 ECPY_Handle ECPY_createHandle(IRES_EDMA3CHAN2_Handle handle, IALG_Handle alg);
00698
00707 Void ECPY_deleteHandle(ECPY_Handle handle);
00708
00723 Void ECPY_deactivate(ECPY_Handle handle);
00724
00725
00729 Void ECPY_init(Void);
00730
00734 Void ECPY_exit(Void);
00735
00739 typedef Bool (ECPY_PersistentAllocFxn)(IALG_MemRec *memTab, Int numRecs);
00740
00744 typedef Void (ECPY_PersistentFreeFxn)(IALG_MemRec *memTab, Int numRecs);
00745
00746
00757 typedef struct ECPY_CfgParams {
00758
00762     ECPY_PersistentAllocFxn * allocFxn;
00763
00767     ECPY_PersistentFreeFxn * freeFxn;
00768
00769 } ECPY_CfgParams;
00770
00774 extern __FAR__ ECPY_CfgParams ECPY_CFG_PARAMS;
00775
00778 #ifdef __cplusplus
00779 }
00780 #endif /* extern "C" */
00781
00782
00783 #endif /* ti_sdo_fc_ecpy_ECPY_ */
00784
00785 /*
00786  *  @(#) ti.sdo.fc.ecpy; 1, 0, 0,71; 2-8-2011 15:06:25; /db/atree/library/trees/fc/fc-n26x/src/ xlibrary
00787
00788  */
00789


Framework Components Application Programming Interface (API): Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • 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:

- j -

  • jobId : RcmClient_Message


Framework Components Application Programming Interface (API): Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • 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 -

  • length : RcmServer_FxnDescAry , RcmServer_ThreadPoolDescAry
  • link : IRES_EDMA3CHAN_PaRamStruct


Framework Components Application Programming Interface (API): Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • 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
  • memoryBaseAddress : IRES_HDVICP_Obj , IRES_HDVICP2_Obj , IRES_TILEDMEMORY_Obj
  • memProtectionExists : IRES_EDMA3CHAN_Properties
  • memRequestSizes : IRES_VICP2_ProtocolArgs
  • memType : IDMA3_MemRec
  • mode : IRES_ProtocolArgs , IRES_EDMA3CHAN_ProtocolArgs , IRES_VICP_ProtocolArgs , IRES_VICP2_ProtocolArgs
  • MPFAR : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • MPFCR : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • MPFSR : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • MPPA : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • MPPAG : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • mvmem : IRES_VICP2_Buffers


Framework Components Application Programming Interface (API): Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • 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 , RcmServer_FxnDesc , RcmServer_ThreadPoolDesc
  • nullPaRamIndex : DMAN3_Params
  • numDmaChannels : IRES_EDMA3CHAN_Properties
  • numElements : ACPY3_Params , ECPY_Params
  • numEvtQueue : IRES_EDMA3CHAN_Properties
  • numFrames : ACPY3_Params , ECPY_Params
  • numMemBufs : IRES_VICP2_Obj
  • numMemoryRequests : IRES_VICP2_ProtocolArgs
  • numPaRamEntries : DMAN3_Params
  • numPaRamGroup : DMAN3_Params
  • numPaRams : IRES_EDMA3CHAN_ProtocolArgs , IDMA3_Obj
  • numPaRAMSets : IRES_EDMA3CHAN_Properties
  • numQdmaChannels : DMAN3_Params , IRES_EDMA3CHAN_Properties
  • numRegions : IRES_EDMA3CHAN_Properties
  • numRegistries : RMAN_Params
  • numResourceDescriptors : IRES_Fxns
  • numResources : IRESMAN_HdVicpParams , IRESMAN_TiledmemoryParams
  • numTccGroup : DMAN3_Params
  • numTccs : IRES_EDMA3CHAN_Properties , IDMA3_Obj , IRES_EDMA3CHAN_ProtocolArgs
  • numTcs : IRES_EDMA3CHAN_Properties
  • numTransfers : IDMA3_ChannelRec
  • numWaits : IDMA3_ChannelRec


Framework Components Application Programming Interface (API): Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • 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
  • osPriority : RcmServer_Params , RcmServer_ThreadPoolDesc


Framework Components Application Programming Interface (API): Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- a -

  • accessDimension : IRES_TILEDMEMORY_ProtocolArgs
  • accessUnit : IRES_TILEDMEMORY_ProtocolArgs , IRES_TILEDMEMORY_Obj
  • acnt : IRES_EDMA3CHAN_PaRamStruct
  • acquire : IRES_HDVICP2_Obj
  • activateAllResources : IRES_Fxns
  • activateResource : IRES_Fxns
  • addr : SCPY_AddrParams , RcmServer_FxnDesc
  • 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
  • alignment : IALG_MemRec , IRES_TILEDMEMORY_ProtocolArgs
  • allocFxn : ECPY_CfgParams , IRESMAN_Params , RMAN_Params
  • allowUnshared : DMAN3_Params
  • args : ACPY3_INSTR_Hook
  • assignedEdmaChannelIndex : IRES_EDMA3CHAN2_Obj , 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_EDMA3CHAN2_Obj , IRES_EDMA3CHAN_Obj
  • assignedNumTccs : IRES_EDMA3CHAN2_Obj , IRES_EDMA3CHAN_Obj
  • assignedPaRamAddresses : IRES_EDMA3CHAN2_Obj , IRES_EDMA3CHAN_Obj
  • assignedPaRamIndices : IRES_EDMA3CHAN2_Obj , IRES_EDMA3CHAN_Obj
  • assignedQdmaChannelIndex : IRES_EDMA3CHAN_Obj , IRES_EDMA3CHAN2_Obj
  • assignedSEQ : IRES_VICP_Obj
  • assignedTccIndices : IRES_EDMA3CHAN2_Obj , IRES_EDMA3CHAN_Obj
  • assignedVLCD : IRES_VICP_Obj
  • attrs : IALG_MemRec


Framework Components Application Programming Interface (API): Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • 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_SDMA_ProtocolArgs , IRES_TILEDMEMORY_ProtocolArgs , IDMA3_MemRec , IRES_HDVICP_ProtocolArgs , IRES_HDVICP2_ProtocolArgs
  • baseConfig : IRESMAN_Edma3ChanParams , IRESMAN_HdVicpParams , IRESMAN_SdmaParams , IRESMAN_TiledmemoryParams , IRESMAN_VicpParams
  • 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


Framework Components Application Programming Interface (API): Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • 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 -

  • callbackNotification : RcmClient_Params
  • CCCFG : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • CCERR : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • CCERRCLR : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • ccnt : IRES_EDMA3CHAN_PaRamStruct
  • CCSTAT : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • CER : IRES_EDMA3CHAN_EDMA3RegisterLayer , IRES_EDMA3CHAN_EDMA3ShadowRegister
  • CERH : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • channel : IRES_SDMA_Obj
  • configBaseAddress : IRES_VICP2_Obj
  • configure : IRES_HDVICP2_Obj
  • constructHandle : IRESMAN_ConstructFxns
  • contextArgs : IRES_YieldContext
  • contextRestore : IRES_YieldContext
  • contextSave : IRES_YieldContext
  • contiguousAllocation : IRES_EDMA3CHAN_ProtocolArgs
  • count : RcmServer_ThreadPoolDesc


Framework Components Application Programming Interface (API): Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • 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 -

  • data : RcmClient_Message
  • dataSize : RcmClient_Message
  • dataType : SCPY_TransferParams
  • DCHMAP : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • deactivateAllResources : IRES_Fxns
  • deactivateResource : IRES_Fxns
  • defaultPool : RcmServer_Params
  • 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
  • done : IRES_HDVICP2_Obj
  • DRA : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • DRAE : IRES_EDMA3CHAN_EDMA3DraeRegister
  • DRAEH : IRES_EDMA3CHAN_EDMA3DraeRegister
  • dst : IRES_EDMA3CHAN_PaRamStruct , SCPY_Params
  • dstAddr : ECPY_Params , ACPY3_Params
  • dstElementIndex : ECPY_Params , ACPY3_Params , IRES_EDMA3CHAN_PaRamStruct
  • dstFrameIndex : IRES_EDMA3CHAN_PaRamStruct , ECPY_Params , ACPY3_Params


Framework Components Application Programming Interface (API): Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • 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 : RcmServer_FxnDescAry , RcmServer_ThreadPoolDescAry
  • elem_index : SCPY_AddrParams
  • elemCount : SCPY_TransferParams
  • elementSize : ACPY3_Params , ECPY_Params
  • EMCR : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • EMCRH : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • EMR : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • EMRH : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • env : IDMA3_Obj
  • ER : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • ERH : IRES_EDMA3CHAN_EDMA3RegisterLayer , IRES_EDMA3CHAN_EDMA3ShadowRegister
  • ESR : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • esrBitMaskH : IRES_EDMA3CHAN2_Obj , IRES_EDMA3CHAN_Obj
  • esrBitMaskL : IRES_EDMA3CHAN2_Obj , IRES_EDMA3CHAN_Obj
  • ESRH : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • exit : IRESMAN_Fxns


Framework Components Application Programming Interface (API): Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • 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 -

  • frame_index : SCPY_AddrParams
  • frameCount : SCPY_TransferParams
  • freeFxn : IRESMAN_Params , RMAN_Params , ECPY_CfgParams
  • freeHandle : IRESMAN_Fxns
  • fxn : ACPY3_INSTR_Hook
  • fxnIdx : RcmClient_Message
  • fxns : IALG_Obj , RcmServer_Params


Framework Components Application Programming Interface (API): Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • 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_SDMA_Properties , IRES_VICP_Properties , IRES_HDVICP_Properties , IRES_HDVICP2_Properties , IRES_EDMA3CHAN_Properties


Framework Components Application Programming Interface (API): Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • 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
  • heapId : RcmClient_Params
  • heapInternal : DMAN3_Params
  • huffmem : IRES_VICP2_Buffers


Framework Components Application Programming Interface (API): Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- i -

  • ICR : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • ICRH : IRES_EDMA3CHAN_EDMA3RegisterLayer , IRES_EDMA3CHAN_EDMA3ShadowRegister
  • id : IRES_HDVICP2_Obj , IRES_HDVICP_ProtocolArgs , IRES_HDVICP_Obj , IRES_HDVICP2_ProtocolArgs
  • 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 , IRESMAN_TiledmemoryParams , IRES_HDVICP2_Obj , IRESMAN_HdVicpParams , IRES_TILEDMEMORY_Obj , IRES_HDVICP_Obj
  • init : IRESMAN_Fxns
  • initHandle : IDMA3_ProtocolObj
  • initResources : IRES_Fxns
  • InstrHooks : ACPY3_INSTR_Hooks , ACPY3_INSTR_ExtendedHooks
  • interruptVectorId_0 : HDINTC_Params
  • interruptVectorId_1 : HDINTC_Params
  • IPR : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • iprBitMaskH : IRES_EDMA3CHAN2_Obj , IRES_EDMA3CHAN_Obj
  • iprBitMaskL : IRES_EDMA3CHAN2_Obj , IRES_EDMA3CHAN_Obj
  • IPRH : IRES_EDMA3CHAN_EDMA3RegisterLayer , IRES_EDMA3CHAN_EDMA3ShadowRegister
  • ires : IRES_HDVICP2_Obj , IRES_TILEDMEMORY_Obj , IRES_VICP_Obj , IRES_HDVICP_Obj , IRES_EDMA3CHAN_Obj , IRES_EDMA3CHAN2_Obj , IRES_VICP2_Obj , IRES_SDMA_Obj
  • isTiledMemory : IRES_TILEDMEMORY_Obj


Framework Components Application Programming Interface (API): Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • 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
  • poolId : RcmClient_Message
  • predmem_base : IRES_VICP2_Buffers
  • priority : RcmServer_ThreadPoolDesc , IDMA3_ChannelRec , RcmServer_Params
  • processId : hdvicpAppHandle
  • protocol : IDMA3_Obj , IDMA3_ChannelRec
  • protocolArgs : IRES_ResourceDescriptor
  • pscRegisterSpace : IRES_VICP2_Obj , IRES_HDVICP_Obj


Framework Components Application Programming Interface (API): Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • 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_EDMA3RegisterLayer , IRES_EDMA3CHAN_EDMA3ShadowRegister
  • QSTAT : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • QUEEVTENTRY : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • QUEPRI : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • QUETCMAP : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • queueMap : IRES_EDMA3CHAN2_Obj
  • queuePri : DMAN3_Params
  • queueTCMap : DMAN3_Params
  • QWMTHRA : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • QWMTHRB : IRES_EDMA3CHAN_EDMA3RegisterLayer


Framework Components Application Programming Interface (API): Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- r -

  • Radius : IRES_ProtocolRevision
  • reacquireIfOwner : IRES_HDVICP2_Obj
  • registerBaseAddress : IRES_HDVICP2_Obj , IRES_HDVICP_Obj
  • reinitResources : IRES_Fxns
  • release : IRES_HDVICP2_Obj
  • requestIMCOPBuffers : IRES_VICP2_ProtocolArgs
  • requestIMX : IRES_VICP_ProtocolArgs
  • requestIMX0 : IRES_VICP2_ProtocolArgs
  • requestIMX1 : IRES_VICP2_ProtocolArgs
  • requestMJCP : IRES_VICP2_ProtocolArgs
  • requestNSF : IRES_VICP2_ProtocolArgs
  • requestSEQ : IRES_VICP_ProtocolArgs
  • requestVLCD : IRES_VICP_ProtocolArgs
  • reset : IRES_HDVICP2_Obj
  • resetControlAddress : IRES_HDVICP2_Obj
  • resourceHandle : IRES_YieldContext
  • resourceName : IRES_ResourceDescriptor
  • result : RcmClient_Message
  • 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 Application Programming Interface (API): Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • 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 , IRES_EDMA3CHAN2_Obj
  • shadowPaRamsAllocation : IRES_EDMA3CHAN_ProtocolArgs
  • size : IRES_VICP_Properties , IRES_VICP2_Buffers , IRES_EDMA3CHAN_ProtocolArgs , IRES_HDVICP_RegisterLayer , IRES_TILEDMEMORY_RegisterLayer , IRES_HDVICP_Properties , IRES_HDVICP2_RegisterLayer , IRES_HDVICP2_Properties , IRESMAN_Params , IRESMAN_ConstructArgs , IRES_TILEDMEMORY_Properties , IRES_VICP_ProtocolArgs , HDVICPSYNC_Params , IRES_VICP_Registers , VICPSYNC_Params , IRES_VICP2_ProtocolArgs , IRES_VICP2_Properties , IALG_MemRec , IALG_Params , IALG_Status , IDMA3_MemRec , IRES_ProtocolArgs , IRES_Properties
  • sizeDim0 : IRES_TILEDMEMORY_ProtocolArgs
  • sizeDim1 : IRES_TILEDMEMORY_ProtocolArgs
  • Source : IRES_ProtocolRevision
  • space : IALG_MemRec
  • src : SCPY_Params , IRES_EDMA3CHAN_PaRamStruct
  • srcAddr : ACPY3_Params , ECPY_Params
  • srcElementIndex : ECPY_Params , IRES_EDMA3CHAN_PaRamStruct , ACPY3_Params
  • srcFrameIndex : IRES_EDMA3CHAN_PaRamStruct , ACPY3_Params , ECPY_Params
  • stackSeg : RcmServer_ThreadPoolDesc , RcmServer_Params
  • stackSize : RcmServer_ThreadPoolDesc , RcmServer_Params
  • systemSpaceBaseAddress : IRES_TILEDMEMORY_Obj


Framework Components Application Programming Interface (API): Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • 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
  • tilerBaseAddress : IRES_TILEDMEMORY_Obj
  • transfer : SCPY_Params
  • transferPending : IDMA3_Obj
  • transferType : ACPY3_Params , ECPY_Params


Framework Components Application Programming Interface (API): Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- v -

  • vicp_cfg_base : IRES_VICP_Registers , IRES_VICP2_Buffers
  • vicp_umap1_base : IRES_VICP_Registers
  • vlcdBuf_base : IRES_VICP_Registers
  • vlcdBuf_length : IRES_VICP_Registers
  • vlcdDataBuf_base : IRES_VICP_Registers
  • vlcdDataBuf_length : IRES_VICP_Registers


Framework Components Application Programming Interface (API): Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- w -

  • wait : IRES_HDVICP2_Obj
  • waitId : ACPY3_Params
  • workerPools : RcmServer_Params


Framework Components Application Programming Interface (API): Data Fields

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y
Here is a list of all struct and union fields with links to the structures/unions they belong to:

- y -

  • yieldFxn : RMAN_Params
  • yieldSamePriority : RMAN_Params


Framework Components Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- _ -

  • _f1 : RcmClient_Struct , RcmServer_Struct
  • _f10 : RcmClient_Struct , RcmServer_Struct
  • _f11 : RcmClient_Struct , RcmServer_Struct
  • _f12 : RcmClient_Struct , RcmServer_Struct
  • _f2 : RcmClient_Struct , RcmServer_Struct
  • _f3 : RcmClient_Struct , RcmServer_Struct
  • _f4 : RcmServer_Struct , RcmClient_Struct
  • _f5 : RcmClient_Struct , RcmServer_Struct
  • _f6 : RcmClient_Struct , RcmServer_Struct
  • _f7 : RcmClient_Struct , RcmServer_Struct
  • _f8 : RcmClient_Struct , RcmServer_Struct
  • _f9 : RcmClient_Struct , RcmServer_Struct


Framework Components Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- j -

  • jobId : RcmClient_Message


Framework Components Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- l -

  • length : RcmServer_FxnDescAry , RcmServer_ThreadPoolDescAry
  • link : IRES_EDMA3CHAN_PaRamStruct


Framework Components Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • 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
  • memoryBaseAddress : IRES_HDVICP_Obj , IRES_HDVICP2_Obj , IRES_TILEDMEMORY_Obj
  • memProtectionExists : IRES_EDMA3CHAN_Properties
  • memRequestSizes : IRES_VICP2_ProtocolArgs
  • memType : IDMA3_MemRec
  • mode : IRES_ProtocolArgs , IRES_EDMA3CHAN_ProtocolArgs , IRES_VICP_ProtocolArgs , IRES_VICP2_ProtocolArgs
  • MPFAR : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • MPFCR : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • MPFSR : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • MPPA : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • MPPAG : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • mvmem : IRES_VICP2_Buffers


Framework Components Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- n -

  • name : IDMA3_ProtocolObj , RcmServer_FxnDesc , RcmServer_ThreadPoolDesc
  • nullPaRamIndex : DMAN3_Params
  • numDmaChannels : IRES_EDMA3CHAN_Properties
  • numElements : ACPY3_Params , ECPY_Params
  • numEvtQueue : IRES_EDMA3CHAN_Properties
  • numFrames : ACPY3_Params , ECPY_Params
  • numMemBufs : IRES_VICP2_Obj
  • numMemoryRequests : IRES_VICP2_ProtocolArgs
  • numPaRamEntries : DMAN3_Params
  • numPaRamGroup : DMAN3_Params
  • numPaRams : IRES_EDMA3CHAN_ProtocolArgs , IDMA3_Obj
  • numPaRAMSets : IRES_EDMA3CHAN_Properties
  • numQdmaChannels : DMAN3_Params , IRES_EDMA3CHAN_Properties
  • numRegions : IRES_EDMA3CHAN_Properties
  • numRegistries : RMAN_Params
  • numResourceDescriptors : IRES_Fxns
  • numResources : IRESMAN_HdVicpParams , IRESMAN_TiledmemoryParams
  • numTccGroup : DMAN3_Params
  • numTccs : IRES_EDMA3CHAN_Properties , IDMA3_Obj , IRES_EDMA3CHAN_ProtocolArgs
  • numTcs : IRES_EDMA3CHAN_Properties
  • numTransfers : IDMA3_ChannelRec
  • numWaits : IDMA3_ChannelRec


Framework Components Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- o -

  • opt : IRES_EDMA3CHAN_PaRamStruct
  • osPriority : RcmServer_Params , RcmServer_ThreadPoolDesc


Framework Components Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- a -

  • accessDimension : IRES_TILEDMEMORY_ProtocolArgs
  • accessUnit : IRES_TILEDMEMORY_ProtocolArgs , IRES_TILEDMEMORY_Obj
  • acnt : IRES_EDMA3CHAN_PaRamStruct
  • acquire : IRES_HDVICP2_Obj
  • activateAllResources : IRES_Fxns
  • activateResource : IRES_Fxns
  • addr : SCPY_AddrParams , RcmServer_FxnDesc
  • 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
  • alignment : IALG_MemRec , IRES_TILEDMEMORY_ProtocolArgs
  • allocFxn : ECPY_CfgParams , IRESMAN_Params , RMAN_Params
  • allowUnshared : DMAN3_Params
  • args : ACPY3_INSTR_Hook
  • assignedEdmaChannelIndex : IRES_EDMA3CHAN2_Obj , 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_EDMA3CHAN2_Obj , IRES_EDMA3CHAN_Obj
  • assignedNumTccs : IRES_EDMA3CHAN2_Obj , IRES_EDMA3CHAN_Obj
  • assignedPaRamAddresses : IRES_EDMA3CHAN2_Obj , IRES_EDMA3CHAN_Obj
  • assignedPaRamIndices : IRES_EDMA3CHAN2_Obj , IRES_EDMA3CHAN_Obj
  • assignedQdmaChannelIndex : IRES_EDMA3CHAN_Obj , IRES_EDMA3CHAN2_Obj
  • assignedSEQ : IRES_VICP_Obj
  • assignedTccIndices : IRES_EDMA3CHAN2_Obj , IRES_EDMA3CHAN_Obj
  • assignedVLCD : IRES_VICP_Obj
  • attrs : IALG_MemRec


Framework Components Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • 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_SDMA_ProtocolArgs , IRES_TILEDMEMORY_ProtocolArgs , IDMA3_MemRec , IRES_HDVICP_ProtocolArgs , IRES_HDVICP2_ProtocolArgs
  • baseConfig : IRESMAN_Edma3ChanParams , IRESMAN_HdVicpParams , IRESMAN_SdmaParams , IRESMAN_TiledmemoryParams , IRESMAN_VicpParams
  • 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


Framework Components Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- c -

  • callbackNotification : RcmClient_Params
  • CCCFG : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • CCERR : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • CCERRCLR : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • ccnt : IRES_EDMA3CHAN_PaRamStruct
  • CCSTAT : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • CER : IRES_EDMA3CHAN_EDMA3RegisterLayer , IRES_EDMA3CHAN_EDMA3ShadowRegister
  • CERH : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • channel : IRES_SDMA_Obj
  • configBaseAddress : IRES_VICP2_Obj
  • configure : IRES_HDVICP2_Obj
  • constructHandle : IRESMAN_ConstructFxns
  • contextArgs : IRES_YieldContext
  • contextRestore : IRES_YieldContext
  • contextSave : IRES_YieldContext
  • contiguousAllocation : IRES_EDMA3CHAN_ProtocolArgs
  • count : RcmServer_ThreadPoolDesc


Framework Components Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- d -

  • data : RcmClient_Message
  • dataSize : RcmClient_Message
  • dataType : SCPY_TransferParams
  • DCHMAP : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • deactivateAllResources : IRES_Fxns
  • deactivateResource : IRES_Fxns
  • defaultPool : RcmServer_Params
  • 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
  • done : IRES_HDVICP2_Obj
  • DRA : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • DRAE : IRES_EDMA3CHAN_EDMA3DraeRegister
  • DRAEH : IRES_EDMA3CHAN_EDMA3DraeRegister
  • dst : IRES_EDMA3CHAN_PaRamStruct , SCPY_Params
  • dstAddr : ECPY_Params , ACPY3_Params
  • dstElementIndex : ECPY_Params , ACPY3_Params , IRES_EDMA3CHAN_PaRamStruct
  • dstFrameIndex : IRES_EDMA3CHAN_PaRamStruct , ECPY_Params , ACPY3_Params


Framework Components Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • 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 : RcmServer_FxnDescAry , RcmServer_ThreadPoolDescAry
  • elem_index : SCPY_AddrParams
  • elemCount : SCPY_TransferParams
  • elementSize : ACPY3_Params , ECPY_Params
  • EMCR : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • EMCRH : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • EMR : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • EMRH : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • env : IDMA3_Obj
  • ER : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • ERH : IRES_EDMA3CHAN_EDMA3RegisterLayer , IRES_EDMA3CHAN_EDMA3ShadowRegister
  • ESR : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • esrBitMaskH : IRES_EDMA3CHAN2_Obj , IRES_EDMA3CHAN_Obj
  • esrBitMaskL : IRES_EDMA3CHAN2_Obj , IRES_EDMA3CHAN_Obj
  • ESRH : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • exit : IRESMAN_Fxns


Framework Components Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- f -

  • frame_index : SCPY_AddrParams
  • frameCount : SCPY_TransferParams
  • freeFxn : IRESMAN_Params , RMAN_Params , ECPY_CfgParams
  • freeHandle : IRESMAN_Fxns
  • fxn : ACPY3_INSTR_Hook
  • fxnIdx : RcmClient_Message
  • fxns : IALG_Obj , RcmServer_Params


Framework Components Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • 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_SDMA_Properties , IRES_VICP_Properties , IRES_HDVICP_Properties , IRES_HDVICP2_Properties , IRES_EDMA3CHAN_Properties


Framework Components Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • 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
  • heapId : RcmClient_Params
  • heapInternal : DMAN3_Params
  • huffmem : IRES_VICP2_Buffers


Framework Components Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- i -

  • ICR : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • ICRH : IRES_EDMA3CHAN_EDMA3RegisterLayer , IRES_EDMA3CHAN_EDMA3ShadowRegister
  • id : IRES_HDVICP2_Obj , IRES_HDVICP_ProtocolArgs , IRES_HDVICP_Obj , IRES_HDVICP2_ProtocolArgs
  • 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 , IRESMAN_TiledmemoryParams , IRES_HDVICP2_Obj , IRESMAN_HdVicpParams , IRES_TILEDMEMORY_Obj , IRES_HDVICP_Obj
  • init : IRESMAN_Fxns
  • initHandle : IDMA3_ProtocolObj
  • initResources : IRES_Fxns
  • InstrHooks : ACPY3_INSTR_Hooks , ACPY3_INSTR_ExtendedHooks
  • interruptVectorId_0 : HDINTC_Params
  • interruptVectorId_1 : HDINTC_Params
  • IPR : IRES_EDMA3CHAN_EDMA3ShadowRegister , IRES_EDMA3CHAN_EDMA3RegisterLayer
  • iprBitMaskH : IRES_EDMA3CHAN2_Obj , IRES_EDMA3CHAN_Obj
  • iprBitMaskL : IRES_EDMA3CHAN2_Obj , IRES_EDMA3CHAN_Obj
  • IPRH : IRES_EDMA3CHAN_EDMA3RegisterLayer , IRES_EDMA3CHAN_EDMA3ShadowRegister
  • ires : IRES_HDVICP2_Obj , IRES_TILEDMEMORY_Obj , IRES_VICP_Obj , IRES_HDVICP_Obj , IRES_EDMA3CHAN_Obj , IRES_EDMA3CHAN2_Obj , IRES_VICP2_Obj , IRES_SDMA_Obj
  • isTiledMemory : IRES_TILEDMEMORY_Obj


Framework Components Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • 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
  • poolId : RcmClient_Message
  • predmem_base : IRES_VICP2_Buffers
  • priority : RcmServer_ThreadPoolDesc , IDMA3_ChannelRec , RcmServer_Params
  • processId : hdvicpAppHandle
  • protocol : IDMA3_Obj , IDMA3_ChannelRec
  • protocolArgs : IRES_ResourceDescriptor
  • pscRegisterSpace : IRES_VICP2_Obj , IRES_HDVICP_Obj


Framework Components Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • 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_EDMA3RegisterLayer , IRES_EDMA3CHAN_EDMA3ShadowRegister
  • QSTAT : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • QUEEVTENTRY : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • QUEPRI : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • QUETCMAP : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • queueMap : IRES_EDMA3CHAN2_Obj
  • queuePri : DMAN3_Params
  • queueTCMap : DMAN3_Params
  • QWMTHRA : IRES_EDMA3CHAN_EDMA3RegisterLayer
  • QWMTHRB : IRES_EDMA3CHAN_EDMA3RegisterLayer


Framework Components Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- r -

  • Radius : IRES_ProtocolRevision
  • reacquireIfOwner : IRES_HDVICP2_Obj
  • registerBaseAddress : IRES_HDVICP2_Obj , IRES_HDVICP_Obj
  • reinitResources : IRES_Fxns
  • release : IRES_HDVICP2_Obj
  • requestIMCOPBuffers : IRES_VICP2_ProtocolArgs
  • requestIMX : IRES_VICP_ProtocolArgs
  • requestIMX0 : IRES_VICP2_ProtocolArgs
  • requestIMX1 : IRES_VICP2_ProtocolArgs
  • requestMJCP : IRES_VICP2_ProtocolArgs
  • requestNSF : IRES_VICP2_ProtocolArgs
  • requestSEQ : IRES_VICP_ProtocolArgs
  • requestVLCD : IRES_VICP_ProtocolArgs
  • reset : IRES_HDVICP2_Obj
  • resetControlAddress : IRES_HDVICP2_Obj
  • resourceHandle : IRES_YieldContext
  • resourceName : IRES_ResourceDescriptor
  • result : RcmClient_Message
  • 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 Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • 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 , IRES_EDMA3CHAN2_Obj
  • shadowPaRamsAllocation : IRES_EDMA3CHAN_ProtocolArgs
  • size : IRES_VICP_Properties , IRES_VICP2_Buffers , IRES_EDMA3CHAN_ProtocolArgs , IRES_HDVICP_RegisterLayer , IRES_TILEDMEMORY_RegisterLayer , IRES_HDVICP_Properties , IRES_HDVICP2_RegisterLayer , IRES_HDVICP2_Properties , IRESMAN_Params , IRESMAN_ConstructArgs , IRES_TILEDMEMORY_Properties , IRES_VICP_ProtocolArgs , HDVICPSYNC_Params , IRES_VICP_Registers , VICPSYNC_Params , IRES_VICP2_ProtocolArgs , IRES_VICP2_Properties , IALG_MemRec , IALG_Params , IALG_Status , IDMA3_MemRec , IRES_ProtocolArgs , IRES_Properties
  • sizeDim0 : IRES_TILEDMEMORY_ProtocolArgs
  • sizeDim1 : IRES_TILEDMEMORY_ProtocolArgs
  • Source : IRES_ProtocolRevision
  • space : IALG_MemRec
  • src : SCPY_Params , IRES_EDMA3CHAN_PaRamStruct
  • srcAddr : ACPY3_Params , ECPY_Params
  • srcElementIndex : ECPY_Params , IRES_EDMA3CHAN_PaRamStruct , ACPY3_Params
  • srcFrameIndex : IRES_EDMA3CHAN_PaRamStruct , ACPY3_Params , ECPY_Params
  • stackSeg : RcmServer_ThreadPoolDesc , RcmServer_Params
  • stackSize : RcmServer_ThreadPoolDesc , RcmServer_Params
  • systemSpaceBaseAddress : IRES_TILEDMEMORY_Obj


Framework Components Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • 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
  • tilerBaseAddress : IRES_TILEDMEMORY_Obj
  • transfer : SCPY_Params
  • transferPending : IDMA3_Obj
  • transferType : ACPY3_Params , ECPY_Params


Framework Components Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- v -

  • vicp_cfg_base : IRES_VICP_Registers , IRES_VICP2_Buffers
  • vicp_umap1_base : IRES_VICP_Registers
  • vlcdBuf_base : IRES_VICP_Registers
  • vlcdBuf_length : IRES_VICP_Registers
  • vlcdDataBuf_base : IRES_VICP_Registers
  • vlcdDataBuf_length : IRES_VICP_Registers


Framework Components Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- w -

  • wait : IRES_HDVICP2_Obj
  • waitId : ACPY3_Params
  • workerPools : RcmServer_Params


Framework Components Application Programming Interface (API): Data Fields - Variables

  • Data Structures
  • Data Structure Index
  • Data Fields
  • All
  • Variables
  • _
  • a
  • b
  • c
  • d
  • e
  • f
  • g
  • h
  • i
  • j
  • l
  • m
  • n
  • o
  • p
  • q
  • r
  • s
  • t
  • v
  • w
  • y

- y -

  • yieldFxn : RMAN_Params
  • yieldSamePriority : RMAN_Params


Framework Components Application Programming Interface (API): Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • a
  • d
  • e
  • h
  • i
  • m
  • o
  • r
  • s
  • t
  • v
  • x
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- m -

  • MEMUTILS_cacheInv() : memutils.h
  • MEMUTILS_cacheWb() : memutils.h
  • MEMUTILS_cacheWbInv() : memutils.h
  • MEMUTILS_getPhysicalAddr() : memutils.h
  • MEMUTILS_MODNAME : memutils.h


Framework Components Application Programming Interface (API): Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • a
  • d
  • e
  • h
  • i
  • m
  • o
  • r
  • s
  • t
  • v
  • x
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- o -

  • 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
  • OTHER0 : ires_edma3Chan.h
  • OTHER1 : ires_edma3Chan.h


Framework Components Application Programming Interface (API): Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • a
  • d
  • e
  • h
  • i
  • m
  • o
  • r
  • s
  • t
  • v
  • x
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- 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_ExtendedHooks : 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_Hook : acpy3_instr.h
  • ACPY3_INSTR_HookFxn : acpy3_instr.h
  • ACPY3_INSTR_Hooks : 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_MODNAME : acpy3.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_Params : 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


Framework Components Application Programming Interface (API): Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • a
  • d
  • e
  • h
  • i
  • m
  • o
  • r
  • s
  • t
  • v
  • x
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- d -

  • DIFFERENTCODEC : ires_hdvicp2.h
  • 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_MODNAME : dman3.h
  • DMAN3_PARAMS : 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_MAX_MEM_ALLOCATION_SIZE : dskt2.h
  • DSKT2_MODNAME : dskt2.h
  • DSKT2_NUM_SCRATCH_GROUPS : dskt2.h
  • DSKT2_NUM_SHAREDHEAPS : dskt2.h
  • DSKT2_QOS_ALL_SCRATCHGROUPS : dskt2_qos.h
  • DSKT2_QOS_getStat() : dskt2_qos.h
  • DSKT2_QOS_SHARED_SCRATCH_ALLHEAPS : dskt2_qos.h
  • DSKT2_QOS_SHARED_SCRATCH_DARAM : dskt2_qos.h
  • DSKT2_QOS_SHARED_SCRATCH_SARAM : dskt2_qos.h
  • DSKT2_QOS_TI_GetSharedScratchMsgArg2 : dskt2_qos.h
  • DSKT2_QOS_TI_MsgArg1Types : dskt2_qos.h


Framework Components Application Programming Interface (API): Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • a
  • d
  • e
  • h
  • i
  • m
  • o
  • r
  • s
  • t
  • v
  • x
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- e -

  • ECPY_1D1D : ecpy.h
  • ECPY_1D2D : ecpy.h
  • ECPY_2D1D : ecpy.h
  • ECPY_2D2D : ecpy.h
  • ECPY_activate() : ecpy.h
  • ECPY_CFG_PARAMS : ecpy.h
  • ECPY_CfgParams : ecpy.h
  • ECPY_configure() : ecpy.h
  • ECPY_configure16() : ecpy.h
  • ECPY_configure32() : ecpy.h
  • ECPY_createHandle() : ecpy.h
  • ECPY_deactivate() : ecpy.h
  • ECPY_deleteHandle() : ecpy.h
  • ECPY_directConfigure() : ecpy.h
  • ECPY_directConfigure16() : ecpy.h
  • ECPY_directConfigure32() : ecpy.h
  • ECPY_directSetFinal() : ecpy.h
  • ECPY_directStartEdma() : ecpy.h
  • ECPY_directStartQdma() : ecpy.h
  • ECPY_directWait() : ecpy.h
  • ECPY_exit() : ecpy.h
  • ECPY_GTNAME : ecpy.h
  • ECPY_Handle : ecpy.h
  • ECPY_init() : ecpy.h
  • ECPY_MODNAME : ecpy.h
  • ECPY_ParamField16b : ecpy.h
  • ECPY_ParamField32b : ecpy.h
  • ECPY_PARAMFIELD_DSTADDR : ecpy.h
  • ECPY_PARAMFIELD_ELEMENTINDEX_DST : ecpy.h
  • ECPY_PARAMFIELD_ELEMENTINDEX_SRC : ecpy.h
  • ECPY_PARAMFIELD_ELEMENTINDEXES : ecpy.h
  • ECPY_PARAMFIELD_ELEMENTSIZE : ecpy.h
  • ECPY_PARAMFIELD_FRAMEINDEX_DST : ecpy.h
  • ECPY_PARAMFIELD_FRAMEINDEX_SRC : ecpy.h
  • ECPY_PARAMFIELD_FRAMEINDEXES : ecpy.h
  • ECPY_PARAMFIELD_NUMELEMENTS : ecpy.h
  • ECPY_PARAMFIELD_NUMFRAMES : ecpy.h
  • ECPY_PARAMFIELD_SRCADDR : ecpy.h
  • ECPY_Params : ecpy.h
  • ECPY_PersistentAllocFxn : ecpy.h
  • ECPY_PersistentFreeFxn : ecpy.h
  • ECPY_setDestinationMemoryMode() : ecpy.h
  • ECPY_setFinal() : ecpy.h
  • ECPY_start() : ecpy.h
  • ECPY_TransferType : ecpy.h
  • ECPY_wait() : ecpy.h
  • EDMA3CHAN_GTNAME : ires_edma3Chan.h
  • EDMA3CHAN_MODNAME : ires_edma3Chan.h
  • EXTMEMORY0 : ires_edma3Chan.h
  • EXTMEMORY1 : ires_edma3Chan.h
  • EXTMEMORY2 : ires_edma3Chan.h


Framework Components Application Programming Interface (API): Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • a
  • d
  • e
  • h
  • i
  • m
  • o
  • r
  • s
  • t
  • v
  • x
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- h -

  • HDINTC_EFAIL : hdintc.h
  • HDINTC_EOUTOFMEMORY : hdintc.h
  • HDINTC_GTNAME : hdintc.h
  • HDINTC_PARAMS : hdintc.h
  • HDINTC_Params : hdintc.h
  • HDINTC_SOK : hdintc.h
  • HDVICP2_MODNAME : ires_hdvicp2.h
  • HDVICP_configure() : hdintc.h
  • HDVICP_done() : hdintc.h
  • HDVICP_Handle : hdintc.h
  • HDVICP_MODNAME : ires_hdvicp.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_Params : hdvicpsync.h
  • HDVICPSYNC_start() : hdvicpsync.h
  • HDVICPSYNC_Status : hdvicpsync.h
  • HDVICPSYNC_unregister() : hdvicpsync.h
  • HDVICPSYNC_wait() : hdvicpsync.h


Framework Components Application Programming Interface (API): Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • a
  • d
  • e
  • h
  • i
  • m
  • o
  • r
  • s
  • t
  • v
  • x
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- i -

  • IALG_Cmd : ialg.h
  • IALG_CUSTOMFAILBASE : ialg.h
  • IALG_CUSTOMFAILEND : ialg.h
  • IALG_DARAM0 : ialg.h
  • IALG_DARAM1 : ialg.h
  • IALG_DARAM2 : ialg.h
  • IALG_DEFMEMRECS : ialg.h
  • IALG_EFAIL : ialg.h
  • IALG_EOK : ialg.h
  • IALG_EPROG : ialg.h
  • IALG_ESDATA : ialg.h
  • IALG_EXTERNAL : ialg.h
  • IALG_Fxns : ialg.h
  • IALG_Handle : ialg.h
  • IALG_IPROG : ialg.h
  • IALG_isOffChip : ialg.h
  • IALG_isProg : ialg.h
  • IALG_MemAttrs : ialg.h
  • IALG_MemRec : ialg.h
  • IALG_MemSpace : ialg.h
  • IALG_MPROG : ialg.h
  • IALG_MXTRN : ialg.h
  • IALG_Obj : ialg.h
  • IALG_OBJMEMREC : ialg.h
  • IALG_Params : ialg.h
  • IALG_PERSIST : ialg.h
  • IALG_SARAM : ialg.h
  • IALG_SARAM0 : ialg.h
  • IALG_SARAM1 : ialg.h
  • IALG_SARAM2 : ialg.h
  • IALG_SCRATCH : ialg.h
  • IALG_Status : ialg.h
  • IALG_SYSCMD : ialg.h
  • IALG_WRITEONCE : ialg.h
  • IDMA3_ChannelRec : idma3.h
  • IDMA3_EXTERNAL : idma3.h
  • IDMA3_Fxns : idma3.h
  • IDMA3_Handle : idma3.h
  • IDMA3_INTERNAL : idma3.h
  • IDMA3_MemRec : idma3.h
  • IDMA3_MemType : idma3.h
  • IDMA3_Obj : 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
  • IDMA3_ProtocolObj : 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
  • INTMEMORY0 : ires_edma3Chan.h
  • INTMEMORY1 : ires_edma3Chan.h
  • INTMEMORY2 : ires_edma3Chan.h
  • IRES_ALL : ires.h
  • IRES_ContextRestoreFxn : ires.h
  • IRES_ContextSaveFxn : ires.h
  • IRES_EALG : ires_common.h
  • IRES_EDMA3CHAN2_Handle : ires_edma3Chan.h
  • IRES_EDMA3CHAN2_Obj : ires_edma3Chan.h
  • IRES_EDMA3CHAN_CHAN_NONE : ires_edma3Chan.h
  • IRES_EDMA3CHAN_DmaDestType : ires_edma3Chan.h
  • IRES_EDMA3CHAN_EDMA3DraeRegister : ires_edma3Chan.h
  • IRES_EDMA3CHAN_EDMA3RegisterLayer : ires_edma3Chan.h
  • IRES_EDMA3CHAN_EDMA3ShadowRegister : ires_edma3Chan.h
  • IRES_EDMA3CHAN_EDMACHAN_ANY : ires_edma3Chan.h
  • IRES_EDMA3CHAN_Handle : ires_edma3Chan.h
  • IRES_EDMA3CHAN_MAXPARAMS : ires_edma3Chan.h
  • IRES_EDMA3CHAN_MAXTCCS : ires_edma3Chan.h
  • IRES_EDMA3CHAN_NUMDESTTYPES : ires_edma3Chan.h
  • IRES_EDMA3CHAN_Obj : ires_edma3Chan.h
  • IRES_EDMA3CHAN_PARAM_ANY : ires_edma3Chan.h
  • IRES_EDMA3CHAN_PARAM_NONE : ires_edma3Chan.h
  • IRES_EDMA3CHAN_PaRamStruct : ires_edma3Chan.h
  • IRES_EDMA3CHAN_Properties : ires_edma3Chan.h
  • IRES_EDMA3CHAN_ProtocolArgs : ires_edma3Chan.h
  • IRES_EDMA3CHAN_PROTOCOLNAME : ires_edma3Chan.h
  • IRES_EDMA3CHAN_PROTOCOLREVISION_1_0_0 : ires_edma3Chan.h
  • IRES_EDMA3CHAN_PROTOCOLREVISION_2_0_0 : ires_edma3Chan.h
  • IRES_EDMA3CHAN_QDMACHAN_ANY : ires_edma3Chan.h
  • IRES_EDMA3CHAN_SETPROTOCOLREVISION_1_0_0 : ires_edma3Chan.h
  • IRES_EDMA3CHAN_SETPROTOCOLREVISION_2_0_0 : ires_edma3Chan.h
  • IRES_EDMA3CHAN_TCC_ANY : ires_edma3Chan.h
  • IRES_EDMA3CHAN_TCC_NONE : ires_edma3Chan.h
  • IRES_EEXISTS : ires_common.h
  • IRES_EFAIL : ires_common.h
  • IRES_EINIT : ires_common.h
  • IRES_ENOINIT : ires_common.h
  • IRES_ENOMEM : ires_common.h
  • IRES_ENORESOURCE : ires_common.h
  • IRES_ENOTFOUND : ires_common.h
  • IRES_Fxns : ires.h
  • IRES_Handle : ires_common.h
  • IRES_HDVICP2_CallbackFxn : ires_hdvicp2.h
  • IRES_HDVICP2_Handle : ires_hdvicp2.h
  • IRES_HDVICP2_ID_ANY : ires_hdvicp2.h
  • IRES_HDVICP2_ID_LATE_ACQUIRE : ires_hdvicp2.h
  • IRES_HDVICP2_INVALID_ADDR : ires_hdvicp2.h
  • IRES_HDVICP2_Obj : ires_hdvicp2.h
  • IRES_HDVICP2_Properties : ires_hdvicp2.h
  • IRES_HDVICP2_ProtocolArgs : ires_hdvicp2.h
  • IRES_HDVICP2_PROTOCOLNAME : ires_hdvicp2.h
  • IRES_HDVICP2_RegisterLayer : ires_hdvicp2.h
  • IRES_HDVICP2_Status : ires_hdvicp2.h
  • IRES_HDVICP2_TIMEOUTFOREVER : ires_hdvicp2.h
  • IRES_HDVICP2_UNKNOWNLATEACQUIREARG : ires_hdvicp2.h
  • IRES_HDVICP_Handle : ires_hdvicp.h
  • IRES_HDVICP_ID_0 : ires_hdvicp.h
  • IRES_HDVICP_ID_1 : ires_hdvicp.h
  • IRES_HDVICP_ID_ANY : ires_hdvicp.h
  • IRES_HDVICP_MAXRESOURCES : iresman_hdvicp.h
  • IRES_HDVICP_Obj : ires_hdvicp.h
  • IRES_HDVICP_Properties : ires_hdvicp.h
  • IRES_HDVICP_ProtocolArgs : ires_hdvicp.h
  • IRES_HDVICP_PROTOCOLNAME : ires_hdvicp.h
  • IRES_HDVICP_RegisterLayer : ires_hdvicp.h
  • IRES_HDVICP_RequestType : ires_hdvicp.h
  • IRES_LATEACQUIRE : ires_common.h
  • IRES_Obj : ires_common.h
  • IRES_OK : ires_common.h
  • IRES_PERSISTENT : ires_common.h
  • IRES_Properties : ires_common.h
  • IRES_ProtocolArgs : ires_common.h
  • IRES_ProtocolRevision : ires_common.h
  • IRES_RequestMode : ires_common.h
  • IRES_ResourceDescriptor : ires_common.h
  • IRES_RESOURCEHANDLE : ires.h
  • IRES_SCRATCH : ires_common.h
  • IRES_SCRATCHDMA : ires.h
  • IRES_SCRATCHMEMORY : ires.h
  • IRES_SDMA_Handle : ires_sdma.h
  • IRES_SDMA_Obj : ires_sdma.h
  • IRES_SDMA_Properties : ires_sdma.h
  • IRES_SDMA_ProtocolArgs : ires_sdma.h
  • IRES_SDMA_PROTOCOLNAME : ires_sdma.h
  • IRES_SDMA_RegisterLayer : ires_sdma.h
  • IRES_Status : ires_common.h
  • IRES_TILEDMEMORY_16BIT : ires_tiledmemory.h
  • IRES_TILEDMEMORY_1D : ires_tiledmemory.h
  • IRES_TILEDMEMORY_2D : ires_tiledmemory.h
  • IRES_TILEDMEMORY_32BIT : ires_tiledmemory.h
  • IRES_TILEDMEMORY_8BIT : ires_tiledmemory.h
  • IRES_TILEDMEMORY_AccessDimension : ires_tiledmemory.h
  • IRES_TILEDMEMORY_AccessUnit : ires_tiledmemory.h
  • IRES_TILEDMEMORY_Handle : ires_tiledmemory.h
  • IRES_TILEDMEMORY_MAXRESOURCES : iresman_tiledmemory.h
  • IRES_TILEDMEMORY_Obj : ires_tiledmemory.h
  • IRES_TILEDMEMORY_PAGE : ires_tiledmemory.h
  • IRES_TILEDMEMORY_Properties : ires_tiledmemory.h
  • IRES_TILEDMEMORY_ProtocolArgs : ires_tiledmemory.h
  • IRES_TILEDMEMORY_PROTOCOLNAME : ires_tiledmemory.h
  • IRES_TILEDMEMORY_RAW : ires_tiledmemory.h
  • IRES_TILEDMEMORY_RegisterLayer : ires_tiledmemory.h
  • IRES_VICP2_BADRESOURCE : ires_vicp2.h
  • IRES_VICP2_Buffers : ires_vicp2.h
  • IRES_VICP2_Handle : ires_vicp2.h
  • IRES_VICP2_MAXRESOURCES : ires_vicp2.h
  • IRES_VICP2_NUMBUFFERS : ires_vicp2.h
  • IRES_VICP2_Obj : ires_vicp2.h
  • IRES_VICP2_Properties : ires_vicp2.h
  • IRES_VICP2_ProtocolArgs : ires_vicp2.h
  • IRES_VICP2_PROTOCOLNAME : ires_vicp2.h
  • IRES_VICP_Handle : ires_vicp.h
  • IRES_VICP_MAXRESOURCES : ires_vicp.h
  • IRES_VICP_Obj : ires_vicp.h
  • IRES_VICP_Properties : ires_vicp.h
  • IRES_VICP_ProtocolArgs : ires_vicp.h
  • IRES_VICP_PROTOCOLNAME : ires_vicp.h
  • IRES_VICP_Registers : ires_vicp.h
  • IRES_YieldArgs : ires.h
  • IRES_YieldContext : ires.h
  • IRES_YieldContextHandle : ires.h
  • IRES_YieldFxn : ires.h
  • IRES_YieldResourceType : ires.h
  • IRESMAN_ConstructArgs : iresman_protocol.h
  • IRESMAN_ConstructFxns : iresman_protocol.h
  • IRESMAN_EDMA3CHAN : iresman_edma3Chan.h
  • IRESMAN_EDMA3CHAN_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_Edma3ChanParams : iresman_edma3Chan.h
  • IRESMAN_Fxns : iresman.h
  • IRESMAN_HDVICP : iresman_hdvicp.h
  • IRESMAN_HDVICP_exit() : iresman_hdvicp.h
  • IRESMAN_HDVICP_freeHandles() : iresman_hdvicp.h
  • IRESMAN_HDVICP_getHandles() : iresman_hdvicp.h
  • IRESMAN_HDVICP_getProtocolName() : iresman_hdvicp.h
  • IRESMAN_HDVICP_getProtocolRevision() : iresman_hdvicp.h
  • IRESMAN_HDVICP_init() : iresman_hdvicp.h
  • IRESMAN_HdVicpParams : iresman_hdvicp.h
  • IRESMAN_Params : iresman.h
  • IRESMAN_PersistentAllocFxn : iresman.h
  • IRESMAN_PersistentFreeFxn : iresman.h
  • IRESMAN_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_SdmaParams : iresman_sdma.h
  • IRESMAN_TILEDMEMORY : iresman_tiledmemory.h
  • IRESMAN_TILEDMEMORY_exit() : iresman_tiledmemory.h
  • IRESMAN_TILEDMEMORY_freeHandles() : iresman_tiledmemory.h
  • IRESMAN_TILEDMEMORY_getHandles() : iresman_tiledmemory.h
  • IRESMAN_TILEDMEMORY_getProtocolName() : iresman_tiledmemory.h
  • IRESMAN_TILEDMEMORY_getProtocolRevision() : iresman_tiledmemory.h
  • IRESMAN_TILEDMEMORY_init() : iresman_tiledmemory.h
  • IRESMAN_TiledmemoryParams : iresman_tiledmemory.h
  • IRESMAN_VICP : iresman_vicp.h
  • IRESMAN_VICP2 : iresman_vicp2.h
  • IRESMAN_VICP2_exit() : iresman_vicp2.h
  • IRESMAN_VICP2_freeHandles() : iresman_vicp2.h
  • IRESMAN_VICP2_getHandles() : iresman_vicp2.h
  • IRESMAN_VICP2_getProtocolName() : iresman_vicp2.h
  • IRESMAN_VICP2_getProtocolRevision() : iresman_vicp2.h
  • IRESMAN_VICP2_init() : iresman_vicp2.h
  • IRESMAN_VICP_exit() : iresman_vicp.h
  • IRESMAN_VICP_freeHandles() : iresman_vicp.h
  • IRESMAN_VICP_getHandles() : iresman_vicp.h
  • IRESMAN_VICP_getProtocolName() : iresman_vicp.h
  • IRESMAN_VICP_getProtocolRevision() : iresman_vicp.h
  • IRESMAN_VICP_init() : iresman_vicp.h
  • IRESMAN_VicpParams : iresman_vicp.h , iresman_vicp2.h


Framework Components Application Programming Interface (API): Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • a
  • d
  • e
  • h
  • i
  • m
  • o
  • r
  • s
  • t
  • v
  • x
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- r -

  • RcmClient_acquireJobId() : RcmClient.h
  • RcmClient_addSymbol() : RcmClient.h
  • RcmClient_alloc() : RcmClient.h
  • RcmClient_CallbackFxn : RcmClient.h
  • RcmClient_checkForError() : RcmClient.h
  • RcmClient_construct() : RcmClient.h
  • RcmClient_create() : RcmClient.h
  • RcmClient_DEFAULTPOOLID : RcmClient.h
  • RcmClient_delete() : RcmClient.h
  • RcmClient_destruct() : RcmClient.h
  • RcmClient_DISCRETEJOBID : RcmClient.h
  • RcmClient_E_EXECASYNCNOTENABLED : RcmClient.h
  • RcmClient_E_EXECFAILED : RcmClient.h
  • RcmClient_E_FAIL : RcmClient.h
  • RcmClient_E_INVALIDFXNIDX : RcmClient.h
  • RcmClient_E_INVALIDHEAPID : RcmClient.h
  • RcmClient_E_IPCERROR : RcmClient.h
  • RcmClient_E_JOBIDNOTFOUND : RcmClient.h
  • RcmClient_E_LISTCREATEFAILED : RcmClient.h
  • RcmClient_E_LOSTMSG : RcmClient.h
  • RcmClient_E_MSGALLOCFAILED : RcmClient.h
  • RcmClient_E_MSGFXNERROR : RcmClient.h
  • RcmClient_E_MSGQCREATEFAILED : RcmClient.h
  • RcmClient_E_MSGQOPENFAILED : RcmClient.h
  • RcmClient_E_NOMEMORY : RcmClient.h
  • RcmClient_E_SERVERERROR : RcmClient.h
  • RcmClient_E_SERVERNOTFOUND : RcmClient.h
  • RcmClient_E_SYMBOLNOTFOUND : RcmClient.h
  • RcmClient_exec() : RcmClient.h
  • RcmClient_execAsync() : RcmClient.h
  • RcmClient_execCmd() : RcmClient.h
  • RcmClient_execDpc() : RcmClient.h
  • RcmClient_execNoWait() : RcmClient.h
  • RcmClient_exit() : RcmClient.h
  • RcmClient_free() : RcmClient.h
  • RcmClient_getSymbolIndex() : RcmClient.h
  • RcmClient_Handle : RcmClient.h
  • RcmClient_init() : RcmClient.h
  • RcmClient_INVALIDFXNIDX : RcmClient.h
  • RcmClient_INVALIDHEAPID : RcmClient.h
  • RcmClient_INVALIDMSGID : RcmClient.h
  • RcmClient_Params_init() : RcmClient.h
  • RcmClient_releaseJobId() : RcmClient.h
  • RcmClient_removeSymbol() : RcmClient.h
  • RcmClient_S_SUCCESS : RcmClient.h
  • RcmClient_waitUntilDone() : RcmClient.h
  • RcmServer_addSymbol() : RcmServer.h
  • RcmServer_construct() : RcmServer.h
  • RcmServer_create() : RcmServer.h
  • RcmServer_delete() : RcmServer.h
  • RcmServer_destruct() : RcmServer.h
  • RcmServer_E_FAIL : RcmServer.h
  • RcmServer_E_NOMEMORY : RcmServer.h
  • RcmServer_E_SYMBOLNOTFOUND : RcmServer.h
  • RcmServer_E_SYMBOLSTATIC : RcmServer.h
  • RcmServer_E_SYMBOLTABLEFULL : RcmServer.h
  • RcmServer_exit() : RcmServer.h
  • RcmServer_Handle : RcmServer.h
  • RcmServer_init() : RcmServer.h
  • RcmServer_MsgFxn : RcmServer.h
  • RcmServer_Params_init() : RcmServer.h
  • RcmServer_removeSymbol() : RcmServer.h
  • RcmServer_S_SUCCESS : RcmServer.h
  • RcmServer_start() : RcmServer.h
  • RMAN_activateAllResources() : rman.h
  • RMAN_activateResource() : rman.h
  • RMAN_allocateResources() : rman.h
  • RMAN_assignResources() : rman.h
  • RMAN_deactivateAllResources() : rman.h
  • RMAN_deactivateResource() : rman.h
  • RMAN_exit() : rman.h
  • RMAN_FREE_ENTRIES : rman.h
  • RMAN_freeAllocatedResources() : rman.h
  • RMAN_freeResources() : rman.h
  • RMAN_GTNAME : rman.h
  • RMAN_init() : rman.h
  • RMAN_iresVTable : rman.h
  • RMAN_MODNAME : rman.h
  • RMAN_numRegistryEntries : rman.h
  • RMAN_Params : rman.h
  • RMAN_PARAMS : rman.h
  • RMAN_PROTOCOLNAMESIZE : rman.h
  • RMAN_register() : rman.h
  • RMAN_registryEntries : rman.h
  • RMAN_registryResmanArgs : rman.h
  • RMAN_SemHandle : rman.h
  • RMAN_TABLE : rman.h
  • RMAN_unregister() : rman.h
  • RMAN_yield() : rman.h


Framework Components Application Programming Interface (API): Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • a
  • d
  • e
  • h
  • i
  • m
  • o
  • r
  • s
  • t
  • v
  • x
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- s -

  • SAMECODEC : ires_hdvicp2.h
  • SAMECODECTYPE : ires_hdvicp2.h
  • SCPY_AddrParams : scpy.h
  • SCPY_complete() : scpy.h
  • SCPY_configure() : scpy.h
  • SCPY_exit() : scpy.h
  • SCPY_init() : scpy.h
  • SCPY_Params : scpy.h
  • SCPY_start() : scpy.h
  • SCPY_TransferParams : scpy.h
  • SCPY_wait() : scpy.h
  • SDMA_GTNAME : ires_sdma.h
  • SDMA_MODNAME : ires_sdma.h


Framework Components Application Programming Interface (API): Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • a
  • d
  • e
  • h
  • i
  • m
  • o
  • r
  • s
  • t
  • v
  • x
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- t -

  • ti_sdo_fc_ires_hdvicp_HDVICP2_FreeHdvicp2Fxn : ires_hdvicp2.h
  • ti_sdo_fc_ires_hdvicp_HDVICP2_GetHdvicp2Fxn : ires_hdvicp2.h
  • ti_sdo_fc_ires_hdvicp_HDVICP2_timeoutVal : ires_hdvicp2.h
  • ti_sdo_fc_ires_NOPROTOCOLREV : ecpy.h , rman.h
  • TILEDMEMORY_MODNAME : ires_tiledmemory.h


Framework Components Application Programming Interface (API): Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • a
  • d
  • e
  • h
  • i
  • m
  • o
  • r
  • s
  • t
  • v
  • x
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- v -

  • VICP2_MODNAME : ires_vicp2.h
  • VICP_MODNAME : ires_vicp.h
  • 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_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 Application Programming Interface (API): Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • a
  • d
  • e
  • h
  • i
  • m
  • o
  • r
  • s
  • t
  • v
  • x
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:

- x -

  • XDAS_Bool : xdas.h
  • XDAS_FALSE : xdas.h
  • XDAS_Int16 : xdas.h
  • XDAS_Int32 : xdas.h
  • XDAS_Int8 : xdas.h
  • XDAS_TRUE : xdas.h
  • XDAS_UInt16 : xdas.h
  • XDAS_UInt32 : xdas.h
  • XDAS_UInt8 : xdas.h
  • XDAS_Void : xdas.h


Framework Components Application Programming Interface (API): Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • d
  • e
  • 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
  • ACPY3_MODNAME : acpy3.h

- d -

  • 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_MODNAME : dman3.h
  • DMAN3_SOK : dman3.h
  • DSKT2_MAX_MEM_ALLOCATION_SIZE : dskt2.h
  • DSKT2_MODNAME : dskt2.h
  • DSKT2_NUM_SCRATCH_GROUPS : dskt2.h
  • DSKT2_NUM_SHAREDHEAPS : dskt2.h

- e -

  • ECPY_GTNAME : ecpy.h
  • ECPY_MODNAME : ecpy.h
  • EDMA3CHAN_GTNAME : ires_edma3Chan.h
  • EDMA3CHAN_MODNAME : ires_edma3Chan.h

- h -

  • HDINTC_EFAIL : hdintc.h
  • HDINTC_EOUTOFMEMORY : hdintc.h
  • HDINTC_GTNAME : hdintc.h
  • HDINTC_SOK : hdintc.h
  • HDVICP2_MODNAME : ires_hdvicp2.h
  • HDVICP_MODNAME : ires_hdvicp.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_EDMA3CHAN_CHAN_NONE : ires_edma3Chan.h
  • IRES_EDMA3CHAN_EDMACHAN_ANY : ires_edma3Chan.h
  • IRES_EDMA3CHAN_MAXPARAMS : ires_edma3Chan.h
  • IRES_EDMA3CHAN_MAXTCCS : ires_edma3Chan.h
  • IRES_EDMA3CHAN_NUMDESTTYPES : ires_edma3Chan.h
  • IRES_EDMA3CHAN_PARAM_ANY : ires_edma3Chan.h
  • IRES_EDMA3CHAN_PARAM_NONE : ires_edma3Chan.h
  • IRES_EDMA3CHAN_PROTOCOLNAME : ires_edma3Chan.h
  • IRES_EDMA3CHAN_PROTOCOLREVISION_1_0_0 : ires_edma3Chan.h
  • IRES_EDMA3CHAN_PROTOCOLREVISION_2_0_0 : ires_edma3Chan.h
  • IRES_EDMA3CHAN_QDMACHAN_ANY : ires_edma3Chan.h
  • IRES_EDMA3CHAN_SETPROTOCOLREVISION_1_0_0 : ires_edma3Chan.h
  • IRES_EDMA3CHAN_SETPROTOCOLREVISION_2_0_0 : ires_edma3Chan.h
  • IRES_EDMA3CHAN_TCC_ANY : ires_edma3Chan.h
  • IRES_EDMA3CHAN_TCC_NONE : ires_edma3Chan.h
  • IRES_HDVICP2_ID_ANY : ires_hdvicp2.h
  • IRES_HDVICP2_ID_LATE_ACQUIRE : ires_hdvicp2.h
  • IRES_HDVICP2_INVALID_ADDR : ires_hdvicp2.h
  • IRES_HDVICP2_PROTOCOLNAME : ires_hdvicp2.h
  • IRES_HDVICP2_TIMEOUTFOREVER : ires_hdvicp2.h
  • IRES_HDVICP2_UNKNOWNLATEACQUIREARG : ires_hdvicp2.h
  • IRES_HDVICP_MAXRESOURCES : iresman_hdvicp.h
  • IRES_HDVICP_PROTOCOLNAME : ires_hdvicp.h
  • IRES_SDMA_PROTOCOLNAME : ires_sdma.h
  • IRES_TILEDMEMORY_MAXRESOURCES : iresman_tiledmemory.h
  • IRES_TILEDMEMORY_PROTOCOLNAME : ires_tiledmemory.h
  • IRES_VICP2_BADRESOURCE : ires_vicp2.h
  • IRES_VICP2_MAXRESOURCES : ires_vicp2.h
  • IRES_VICP2_NUMBUFFERS : ires_vicp2.h
  • IRES_VICP2_PROTOCOLNAME : ires_vicp2.h
  • IRES_VICP_MAXRESOURCES : ires_vicp.h
  • IRES_VICP_PROTOCOLNAME : ires_vicp.h

- m -

  • MEMUTILS_MODNAME : memutils.h

- 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 -

  • RcmClient_DEFAULTPOOLID : RcmClient.h
  • RcmClient_DISCRETEJOBID : RcmClient.h
  • RcmClient_E_EXECASYNCNOTENABLED : RcmClient.h
  • RcmClient_E_EXECFAILED : RcmClient.h
  • RcmClient_E_FAIL : RcmClient.h
  • RcmClient_E_INVALIDFXNIDX : RcmClient.h
  • RcmClient_E_INVALIDHEAPID : RcmClient.h
  • RcmClient_E_IPCERROR : RcmClient.h
  • RcmClient_E_JOBIDNOTFOUND : RcmClient.h
  • RcmClient_E_LISTCREATEFAILED : RcmClient.h
  • RcmClient_E_LOSTMSG : RcmClient.h
  • RcmClient_E_MSGALLOCFAILED : RcmClient.h
  • RcmClient_E_MSGFXNERROR : RcmClient.h
  • RcmClient_E_MSGQCREATEFAILED : RcmClient.h
  • RcmClient_E_MSGQOPENFAILED : RcmClient.h
  • RcmClient_E_NOMEMORY : RcmClient.h
  • RcmClient_E_SERVERERROR : RcmClient.h
  • RcmClient_E_SERVERNOTFOUND : RcmClient.h
  • RcmClient_E_SYMBOLNOTFOUND : RcmClient.h
  • RcmClient_INVALIDFXNIDX : RcmClient.h
  • RcmClient_INVALIDHEAPID : RcmClient.h
  • RcmClient_INVALIDMSGID : RcmClient.h
  • RcmClient_S_SUCCESS : RcmClient.h
  • RcmServer_E_FAIL : RcmServer.h
  • RcmServer_E_NOMEMORY : RcmServer.h
  • RcmServer_E_SYMBOLNOTFOUND : RcmServer.h
  • RcmServer_E_SYMBOLSTATIC : RcmServer.h
  • RcmServer_E_SYMBOLTABLEFULL : RcmServer.h
  • RcmServer_S_SUCCESS : RcmServer.h
  • RMAN_GTNAME : rman.h
  • RMAN_MODNAME : rman.h
  • RMAN_PROTOCOLNAMESIZE : rman.h

- s -

  • SDMA_GTNAME : ires_sdma.h
  • SDMA_MODNAME : ires_sdma.h

- t -

  • ti_sdo_fc_ires_NOPROTOCOLREV : ecpy.h , rman.h
  • TILEDMEMORY_MODNAME : ires_tiledmemory.h

- v -

  • VICP2_MODNAME : ires_vicp2.h
  • VICP_MODNAME : ires_vicp.h
  • VICPSYNC_GTNAME : vicpsync.h

- x -

  • XDAS_FALSE : xdas.h
  • XDAS_TRUE : xdas.h


Framework Components Application Programming Interface (API): Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • 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
  • ECPY_ParamField16b : ecpy.h
  • ECPY_ParamField32b : ecpy.h
  • ECPY_TransferType : ecpy.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_EDMA3CHAN_DmaDestType : ires_edma3Chan.h
  • IRES_HDVICP2_Status : ires_hdvicp2.h
  • IRES_HDVICP_RequestType : ires_hdvicp.h
  • IRES_RequestMode : ires_common.h
  • IRES_Status : ires_common.h
  • IRES_TILEDMEMORY_AccessDimension : ires_tiledmemory.h
  • IRES_TILEDMEMORY_AccessUnit : ires_tiledmemory.h
  • IRES_YieldResourceType : ires.h
  • VICPSYNC_InterruptLine : vicpsync.h
  • VICPSYNC_InterruptType : vicpsync.h
  • VICPSYNC_ResourceType : vicpsync.h
  • VICPSYNC_Status : vicpsync.h


Framework Components Application Programming Interface (API): Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • d
  • e
  • h
  • i
  • o
  • s
  • 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 -

  • DIFFERENTCODEC : ires_hdvicp2.h
  • DSKT2_QOS_ALL_SCRATCHGROUPS : dskt2_qos.h
  • DSKT2_QOS_SHARED_SCRATCH_ALLHEAPS : dskt2_qos.h
  • DSKT2_QOS_SHARED_SCRATCH_DARAM : dskt2_qos.h
  • DSKT2_QOS_SHARED_SCRATCH_SARAM : dskt2_qos.h

- e -

  • ECPY_1D1D : ecpy.h
  • ECPY_1D2D : ecpy.h
  • ECPY_2D1D : ecpy.h
  • ECPY_2D2D : ecpy.h
  • ECPY_PARAMFIELD_DSTADDR : ecpy.h
  • ECPY_PARAMFIELD_ELEMENTINDEX_DST : ecpy.h
  • ECPY_PARAMFIELD_ELEMENTINDEX_SRC : ecpy.h
  • ECPY_PARAMFIELD_ELEMENTINDEXES : ecpy.h
  • ECPY_PARAMFIELD_ELEMENTSIZE : ecpy.h
  • ECPY_PARAMFIELD_FRAMEINDEX_DST : ecpy.h
  • ECPY_PARAMFIELD_FRAMEINDEX_SRC : ecpy.h
  • ECPY_PARAMFIELD_FRAMEINDEXES : ecpy.h
  • ECPY_PARAMFIELD_NUMELEMENTS : ecpy.h
  • ECPY_PARAMFIELD_NUMFRAMES : ecpy.h
  • ECPY_PARAMFIELD_SRCADDR : ecpy.h
  • EXTMEMORY0 : ires_edma3Chan.h
  • EXTMEMORY1 : ires_edma3Chan.h
  • EXTMEMORY2 : ires_edma3Chan.h

- 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
  • INTMEMORY0 : ires_edma3Chan.h
  • INTMEMORY1 : ires_edma3Chan.h
  • INTMEMORY2 : ires_edma3Chan.h
  • IRES_ALL : ires.h
  • IRES_EALG : ires_common.h
  • IRES_EEXISTS : ires_common.h
  • IRES_EFAIL : ires_common.h
  • IRES_EINIT : ires_common.h
  • IRES_ENOINIT : ires_common.h
  • IRES_ENOMEM : ires_common.h
  • IRES_ENORESOURCE : ires_common.h
  • IRES_ENOTFOUND : ires_common.h
  • IRES_HDVICP_ID_0 : ires_hdvicp.h
  • IRES_HDVICP_ID_1 : ires_hdvicp.h
  • IRES_HDVICP_ID_ANY : ires_hdvicp.h
  • IRES_LATEACQUIRE : ires_common.h
  • IRES_OK : ires_common.h
  • IRES_PERSISTENT : ires_common.h
  • IRES_RESOURCEHANDLE : ires.h
  • IRES_SCRATCH : ires_common.h
  • IRES_SCRATCHDMA : ires.h
  • IRES_SCRATCHMEMORY : ires.h
  • IRES_TILEDMEMORY_16BIT : ires_tiledmemory.h
  • IRES_TILEDMEMORY_1D : ires_tiledmemory.h
  • IRES_TILEDMEMORY_2D : ires_tiledmemory.h
  • IRES_TILEDMEMORY_32BIT : ires_tiledmemory.h
  • IRES_TILEDMEMORY_8BIT : ires_tiledmemory.h
  • IRES_TILEDMEMORY_PAGE : ires_tiledmemory.h
  • IRES_TILEDMEMORY_RAW : ires_tiledmemory.h

- o -

  • OTHER0 : ires_edma3Chan.h
  • OTHER1 : ires_edma3Chan.h

- s -

  • SAMECODEC : ires_hdvicp2.h
  • SAMECODECTYPE : ires_hdvicp2.h

- 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 Application Programming Interface (API): Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • d
  • e
  • h
  • i
  • m
  • r
  • s
  • v

- 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

- e -

  • ECPY_activate() : ecpy.h
  • ECPY_configure() : ecpy.h
  • ECPY_configure16() : ecpy.h
  • ECPY_configure32() : ecpy.h
  • ECPY_createHandle() : ecpy.h
  • ECPY_deactivate() : ecpy.h
  • ECPY_deleteHandle() : ecpy.h
  • ECPY_directConfigure() : ecpy.h
  • ECPY_directConfigure16() : ecpy.h
  • ECPY_directConfigure32() : ecpy.h
  • ECPY_directSetFinal() : ecpy.h
  • ECPY_directStartEdma() : ecpy.h
  • ECPY_directStartQdma() : ecpy.h
  • ECPY_directWait() : ecpy.h
  • ECPY_exit() : ecpy.h
  • ECPY_init() : ecpy.h
  • ECPY_setDestinationMemoryMode() : ecpy.h
  • ECPY_setFinal() : ecpy.h
  • ECPY_start() : ecpy.h
  • ECPY_wait() : ecpy.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_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_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_TILEDMEMORY_exit() : iresman_tiledmemory.h
  • IRESMAN_TILEDMEMORY_freeHandles() : iresman_tiledmemory.h
  • IRESMAN_TILEDMEMORY_getHandles() : iresman_tiledmemory.h
  • IRESMAN_TILEDMEMORY_getProtocolName() : iresman_tiledmemory.h
  • IRESMAN_TILEDMEMORY_getProtocolRevision() : iresman_tiledmemory.h
  • IRESMAN_TILEDMEMORY_init() : iresman_tiledmemory.h
  • IRESMAN_VICP2_exit() : iresman_vicp2.h
  • IRESMAN_VICP2_freeHandles() : iresman_vicp2.h
  • IRESMAN_VICP2_getHandles() : iresman_vicp2.h
  • IRESMAN_VICP2_getProtocolName() : iresman_vicp2.h
  • IRESMAN_VICP2_getProtocolRevision() : iresman_vicp2.h
  • IRESMAN_VICP2_init() : iresman_vicp2.h
  • IRESMAN_VICP_exit() : iresman_vicp.h
  • IRESMAN_VICP_freeHandles() : iresman_vicp.h
  • IRESMAN_VICP_getHandles() : iresman_vicp.h
  • IRESMAN_VICP_getProtocolName() : iresman_vicp.h
  • IRESMAN_VICP_getProtocolRevision() : iresman_vicp.h
  • IRESMAN_VICP_init() : iresman_vicp.h

- m -

  • MEMUTILS_cacheInv() : memutils.h
  • MEMUTILS_cacheWb() : memutils.h
  • MEMUTILS_cacheWbInv() : memutils.h
  • MEMUTILS_getPhysicalAddr() : memutils.h

- r -

  • RcmClient_acquireJobId() : RcmClient.h
  • RcmClient_addSymbol() : RcmClient.h
  • RcmClient_alloc() : RcmClient.h
  • RcmClient_checkForError() : RcmClient.h
  • RcmClient_construct() : RcmClient.h
  • RcmClient_create() : RcmClient.h
  • RcmClient_delete() : RcmClient.h
  • RcmClient_destruct() : RcmClient.h
  • RcmClient_exec() : RcmClient.h
  • RcmClient_execAsync() : RcmClient.h
  • RcmClient_execCmd() : RcmClient.h
  • RcmClient_execDpc() : RcmClient.h
  • RcmClient_execNoWait() : RcmClient.h
  • RcmClient_exit() : RcmClient.h
  • RcmClient_free() : RcmClient.h
  • RcmClient_getSymbolIndex() : RcmClient.h
  • RcmClient_init() : RcmClient.h
  • RcmClient_Params_init() : RcmClient.h
  • RcmClient_releaseJobId() : RcmClient.h
  • RcmClient_removeSymbol() : RcmClient.h
  • RcmClient_waitUntilDone() : RcmClient.h
  • RcmServer_addSymbol() : RcmServer.h
  • RcmServer_construct() : RcmServer.h
  • RcmServer_create() : RcmServer.h
  • RcmServer_delete() : RcmServer.h
  • RcmServer_destruct() : RcmServer.h
  • RcmServer_exit() : RcmServer.h
  • RcmServer_init() : RcmServer.h
  • RcmServer_Params_init() : RcmServer.h
  • RcmServer_removeSymbol() : RcmServer.h
  • RcmServer_start() : RcmServer.h
  • RMAN_activateAllResources() : rman.h
  • RMAN_activateResource() : rman.h
  • RMAN_allocateResources() : rman.h
  • RMAN_assignResources() : rman.h
  • RMAN_deactivateAllResources() : rman.h
  • RMAN_deactivateResource() : rman.h
  • RMAN_exit() : rman.h
  • RMAN_freeAllocatedResources() : rman.h
  • RMAN_freeResources() : rman.h
  • RMAN_init() : rman.h
  • RMAN_register() : rman.h
  • RMAN_unregister() : rman.h
  • RMAN_yield() : rman.h

- 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 Application Programming Interface (API): Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • a
  • d
  • e
  • h
  • i
  • r
  • s
  • t
  • v
  • x

- a -

  • ACPY3_INSTR_ExtendedHooks : acpy3_instr.h
  • ACPY3_INSTR_ExtendedHookType : acpy3_instr.h
  • ACPY3_INSTR_Hook : acpy3_instr.h
  • ACPY3_INSTR_HookFxn : acpy3_instr.h
  • ACPY3_INSTR_Hooks : acpy3_instr.h
  • ACPY3_INSTR_HookType : acpy3_instr.h
  • ACPY3_ParamField16b : acpy3.h
  • ACPY3_ParamField32b : acpy3.h
  • ACPY3_Params : acpy3.h
  • ACPY3_TransferType : acpy3.h

- d -

  • DMAN3_Params : dman3.h
  • DMAN3_ScratchAllocFxn : dman3.h
  • DMAN3_ScratchFreeFxn : dman3.h
  • DSKT2_CacheWBInvFxn : dskt2.h
  • DSKT2_QOS_TI_GetSharedScratchMsgArg2 : dskt2_qos.h
  • DSKT2_QOS_TI_MsgArg1Types : dskt2_qos.h

- e -

  • ECPY_CfgParams : ecpy.h
  • ECPY_Handle : ecpy.h
  • ECPY_ParamField16b : ecpy.h
  • ECPY_ParamField32b : ecpy.h
  • ECPY_Params : ecpy.h
  • ECPY_PersistentAllocFxn : ecpy.h
  • ECPY_PersistentFreeFxn : ecpy.h
  • ECPY_TransferType : ecpy.h

- h -

  • HDINTC_Params : hdintc.h
  • HDVICP_Handle : hdintc.h
  • HDVICP_Obj : hdintc.h
  • HDVICPSYNC_InterruptType : hdvicpsync.h
  • HDVICPSYNC_Params : hdvicpsync.h
  • HDVICPSYNC_Status : hdvicpsync.h

- i -

  • IALG_Cmd : ialg.h
  • IALG_Fxns : ialg.h
  • IALG_Handle : ialg.h
  • IALG_MemAttrs : ialg.h
  • IALG_MemRec : ialg.h
  • IALG_MemSpace : ialg.h
  • IALG_Obj : ialg.h
  • IALG_Params : ialg.h
  • IALG_Status : ialg.h
  • IDMA3_ChannelRec : idma3.h
  • IDMA3_Fxns : idma3.h
  • IDMA3_Handle : idma3.h
  • IDMA3_MemRec : idma3.h
  • IDMA3_MemType : idma3.h
  • IDMA3_Obj : idma3.h
  • IDMA3_Priority : idma3.h
  • IDMA3_ProtocolHandle : idma3.h
  • IDMA3_ProtocolObj : idma3.h
  • IRES_ContextRestoreFxn : ires.h
  • IRES_ContextSaveFxn : ires.h
  • IRES_EDMA3CHAN2_Handle : ires_edma3Chan.h
  • IRES_EDMA3CHAN2_Obj : ires_edma3Chan.h
  • IRES_EDMA3CHAN_DmaDestType : ires_edma3Chan.h
  • IRES_EDMA3CHAN_EDMA3DraeRegister : ires_edma3Chan.h
  • IRES_EDMA3CHAN_EDMA3RegisterLayer : ires_edma3Chan.h
  • IRES_EDMA3CHAN_EDMA3ShadowRegister : ires_edma3Chan.h
  • IRES_EDMA3CHAN_Handle : ires_edma3Chan.h
  • IRES_EDMA3CHAN_Obj : ires_edma3Chan.h
  • IRES_EDMA3CHAN_PaRamStruct : ires_edma3Chan.h
  • IRES_EDMA3CHAN_Properties : ires_edma3Chan.h
  • IRES_EDMA3CHAN_ProtocolArgs : ires_edma3Chan.h
  • IRES_Fxns : ires.h
  • IRES_Handle : ires_common.h
  • IRES_HDVICP2_CallbackFxn : ires_hdvicp2.h
  • IRES_HDVICP2_Handle : ires_hdvicp2.h
  • IRES_HDVICP2_Obj : ires_hdvicp2.h
  • IRES_HDVICP2_Properties : ires_hdvicp2.h
  • IRES_HDVICP2_ProtocolArgs : ires_hdvicp2.h
  • IRES_HDVICP2_RegisterLayer : ires_hdvicp2.h
  • IRES_HDVICP2_Status : ires_hdvicp2.h
  • IRES_HDVICP_Handle : ires_hdvicp.h
  • IRES_HDVICP_Obj : ires_hdvicp.h
  • IRES_HDVICP_Properties : ires_hdvicp.h
  • IRES_HDVICP_ProtocolArgs : ires_hdvicp.h
  • IRES_HDVICP_RegisterLayer : ires_hdvicp.h
  • IRES_HDVICP_RequestType : ires_hdvicp.h
  • IRES_Obj : ires_common.h
  • IRES_Properties : ires_common.h
  • IRES_ProtocolArgs : ires_common.h
  • IRES_ProtocolRevision : ires_common.h
  • IRES_RequestMode : ires_common.h
  • IRES_ResourceDescriptor : ires_common.h
  • IRES_SDMA_Handle : ires_sdma.h
  • IRES_SDMA_Obj : ires_sdma.h
  • IRES_SDMA_Properties : ires_sdma.h
  • IRES_SDMA_ProtocolArgs : ires_sdma.h
  • IRES_SDMA_RegisterLayer : ires_sdma.h
  • IRES_Status : ires_common.h
  • IRES_TILEDMEMORY_AccessDimension : ires_tiledmemory.h
  • IRES_TILEDMEMORY_AccessUnit : ires_tiledmemory.h
  • IRES_TILEDMEMORY_Handle : ires_tiledmemory.h
  • IRES_TILEDMEMORY_Obj : ires_tiledmemory.h
  • IRES_TILEDMEMORY_Properties : ires_tiledmemory.h
  • IRES_TILEDMEMORY_ProtocolArgs : ires_tiledmemory.h
  • IRES_TILEDMEMORY_RegisterLayer : ires_tiledmemory.h
  • IRES_VICP2_Buffers : ires_vicp2.h
  • IRES_VICP2_Handle : ires_vicp2.h
  • IRES_VICP2_Obj : ires_vicp2.h
  • IRES_VICP2_Properties : ires_vicp2.h
  • IRES_VICP2_ProtocolArgs : ires_vicp2.h
  • IRES_VICP_Handle : ires_vicp.h
  • IRES_VICP_Obj : ires_vicp.h
  • IRES_VICP_Properties : ires_vicp.h
  • IRES_VICP_ProtocolArgs : ires_vicp.h
  • IRES_VICP_Registers : ires_vicp.h
  • IRES_YieldArgs : ires.h
  • IRES_YieldContext : ires.h
  • IRES_YieldContextHandle : ires.h
  • IRES_YieldFxn : ires.h
  • IRES_YieldResourceType : ires.h
  • IRESMAN_ConstructArgs : iresman_protocol.h
  • IRESMAN_ConstructFxns : iresman_protocol.h
  • IRESMAN_Edma3ChanParams : iresman_edma3Chan.h
  • IRESMAN_Fxns : iresman.h
  • IRESMAN_HdVicpParams : iresman_hdvicp.h
  • IRESMAN_Params : iresman.h
  • IRESMAN_PersistentAllocFxn : iresman.h
  • IRESMAN_PersistentFreeFxn : iresman.h
  • IRESMAN_SdmaParams : iresman_sdma.h
  • IRESMAN_TiledmemoryParams : iresman_tiledmemory.h
  • IRESMAN_VicpParams : iresman_vicp2.h , iresman_vicp.h

- r -

  • RcmClient_CallbackFxn : RcmClient.h
  • RcmClient_Handle : RcmClient.h
  • RcmServer_Handle : RcmServer.h
  • RcmServer_MsgFxn : RcmServer.h
  • RMAN_Params : rman.h
  • RMAN_SemHandle : rman.h

- s -

  • SCPY_AddrParams : scpy.h
  • SCPY_Params : scpy.h
  • SCPY_TransferParams : scpy.h

- t -

  • ti_sdo_fc_ires_hdvicp_HDVICP2_FreeHdvicp2Fxn : ires_hdvicp2.h
  • ti_sdo_fc_ires_hdvicp_HDVICP2_GetHdvicp2Fxn : ires_hdvicp2.h

- v -

  • VICPSYNC_InterruptLine : vicpsync.h
  • VICPSYNC_InterruptType : vicpsync.h
  • VICPSYNC_Params : vicpsync.h
  • VICPSYNC_ResourceType : vicpsync.h
  • VICPSYNC_Status : vicpsync.h

- x -

  • XDAS_Bool : xdas.h
  • XDAS_Int16 : xdas.h
  • XDAS_Int32 : xdas.h
  • XDAS_Int8 : xdas.h
  • XDAS_UInt16 : xdas.h
  • XDAS_UInt32 : xdas.h
  • XDAS_UInt8 : xdas.h
  • XDAS_Void : xdas.h


Framework Components Application Programming Interface (API): Data Fields

  • File List
  • Globals
  • All
  • Functions
  • Variables
  • Typedefs
  • Enumerations
  • Enumerator
  • Defines
  • _
  • a
  • d
  • e
  • h
  • i
  • r
  • t
  • v

- _ -

  • _RMAN_allocPersistent : iresman_edma3Chan.h , iresman_hdvicp.h , iresman_tiledmemory.h , iresman_vicp.h , iresman_sdma.h , iresman_vicp2.h
  • _RMAN_freePersistent : iresman_edma3Chan.h , iresman_sdma.h , iresman_vicp.h , iresman_vicp2.h , iresman_hdvicp.h , iresman_tiledmemory.h

- a -

  • ACPY3_PROTOCOL : acpy3.h

- d -

  • DMAN3_PARAMS : dman3.h

- e -

  • ECPY_CFG_PARAMS : ecpy.h

- h -

  • HDINTC_PARAMS : hdintc.h
  • HDVICPSYNC_PARAMS : hdvicpsync.h

- i -

  • IRESMAN_EDMA3CHAN : iresman_edma3Chan.h
  • IRESMAN_EDMA3CHAN_CONSTRUCTFXNS : iresman_edma3Chan.h
  • IRESMAN_HDVICP : iresman_hdvicp.h
  • IRESMAN_SDMA : iresman_sdma.h
  • IRESMAN_TILEDMEMORY : iresman_tiledmemory.h
  • IRESMAN_VICP : iresman_vicp.h
  • IRESMAN_VICP2 : iresman_vicp2.h

- r -

  • RMAN_FREE_ENTRIES : rman.h
  • RMAN_iresVTable : rman.h
  • RMAN_numRegistryEntries : rman.h
  • RMAN_PARAMS : rman.h
  • RMAN_registryEntries : rman.h
  • RMAN_registryResmanArgs : rman.h
  • RMAN_TABLE : rman.h

- t -

  • ti_sdo_fc_ires_hdvicp_HDVICP2_timeoutVal : ires_hdvicp2.h

- v -

  • VICPSYNC_PARAMS : vicpsync.h


Framework Components Application Programming Interface (API): Graph Legend

Graph Legend

This page explains how to interpret the graphs that are generated by doxygen.

Consider the following example:

/*! Invisible class because of truncation */
class Invisible { };

/*! Truncated class, inheritance relation is hidden */
class Truncated : public Invisible { };

/* Class not documented with doxygen comments */
class Undocumented { };

/*! Class that is inherited using public inheritance */
class PublicBase : public Truncated { };

/*! A template class */
template<class T> class Templ { };

/*! Class that is inherited using protected inheritance */
class ProtectedBase { };

/*! Class that is inherited using private inheritance */
class PrivateBase { };

/*! Class that is used by the Inherited class */
class Used { };

/*! Super class that inherits a number of other classes */
class Inherited : public PublicBase,
                  protected ProtectedBase,
                  private PrivateBase,
                  public Undocumented,
                  public Templ<int>
{
  private:
    Used *m_usedClass;
};

This will result in the following graph:

The boxes in the above graph have the following meaning:

  • A filled gray box represents the struct or class for which the graph is generated.
  • A box with a black border denotes a documented struct or class.
  • A box with a grey border denotes an undocumented struct or class.
  • A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries.

The arrows have the following meaning:

  • A dark blue arrow is used to visualize a public inheritance relation between two classes.
  • A dark green arrow is used for protected inheritance.
  • A dark red arrow is used for private inheritance.
  • A purple dashed arrow is used if a class is contained or used by another class. The arrow is labeled with the variable(s) through which the pointed class or struct is accessible.
  • A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance.


Framework Components Application Programming Interface (API): 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) 2011, 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
00129     int biosInterruptVectorId_0;
00130
00136     int biosInterruptVectorId_1;
00137
00145     int biosInterruptEventNo_0;
00146
00154     int biosInterruptEventNo_1;
00155
00156 } HDINTC_Params;
00157
00158
00162 extern HDINTC_Params HDINTC_PARAMS;
00163
00164 /*---------------------------------------------------------------------------*/
00165 /*  Dummy structure for HDVICP handle. Currently not at all used by the      */
00166 /*  algorithm except for passing it with hdvicp calls.                       */
00167 /*---------------------------------------------------------------------------*/
00168 typedef struct hdvicpAppHandle
00169 {
00170     /*-----------------------------------*/
00171     /* handle size useful when extended  */
00172     /*-----------------------------------*/
00173     XDAS_UInt32    handleSize;
00174
00175     /*-----------------------------------*/
00176     /*  process-Id                       */
00177     /*-----------------------------------*/
00178     XDAS_UInt32    processId;
00179
00180     /*-----------------------------------*/
00181     /* application specific information  */
00182     /*-----------------------------------*/
00183     void*       info;
00184
00185 } HDVICP_Obj;
00186
00187 typedef HDVICP_Obj* HDVICP_Handle;
00188
00189 /*===========================================================================*/
00190 /*
00191  *@brief  This is the top level function on the gem side, which sets the
00192  *        interrupt configuration for the interrupts received from ARM968.
00193  *        In effect, this function currently sets the global function ptr
00194  *        to the actual MB processing decode function that needs to be called
00195  *        from the interrupt service routine.
00196  *
00197  *@param  handle                      Algorithm handle
00198  *
00199  *@param  hdvicpHandle                void pointer to the hdvicp handle.
00200  *
00201  *@param  (*ISRfunctionptr)(handle)   Function pointer to the MB pair
00202  *                                    processing function of the algorithm.
00203  *
00204  *@return none
00205  *
00206  *@note   This function will be called from the algorithm but the
00207  *        implementation will lie in the application.
00208  */
00209 /*===========================================================================*/
00210 void HDVICP_configure(IALG_Handle handle,
00211                       void * hdvicpHandle,
00212                       void (*ISRfunctionptr)(IALG_Handle handle));
00213
00214 /*===========================================================================*/
00215 /*
00216  *@brief  This is the top level function on the gem side, which implements
00217  *        the hdvicp_wait(). Current implementation allows GEM to wait on a
00218  *        global intc flag which will be 1 as long as one frame is not
00219  *        completed.
00220  *
00221  *@param  hdvicpHandle      void pointer to the hdvicp handle.
00222  *
00223  *@return none
00224  *
00225  *@note   As per XDM, this function will be called from the algorithm but the
00226  *        implementation will lie in the application.
00227  */
00228 /*===========================================================================*/
00229 void HDVICP_wait (void * hdvicpHandle);
00230
00231 /*===========================================================================*/
00232 /*
00233  *@brief  This is the top level function on the gem side, which implements
00234  *        the hdvicp_done(). Current implementation allows GEM to set a
00235  *        global intc flag to 0 to come out of hdvicp_wait() as soon as one
00236  *        frame is completed.
00237  *
00238  *@param  hdvicpHandle      void pointer to the hdvicp handle.
00239  *
00240  *@return none
00241  *
00242  *@note   As per XDM, this function will be called from the algorithm but the
00243  *        implementation will lie in the application.
00244  */
00245 /*===========================================================================*/
00246 void HDVICP_done (void * hdvicpHandle);
00247
00248 #ifdef __cplusplus
00249 }
00250 #endif /* extern "C" */
00251
00252
00255 #endif
00256 /*
00257  *  @(#) ti.sdo.fc.hdintc; 1, 0, 4,231; 2-8-2011 15:06:41; /db/atree/library/trees/fc/fc-n26x/src/ xlibrary
00258
00259  */
00260


Framework Components Application Programming Interface (API): 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) 2011, 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,219; 2-8-2011 15:06:44; /db/atree/library/trees/fc/fc-n26x/src/ xlibrary
00166
00167  */
00168


Framework Components Application Programming Interface (API): ialg.h Source File

  • File List
  • Globals
  • fctools
  • packages
  • ti
  • xdais

ialg.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 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,23; 10-21-2010 16:35:43; /db/wtree/library/trees/dais/dais.git/src/ dais-s07
00765  */
00766


Framework Components Application Programming Interface (API): 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
00341 #ifdef __cplusplus
00342 }
00343 #endif
00344
00345 #endif
00346 /*
00347  *  @(#) ti.xdais; 1, 2.0, 1,23; 10-21-2010 16:35:44; /db/wtree/library/trees/dais/dais.git/src/ dais-s07
00348  */
00349


Framework Components Application Programming Interface (API): ires.h Source File

  • File List
  • Globals
  • fctools
  • packages
  • ti
  • xdais

ires.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 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
00203     IRES_Status (*initResources)(IALG_Handle handle,
00204             IRES_ResourceDescriptor * resourceDescriptor,
00205             IRES_YieldFxn yieldFxn, IRES_YieldArgs yieldArgs);
00206
00217     IRES_Status (*reinitResources)(IALG_Handle handle,
00218             IRES_ResourceDescriptor * resourceDescriptor,
00219             IRES_YieldFxn yieldFxn, IRES_YieldArgs yieldArgs);
00220
00225     IRES_Status (*deinitResources)(IALG_Handle handle,
00226             IRES_ResourceDescriptor * resourceDescriptor);
00227
00237     IRES_Status (*activateResource)(IALG_Handle handle,
00238             IRES_Handle resourceHandle);
00239
00246     IRES_Status (*activateAllResources)(IALG_Handle handle);
00247
00254     IRES_Status (*deactivateResource)(IALG_Handle handle,
00255             IRES_Handle resourceHandle);
00256
00263      IRES_Status (*deactivateAllResources)(IALG_Handle handle);
00264
00265 } IRES_Fxns;
00266
00270 #ifdef __cplusplus
00271 }
00272 #endif /* extern "C" */
00273
00274
00275 #endif  /* IRES_ */
00276 /*
00277  *  @(#) ti.xdais; 1, 2.0, 1,23; 10-21-2010 16:35:44; /db/wtree/library/trees/dais/dais.git/src/ dais-s07
00278  */
00279


Framework Components Application Programming Interface (API): ires_common.h Source File

  • File List
  • Globals
  • fctools
  • packages
  • ti
  • xdais

ires_common.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 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
00136     struct IRES_ProtocolArgs  *protocolArgs;
00137
00147     IRES_ProtocolRevision *revision;
00148
00155     struct IRES_Obj * handle;
00156
00157 } IRES_ResourceDescriptor;
00158
00168 typedef struct IRES_Properties {
00169     Int32 size;
00170 } IRES_Properties;
00171
00176 typedef struct IRES_Obj {
00177
00181     Int32 persistent;
00182
00188     Void (*getStaticProperties) (struct IRES_Obj * resourceHandle,
00189         IRES_Properties * resourceProperties);
00190
00191 } IRES_Obj;
00192
00196 typedef struct IRES_Obj *IRES_Handle;
00197
00198
00199
00200 #ifdef __cplusplus
00201 }
00202 #endif /* extern "C" */
00203
00206 #endif  /* IRES_COMMON_ */
00207 /*
00208  *  @(#) ti.xdais; 1, 2.0, 1,23; 10-21-2010 16:35:44; /db/wtree/library/trees/dais/dais.git/src/ dais-s07
00209  */
00210


Framework Components Application Programming Interface (API): ires_edma3Chan.h Source File

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • edma3chan

ires_edma3Chan.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2011, Texas Instruments Incorporated
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * *  Redistributions of source code must retain the above copyright
00010  *    notice, this list of conditions and the following disclaimer.
00011  *
00012  * *  Redistributions in binary form must reproduce the above copyright
00013  *    notice, this list of conditions and the following disclaimer in the
00014  *    documentation and/or other materials provided with the distribution.
00015  *
00016  * *  Neither the name of Texas Instruments Incorporated nor the names of
00017  *    its contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00021  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00022  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00023  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00024  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00025  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00026  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00027  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00028  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00029  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00030  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031  *
00032  */
00048 #ifndef ti_sdo_fc_ires_edma3chan_IRES_EDMA3CHAN_
00049 #define ti_sdo_fc_ires_edma3chan_IRES_EDMA3CHAN_
00050
00053
00054 #ifdef __cplusplus
00055 extern "C" {
00056 #endif
00057
00058 #include <ti/xdais/xdas.h>
00059 #include <ti/xdais/ires_common.h>
00060
00064 #define IRES_EDMA3CHAN_PROTOCOLNAME     "ti.sdo.fc.ires.edma3chan"
00065
00074 #define EDMA3CHAN_MODNAME  "ti.sdo.fc.ires.edma3chan"
00075
00079 #define EDMA3CHAN_GTNAME "ti.sdo.fc.ires.edma3chan"
00080
00081 /*
00082  * Note, we wrap the PROTOCOLVERSION in an ifdef so the
00083  * resource managers and algs get this version data placed in their object
00084  * files.  Apps, which include rman.h, will have this 'NOPROTOCOLREV' defined.
00085  */
00086 #ifndef ti_sdo_fc_ires_NOPROTOCOLREV
00087
00092 static IRES_ProtocolRevision IRES_EDMA3CHAN_PROTOCOLREVISION = {1, 0, 0};
00093
00094 #endif
00095
00099 #define IRES_EDMA3CHAN_PROTOCOLREVISION_1_0_0 {1, 0, 0}
00100 #define IRES_EDMA3CHAN_SETPROTOCOLREVISION_1_0_0(rev) {(rev)->Major = 1; \
00101         (rev)->Source = 0; (rev)->Radius = 0;}
00102
00106 #define IRES_EDMA3CHAN_PROTOCOLREVISION_2_0_0 {2, 0, 0}
00107 #define IRES_EDMA3CHAN_SETPROTOCOLREVISION_2_0_0(rev) {(rev)->Major = 2; \
00108         (rev)->Source = 0; (rev)->Radius = 0;}
00109
00114 #define IRES_EDMA3CHAN_MAXPARAMS        512
00115 #define IRES_EDMA3CHAN_MAXTCCS          32
00116 #define IRES_EDMA3CHAN_NUMDESTTYPES     8
00117
00121 #define IRES_EDMA3CHAN_PARAM_ANY        512
00122 #define IRES_EDMA3CHAN_PARAM_NONE       513
00123 #define IRES_EDMA3CHAN_TCC_ANY          514
00124 #define IRES_EDMA3CHAN_TCC_NONE         515
00125 #define IRES_EDMA3CHAN_EDMACHAN_ANY     516
00126 #define IRES_EDMA3CHAN_QDMACHAN_ANY     516
00127 #define IRES_EDMA3CHAN_CHAN_NONE        518
00128
00132 typedef struct IRES_EDMA3CHAN_Obj *IRES_EDMA3CHAN_Handle;
00133
00137 typedef struct IRES_EDMA3CHAN2_Obj *IRES_EDMA3CHAN2_Handle;
00138
00142 typedef struct IRES_EDMA3CHAN_PaRamStruct {
00143     unsigned int opt;
00144     unsigned int src;
00145     unsigned short acnt;
00146     unsigned short bcnt;
00147     unsigned int dst;
00148     unsigned short srcElementIndex;
00149     unsigned short dstElementIndex;
00150     unsigned short link;
00151     unsigned short bCntrld;
00152     unsigned short srcFrameIndex;
00153     unsigned short dstFrameIndex;
00154     unsigned short ccnt;
00155     unsigned short rsvd;
00156 } IRES_EDMA3CHAN_PaRamStruct;
00157
00175 typedef struct IRES_EDMA3CHAN_ProtocolArgs {
00176     int     size;
00177     IRES_RequestMode mode;
00180     short   numPaRams;
00183     short   paRamIndex;
00189     short   numTccs;
00192     short   tccIndex;
00198     short   qdmaChan;
00199     short   edmaChan;
00208                                   /*
00209                                    * If either QDMA or EDMA channel is not
00210                                    * required , set (qdmaChan or edmaChan)
00211                                    * to IRES_EDMA3CHAN_CHAN_NONE while
00212                                    * requesting an EDMA3CHAN handle.
00213                                    */
00214
00215     short contiguousAllocation;
00219     short shadowPaRamsAllocation;
00222 } IRES_EDMA3CHAN_ProtocolArgs;
00223
00229 typedef struct  IRES_EDMA3CHAN_Obj {
00230
00231     IRES_Obj ires;
00232     IRES_EDMA3CHAN_PaRamStruct * shadowPaRams;
00234     unsigned int * assignedPaRamAddresses;
00236     short * assignedPaRamIndices;
00237     short * assignedTccIndices;
00238     short assignedNumPaRams;
00239     short assignedNumTccs;
00240     short assignedQdmaChannelIndex;
00245     short assignedEdmaChannelIndex;
00250     unsigned int esrBitMaskL;
00251     unsigned int esrBitMaskH;
00254     unsigned int iprBitMaskL;
00255     unsigned int iprBitMaskH;
00258 } IRES_EDMA3CHAN_Obj;
00259
00264 typedef struct IRES_EDMA3CHAN_EDMA3ShadowRegister {
00265     volatile unsigned int ER;
00266     volatile unsigned int ERH;
00267     volatile unsigned int ECR;
00268     volatile unsigned int ECRH;
00269     volatile unsigned int ESR;
00270     volatile unsigned int ESRH;
00271     volatile unsigned int CER;
00272     volatile unsigned int CERH;
00273     volatile unsigned int EER;
00274     volatile unsigned int EERH;
00275     volatile unsigned int EECR;
00276     volatile unsigned int EECRH;
00277     volatile unsigned int EESR;
00278     volatile unsigned int EESRH;
00279     volatile unsigned int SER;
00280     volatile unsigned int SERH;
00281     volatile unsigned int SECR;
00282     volatile unsigned int SECRH;
00283     volatile unsigned char RSVD0[8];
00284     volatile unsigned int IER;
00285     volatile unsigned int IERH;
00286     volatile unsigned int IECR;
00287     volatile unsigned int IECRH;
00288     volatile unsigned int IESR;
00289     volatile unsigned int IESRH;
00290     volatile unsigned int IPR;
00291     volatile unsigned int IPRH;
00292     volatile unsigned int ICR;
00293     volatile unsigned int ICRH;
00294     volatile unsigned int IEVAL;
00295     volatile unsigned char RSVD1[4];
00296     volatile unsigned int QER;
00297     volatile unsigned int QEER;
00298     volatile unsigned int QEECR;
00299     volatile unsigned int QEESR;
00300     volatile unsigned int QSER;
00301     volatile unsigned int QSECR;
00302     volatile unsigned char RSVD2[360];
00303
00304 } IRES_EDMA3CHAN_EDMA3ShadowRegister;
00305
00310 typedef struct IRES_EDMA3CHAN_EDMA3DraeRegister {
00311     volatile unsigned int DRAE;
00312     volatile unsigned int DRAEH;
00313 } IRES_EDMA3CHAN_EDMA3DraeRegister;
00314
00315 /*
00316  * @brief           IRES_EDMA3CHAN_EDMA3RegisterLayer defines the EDMA3 CC
00317  *                  Register Layout
00318  */
00319 typedef struct IRES_EDMA3CHAN_EDMA3RegisterLayer {
00320     volatile unsigned int REV;
00321     volatile unsigned int CCCFG;
00322     volatile unsigned char RSVD0[248];
00323     volatile unsigned int DCHMAP[64];
00324     volatile unsigned int QCHMAP[8];
00325     volatile unsigned char RSVD1[32];
00326     volatile unsigned int DMAQNUM[8];
00327     volatile unsigned int QDMAQNUM;
00328     volatile unsigned char RSVD2[28];
00329     volatile unsigned int QUETCMAP;
00330     volatile unsigned int QUEPRI;
00331     volatile unsigned char RSVD3[120];
00332     volatile unsigned int EMR;
00333     volatile unsigned int EMRH;
00334     volatile unsigned int EMCR;
00335     volatile unsigned int EMCRH;
00336     volatile unsigned int QEMR;
00337     volatile unsigned int QEMCR;
00338     volatile unsigned int CCERR;
00339     volatile unsigned int CCERRCLR;
00340     volatile unsigned int EEVAL;
00341     volatile unsigned char RSVD4[28];
00342     IRES_EDMA3CHAN_EDMA3DraeRegister DRA[8];
00343     volatile unsigned int QRAE[8];
00344     volatile unsigned char RSVD5[96];
00345     volatile unsigned int QUEEVTENTRY[8][16];
00346     volatile unsigned int QSTAT[8];
00347     volatile unsigned int QWMTHRA;
00348     volatile unsigned int QWMTHRB;
00349     volatile unsigned char RSVD6[24];
00350     volatile unsigned int CCSTAT;
00351     volatile unsigned char RSVD7[188];
00352     volatile unsigned int AETCTL;
00353     volatile unsigned int AETSTAT;
00354     volatile unsigned int AETCMD;
00355     volatile unsigned char RSVD8[244];
00356     volatile unsigned int MPFAR;
00357     volatile unsigned int MPFSR;
00358     volatile unsigned int MPFCR;
00359     volatile unsigned int MPPAG;
00360     volatile unsigned int MPPA[8];
00361     volatile unsigned char RSVD9[2000];
00362     volatile unsigned int ER;
00363     volatile unsigned int ERH;
00364     volatile unsigned int ECR;
00365     volatile unsigned int ECRH;
00366     volatile unsigned int ESR;
00367     volatile unsigned int ESRH;
00368     volatile unsigned int CER;
00369     volatile unsigned int CERH;
00370     volatile unsigned int EER;
00371     volatile unsigned int EERH;
00372     volatile unsigned int EECR;
00373     volatile unsigned int EECRH;
00374     volatile unsigned int EESR;
00375     volatile unsigned int EESRH;
00376     volatile unsigned int SER;
00377     volatile unsigned int SERH;
00378     volatile unsigned int SECR;
00379     volatile unsigned int SECRH;
00380     volatile unsigned char RSVD10[8];
00381     volatile unsigned int IER;
00382     volatile unsigned int IERH;
00383     volatile unsigned int IECR;
00384     volatile unsigned int IECRH;
00385     volatile unsigned int IESR;
00386     volatile unsigned int IESRH;
00387     volatile unsigned int IPR;
00388     volatile unsigned int IPRH;
00389     volatile unsigned int ICR;
00390     volatile unsigned int ICRH;
00391     volatile unsigned int IEVAL;
00392     volatile unsigned char RSVD11[4];
00393     volatile unsigned int QER;
00394     volatile unsigned int QEER;
00395     volatile unsigned int QEECR;
00396     volatile unsigned int QEESR;
00397     volatile unsigned int QSER;
00398     volatile unsigned int QSECR;
00399     volatile unsigned char RSVD12[3944];
00400     IRES_EDMA3CHAN_EDMA3ShadowRegister SHADOW[8];
00401     volatile unsigned char RSVD13[4096];
00402     IRES_EDMA3CHAN_PaRamStruct PARAMENTRY[512];
00403 } IRES_EDMA3CHAN_EDMA3RegisterLayer;
00404
00408 typedef struct IRES_EDMA3CHAN_Properties {
00409
00410     unsigned int        numDmaChannels;
00412     unsigned int        numQdmaChannels;
00415     unsigned int        numTccs;
00417     unsigned int        numPaRAMSets;
00418     unsigned int        numEvtQueue;
00420     unsigned int        numTcs;
00423     unsigned int        numRegions;
00433     unsigned short dmaChPaRAMMapExists;
00434
00435     unsigned short memProtectionExists;
00438     IRES_EDMA3CHAN_EDMA3RegisterLayer *globalRegs;
00441 } IRES_EDMA3CHAN_Properties;
00442
00450 typedef enum IRES_EDMA3CHAN_DmaDestType {
00451     INTMEMORY0 = 0,
00452     INTMEMORY1 = 1,
00453     INTMEMORY2 = 2,
00454     EXTMEMORY0 = 3,
00455     EXTMEMORY1 = 4,
00456     EXTMEMORY2 = 5,
00457     OTHER0     = 6,
00458     OTHER1     = 7
00459 } IRES_EDMA3CHAN_DmaDestType;
00460
00469 typedef struct  IRES_EDMA3CHAN2_Obj {
00470
00471     IRES_Obj ires;
00472     IRES_EDMA3CHAN_PaRamStruct * shadowPaRams;
00474     unsigned int * assignedPaRamAddresses;
00476     short * assignedPaRamIndices;
00477     short * assignedTccIndices;
00478     short assignedNumPaRams;
00479     short assignedNumTccs;
00480     short assignedQdmaChannelIndex;
00485     short assignedEdmaChannelIndex;
00490     unsigned int esrBitMaskL;
00491     unsigned int esrBitMaskH;
00494     unsigned int iprBitMaskL;
00495     unsigned int iprBitMaskH;
00498     XDAS_Int32 * queueMap;
00508 } IRES_EDMA3CHAN2_Obj;
00509
00510 #ifdef __cplusplus
00511 }
00512 #endif /* extern "C" */
00513
00516 #endif
00517 /*
00518  *  @(#) ti.sdo.fc.ires.edma3chan; 1, 0, 0,275; 2-8-2011 15:06:55; /db/atree/library/trees/fc/fc-n26x/src/ xlibrary
00519
00520  */
00521


Framework Components Application Programming Interface (API): ires_hdvicp2.h Source File

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • hdvicp

ires_hdvicp2.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2011, Texas Instruments Incorporated
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * *  Redistributions of source code must retain the above copyright
00010  *    notice, this list of conditions and the following disclaimer.
00011  *
00012  * *  Redistributions in binary form must reproduce the above copyright
00013  *    notice, this list of conditions and the following disclaimer in the
00014  *    documentation and/or other materials provided with the distribution.
00015  *
00016  * *  Neither the name of Texas Instruments Incorporated nor the names of
00017  *    its contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00021  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00022  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00023  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00024  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00025  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00026  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00027  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00028  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00029  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00030  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031  *
00032  */
00048 #ifndef ti_sdo_fc_ires_hdvicp_IRES_HDVICP2_
00049 #define ti_sdo_fc_ires_hdvicp_IRES_HDVICP2_
00050
00053
00054
00055 #ifdef __cplusplus
00056 extern "C" {
00057 #endif
00058
00059 #include <ti/xdais/xdas.h>
00060 #include <ti/xdais/ires_common.h>
00061 #include <ti/xdais/ires.h>
00062
00066 #define IRES_HDVICP2_PROTOCOLNAME       "ti.sdo.fc.ires.hdvicp.hdvicp2"
00067
00076 #define HDVICP2_MODNAME  "ti.sdo.fc.ires.hdvicp2"
00077
00078
00084 #define IRES_HDVICP2_ID_ANY             -2
00085
00092 #define IRES_HDVICP2_ID_LATE_ACQUIRE    -1
00093
00098 #define IRES_HDVICP2_INVALID_ADDR 0xFFFFFFFF
00099
00104 #define IRES_HDVICP2_TIMEOUTFOREVER ((UInt)(-1))
00105
00116 #define IRES_HDVICP2_UNKNOWNLATEACQUIREARG (-1)
00117
00118 /*
00119  * Note, we wrap the PROTOCOLVERSION in an ifdef so the
00120  * resource managers and algs get this version data placed in their object
00121  * files.  Apps, which include rman.h, will have this 'NOPROTOCOLREV' defined.
00122  */
00123 #ifndef ti_sdo_fc_ires_NOPROTOCOLREV
00124
00128 static IRES_ProtocolRevision IRES_HDVICP2_PROTOCOLREVISION = {1, 0, 0};
00129
00130 #endif
00131
00135 typedef struct IRES_HDVICP2_Obj *IRES_HDVICP2_Handle;
00136
00137
00142 extern unsigned int ti_sdo_fc_ires_hdvicp_HDVICP2_timeoutVal;
00143
00147 typedef struct IRES_HDVICP2_ProtocolArgs {
00148
00149    IRES_ProtocolArgs base;
00150
00151    XDAS_Int32 id;
00157 } IRES_HDVICP2_ProtocolArgs;
00158
00163 typedef void (*IRES_HDVICP2_CallbackFxn)(IALG_Handle handle, Void * args);
00164
00173 typedef enum IRES_HDVICP2_Status {
00174     SAMECODEC = 0,
00175     SAMECODECTYPE = 1,
00177     DIFFERENTCODEC = 2
00178 } IRES_HDVICP2_Status;
00179
00180
00186 typedef struct  IRES_HDVICP2_Obj {
00187
00188     IRES_Obj ires;
00189     Void * info ;
00190     XDAS_Int32 id;
00193     XDAS_Void * registerBaseAddress;
00194     XDAS_Void * memoryBaseAddress;
00195     XDAS_Void * resetControlAddress;
00228     XDAS_Void (*acquire)(IALG_Handle algHandle, struct IRES_HDVICP2_Obj * this,
00229             IRES_YieldContext * yieldCtxt, XDAS_UInt32 * hdvicp2Status,
00230             XDAS_UInt32 *configurationId, XDAS_Int32 lateAcquireArg);
00231
00232     XDAS_Void (*release)(IALG_Handle algHandle, struct IRES_HDVICP2_Obj * this);
00238     XDAS_UInt32 (*reacquireIfOwner)(IALG_Handle algHandle,
00239             struct IRES_HDVICP2_Obj * this);
00250     XDAS_Void (*configure)(IALG_Handle algHandle,
00251             struct IRES_HDVICP2_Obj * this,
00252             IRES_HDVICP2_CallbackFxn cbFunctionPtr, XDAS_Void * cbArgs);
00257     XDAS_UInt32 (*wait)(IALG_Handle algHandle, struct IRES_HDVICP2_Obj * this,
00258             IRES_YieldContext * yieldCtxt);
00282         XDAS_Void (*done) (IALG_Handle algHandle,
00283                 struct IRES_HDVICP2_Obj * this);
00284
00285         XDAS_UInt32 (*reset)(IALG_Handle algHandle,
00286                 struct IRES_HDVICP2_Obj * this);
00297 } IRES_HDVICP2_Obj;
00298
00299
00303 typedef struct IRES_HDVICP2_RegisterLayer {
00304
00305     int size;
00306     /* TBD */
00307 } IRES_HDVICP2_RegisterLayer;
00308
00312 typedef struct IRES_HDVICP2_Properties {
00313
00314     int size;
00315     IRES_HDVICP2_RegisterLayer *globalRegs;      /* Register layer of HDVICP2 */
00316 } IRES_HDVICP2_Properties;
00317
00318 typedef IRES_Status (*ti_sdo_fc_ires_hdvicp_HDVICP2_GetHdvicp2Fxn)
00319         (XDAS_Int32 *Id, IALG_Handle alg, IRES_HDVICP2_Handle handle);
00320
00321 typedef IRES_Status (*ti_sdo_fc_ires_hdvicp_HDVICP2_FreeHdvicp2Fxn)
00322        (XDAS_Int32 Id, IALG_Handle alg, IRES_HDVICP2_Handle handle);
00323
00324 #ifdef __cplusplus
00325 }
00326 #endif /* extern "C" */
00327
00330 #endif
00331 /*
00332  *  @(#) ti.sdo.fc.ires.hdvicp; 1, 0, 1,227; 2-8-2011 15:07:12; /db/atree/library/trees/fc/fc-n26x/src/ xlibrary
00333
00334  */
00335


Framework Components Application Programming Interface (API): ires_hdvicp.h Source File

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • hdvicp

ires_hdvicp.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2011, Texas Instruments Incorporated
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * *  Redistributions of source code must retain the above copyright
00010  *    notice, this list of conditions and the following disclaimer.
00011  *
00012  * *  Redistributions in binary form must reproduce the above copyright
00013  *    notice, this list of conditions and the following disclaimer in the
00014  *    documentation and/or other materials provided with the distribution.
00015  *
00016  * *  Neither the name of Texas Instruments Incorporated nor the names of
00017  *    its contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00021  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00022  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00023  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00024  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00025  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00026  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00027  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00028  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00029  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00030  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031  *
00032  */
00048 #ifndef ti_sdo_fc_ires_hdvicp_IRES_HDVICP_
00049 #define ti_sdo_fc_ires_hdvicp_IRES_HDVICP_
00050
00053
00054
00055 #ifdef __cplusplus
00056 extern "C" {
00057 #endif
00058
00059 #include <ti/xdais/ires_common.h>
00060
00064 #define IRES_HDVICP_PROTOCOLNAME     "ti.sdo.fc.ires.hdvicp"
00065
00074 #define HDVICP_MODNAME  "ti.sdo.fc.ires.hdvicp"
00075
00076 /*
00077  * Note, we wrap the PROTOCOLVERSION in an ifdef so the
00078  * resource managers and algs get this version data placed in their object
00079  * files.  Apps, which include rman.h, will have this 'NOPROTOCOLREV' defined.
00080  */
00081 #ifndef ti_sdo_fc_ires_NOPROTOCOLREV
00082
00086 static IRES_ProtocolRevision IRES_HDVICP_PROTOCOLREVISION = {1, 0, 2};
00087
00088 #endif
00089
00093 typedef struct IRES_HDVICP_Obj *IRES_HDVICP_Handle;
00094
00098 typedef enum IRES_HDVICP_RequestType {
00099
00100     IRES_HDVICP_ID_0 = 0,
00101     IRES_HDVICP_ID_1 = 1,
00102     IRES_HDVICP_ID_ANY = 2
00103 } IRES_HDVICP_RequestType;
00104
00108 typedef struct IRES_HDVICP_ProtocolArgs {
00109
00110    IRES_ProtocolArgs base;
00111    IRES_HDVICP_RequestType id;
00116 } IRES_HDVICP_ProtocolArgs;
00117
00123 typedef struct  IRES_HDVICP_Obj {
00124
00125     IRES_Obj ires;
00126     Void * info ;
00127     Int id;
00131     Void * registerBaseAddress ;
00132     Void * memoryBaseAddress;
00133     unsigned int pscRegisterSpace;
00135 } IRES_HDVICP_Obj;
00136
00137
00141 typedef struct IRES_HDVICP_RegisterLayer {
00142
00143     int size;
00144 } IRES_HDVICP_RegisterLayer;
00145
00146
00150 typedef struct IRES_HDVICP_Properties {
00151
00152     int size;
00153     IRES_HDVICP_RegisterLayer *globalRegs;      /* Register layer of HDVICP */
00154 } IRES_HDVICP_Properties;
00155
00156 #ifdef __cplusplus
00157 }
00158 #endif /* extern "C" */
00159
00162 #endif
00163 /*
00164  *  @(#) ti.sdo.fc.ires.hdvicp; 1, 0, 1,227; 2-8-2011 15:07:12; /db/atree/library/trees/fc/fc-n26x/src/ xlibrary
00165
00166  */
00167


Framework Components Application Programming Interface (API): 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) 2011, 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_common.h>
00061 #include <ti/sdo/linuxutils/sdma/include/sdma.h>
00062
00066 #define IRES_SDMA_PROTOCOLNAME  "ti.sdo.fc.ires.sdma"
00067
00076 #define SDMA_MODNAME  "ti.sdo.fc.ires.sdma"
00077
00081 #define SDMA_GTNAME  "ti.sdo.fc.ires.sdma"
00082
00083 /*
00084  * Note, we wrap the PROTOCOLVERSION in an ifdef so the
00085  * resource managers and algs get this version data placed in their object
00086  * files.  Apps, which include rman.h, will have this 'NOPROTOCOLREV' defined.
00087  */
00088 #ifndef ti_sdo_fc_ires_NOPROTOCOLREV
00089
00093 static IRES_ProtocolRevision IRES_SDMA_PROTOCOLREVISION = {1,0,0};
00094
00095 #endif
00096
00100 typedef struct IRES_SDMA_Obj *IRES_SDMA_Handle;
00101
00105 typedef struct IRES_SDMA_ProtocolArgs {
00106
00107     IRES_ProtocolArgs base;
00108
00109 } IRES_SDMA_ProtocolArgs;
00110
00116 typedef struct  IRES_SDMA_Obj {
00117
00118     IRES_Obj ires;
00119
00120     SDMA_ChannelDescriptor * channel;
00121                                         /* Channel number that is granted to
00122                                            the requestor */
00123 } IRES_SDMA_Obj;
00124
00125 /*
00126  * @brief           SDMA Register Layout
00127  */
00128 typedef struct IRES_SDMA_RegisterLayer  {
00129
00130     unsigned int DMA4_CCR;
00131     unsigned int DMA4_CLNK_CTRL;
00132     unsigned int DMA4_CICR;
00133     unsigned int DMA4_CSR;
00134     unsigned int DMA4_CSDP;
00135     unsigned int DMA4_CEN;
00136     unsigned int DMA4_CFN;
00137     unsigned int DMA4_CSSA;
00138     unsigned int DMA4_CDSA;
00139     unsigned int DMA4_CSE;
00140     unsigned int DMA4_CSF;
00141     unsigned int DMA4_CDE;
00142     unsigned int DMA4_CDF;
00143     unsigned int DMA4_CSAC;
00144     unsigned int DMA4_CDAC;
00145     unsigned int DMA4_CCEN;
00146     unsigned int DMA4_CCFN;
00147     unsigned int DMA4_COLOR;
00148 } IRES_SDMA_RegisterLayer;
00149
00150
00151 /*
00152  * @brief       Static Resource Properties
00153  */
00154 typedef struct IRES_SDMA_Properties {
00155
00156     IRES_SDMA_RegisterLayer *globalRegs;
00157
00158 } IRES_SDMA_Properties;
00159
00160 #ifdef __cplusplus
00161 }
00162 #endif /* extern "C" */
00163
00166 #endif  /* ti_sdo_fc_ires_sdma_IRES_SDMA_ */
00167 /*
00168  *  @(#) ti.sdo.fc.ires.sdma; 1, 0, 0,226; 2-8-2011 15:07:20; /db/atree/library/trees/fc/fc-n26x/src/ xlibrary
00169
00170  */
00171


Framework Components Application Programming Interface (API): ires_tiledmemory.h Source File

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • tiledmemory

ires_tiledmemory.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2011, Texas Instruments Incorporated
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * *  Redistributions of source code must retain the above copyright
00010  *    notice, this list of conditions and the following disclaimer.
00011  *
00012  * *  Redistributions in binary form must reproduce the above copyright
00013  *    notice, this list of conditions and the following disclaimer in the
00014  *    documentation and/or other materials provided with the distribution.
00015  *
00016  * *  Neither the name of Texas Instruments Incorporated nor the names of
00017  *    its contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00021  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00022  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00023  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00024  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00025  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00026  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00027  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00028  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00029  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00030  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031  *
00032  */
00048 #ifndef ti_sdo_fc_ires_tiledmemory_IRES_TILEDMEMORY_
00049 #define ti_sdo_fc_ires_tiledmemory_IRES_TILEDMEMORY_
00050
00053
00054
00055 #ifdef __cplusplus
00056 extern "C" {
00057 #endif
00058
00059 #include <ti/xdais/xdas.h>
00060 #include <ti/xdais/ires_common.h>
00061 #include <ti/xdais/ires.h>
00062
00066 #define IRES_TILEDMEMORY_PROTOCOLNAME       "ti.sdo.fc.ires.tiledmemory"
00067
00076 #define TILEDMEMORY_MODNAME  "ti.sdo.fc.ires.tiledmemory"
00077
00078 /*
00079  * Note, we wrap the PROTOCOLVERSION in an ifdef so the
00080  * resource managers and algs get this version data placed in their object
00081  * files.  Apps, which include rman.h, will have this 'NOPROTOCOLREV' defined.
00082  */
00083 #ifndef ti_sdo_fc_ires_NOPROTOCOLREV
00084
00088 static IRES_ProtocolRevision IRES_TILEDMEMORY_PROTOCOLREVISION = {1, 0, 0};
00089
00090 #endif
00091
00095 typedef struct IRES_TILEDMEMORY_Obj *IRES_TILEDMEMORY_Handle;
00096
00102 typedef enum IRES_TILEDMEMORY_AccessDimension {
00103     IRES_TILEDMEMORY_1D = 0,
00104     IRES_TILEDMEMORY_2D = 1
00105 } IRES_TILEDMEMORY_AccessDimension;
00106
00107
00113 typedef enum IRES_TILEDMEMORY_AccessUnit {
00114
00115     IRES_TILEDMEMORY_RAW = 0,
00117     IRES_TILEDMEMORY_PAGE = 1,
00118     IRES_TILEDMEMORY_8BIT = 2,
00119     IRES_TILEDMEMORY_16BIT = 3,
00120     IRES_TILEDMEMORY_32BIT = 4
00122 } IRES_TILEDMEMORY_AccessUnit;
00123
00127 typedef struct IRES_TILEDMEMORY_ProtocolArgs {
00128
00129     IRES_ProtocolArgs base;
00130
00131     XDAS_UInt32 accessDimension;
00134     XDAS_UInt32 accessUnit;
00138     int sizeDim0;
00139
00141     int sizeDim1;
00142
00144     int alignment;
00145
00146 } IRES_TILEDMEMORY_ProtocolArgs;
00147
00153 typedef struct IRES_TILEDMEMORY_Obj {
00154
00155     IRES_Obj ires;
00156     XDAS_Void * info ;
00157     XDAS_Void * memoryBaseAddress;
00161     XDAS_UInt32 isTiledMemory;
00172     XDAS_UInt32 accessUnit;
00183     XDAS_Void * tilerBaseAddress;
00184     XDAS_Void * systemSpaceBaseAddress;
00188 } IRES_TILEDMEMORY_Obj;
00189
00193 typedef struct IRES_TILEDMEMORY_RegisterLayer {
00194
00195     int size;
00196     /* TBD */
00197 } IRES_TILEDMEMORY_RegisterLayer;
00198
00202 typedef struct IRES_TILEDMEMORY_Properties {
00203
00204     int size;
00205 } IRES_TILEDMEMORY_Properties;
00206
00207 #ifdef __cplusplus
00208 }
00209 #endif /* extern "C" */
00210
00213 #endif
00214 /*
00215  *  @(#) ti.sdo.fc.ires.tiledmemory; 1, 0, 0,177; 2-8-2011 15:07:21; /db/atree/library/trees/fc/fc-n26x/src/ xlibrary
00216
00217  */
00218


Framework Components Application Programming Interface (API): ires_vicp2.h Source File

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • vicp

ires_vicp2.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2011, Texas Instruments Incorporated
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * *  Redistributions of source code must retain the above copyright
00010  *    notice, this list of conditions and the following disclaimer.
00011  *
00012  * *  Redistributions in binary form must reproduce the above copyright
00013  *    notice, this list of conditions and the following disclaimer in the
00014  *    documentation and/or other materials provided with the distribution.
00015  *
00016  * *  Neither the name of Texas Instruments Incorporated nor the names of
00017  *    its contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00021  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00022  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00023  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00024  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00025  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00026  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00027  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00028  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00029  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00030  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031  *
00032  */
00048 #ifndef ti_sdo_fc_ires_vicp_IRES_VICP2_
00049 #define ti_sdo_fc_ires_vicp_IRES_VICP2_
00050
00053
00054
00055 #ifdef __cplusplus
00056 extern "C" {
00057 #endif
00058
00059 #include <ti/xdais/ires.h>
00060
00064 #define IRES_VICP2_MAXRESOURCES  1
00065
00066
00070 #define IRES_VICP2_PROTOCOLNAME     "ti.sdo.fc.ires.vicp2"
00071
00080 #define VICP2_MODNAME  "ti.sdo.fc.ires.vicp2"
00081
00085 #define IRES_VICP2_NUMBUFFERS      16
00086
00090 #define IRES_VICP2_BADRESOURCE     0xFFFFFFFF
00091
00096 #define IMCOP_BUFFER_IMGBUF_A           0x0
00097 #define IMCOP_BUFFER_IMGBUF_B           0x1
00098 #define IMCOP_BUFFER_IMGBUF_C           0x2
00099 #define IMCOP_BUFFER_IMGBUF_D           0x3
00100 #define IMCOP_BUFFER_IMGBUF_E           0x4
00101 #define IMCOP_BUFFER_IMX0COEFFBUF       0x5
00102 #define IMCOP_BUFFER_IMX0CMDBUF         0x6
00103 #define IMCOP_BUFFER_IMX1COEFFBUF       0x7
00104 #define IMCOP_BUFFER_IMX1CMDBUF         0x8
00106 #define IMCOP_BUFFER_BABYIMXCMDBUFFER   0x9
00107 #define IMCOP_BUFFER_BABYIMXORIGBUFFER  0xA
00108
00109 #define IMCOP_BUFFER_BABYIMXREFBUFFER   0xB
00110 #define IMCOP_BUFFER_SEQUENCERPMEM      0xC
00112 #define IMCOP_BUFFER_QIQMEM             0xD
00113 #define IMCOP_BUFFER_HUFFMEM            0xE
00114 #define IMCOP_BUFFER_SEQBUF4            0xF
00115
00116 /*
00117  * Note, we wrap the PROTOCOLVERSION in an ifdef so the
00118  * resource managers and algs get this version data placed in their object
00119  * files.  Apps, which include rman.h, will have this 'NOPROTOCOLREV' defined.
00120  */
00121 #ifndef ti_sdo_fc_ires_NOPROTOCOLREV
00122
00126 static IRES_ProtocolRevision IRES_VICP2_PROTOCOLREVISION = {1, 0, 0};
00127
00128 #endif
00129
00133 typedef struct IRES_VICP2_Obj *IRES_VICP2_Handle;
00134
00138 typedef struct IRES_VICP2_ProtocolArgs {
00139
00140     int                 size;
00141     IRES_RequestMode    mode;
00145     short               requestIMX0;
00146     short               requestIMX1;
00148     short               requestMJCP;
00149     short               requestNSF;
00151     unsigned int        requestIMCOPBuffers;
00158     unsigned int        numMemoryRequests;
00161     unsigned int        memRequestSizes[IRES_VICP2_NUMBUFFERS];
00164 } IRES_VICP2_ProtocolArgs;
00165
00171 typedef struct  IRES_VICP2_Obj {
00172
00173     IRES_Obj            ires;
00174     short               assignedIMX0;
00175     short               assignedIMX1;
00177     short               assignedMJCP;
00178     short               assignedNSF;
00179
00180     unsigned int        assignedIMCOPBuffers[IRES_VICP2_NUMBUFFERS];
00184     short               numMemBufs;
00186     unsigned int        assignedMemAddrs[IRES_VICP2_NUMBUFFERS];
00190     unsigned int        assignedMemSizes[IRES_VICP2_NUMBUFFERS];
00191
00192     unsigned int        configBaseAddress;
00194     unsigned int        dmaViewConfigBaseAddr;
00198     unsigned  int           pscRegisterSpace;
00201 } IRES_VICP2_Obj;
00202
00203 /*
00204  * @brief           VICP Buffer Layout
00205  */
00206 typedef struct IRES_VICP2_Buffers {
00207
00208     int size;
00210     unsigned char *vicp_cfg_base;
00211
00212     unsigned char *imgBufA_base;
00213     unsigned char *imgBufB_base;
00214     unsigned char *imgBufC_base;
00215     unsigned char *imgBufD_base;
00216     unsigned char *imgBufE_base;
00217     unsigned char *imx0CoeffBuff_base;
00218     unsigned char *imx0CmdBuf_base;
00219     unsigned char *imx1CoeffBuff_base;
00220     unsigned char *imx1CmdBuf_base;
00221
00222
00223     unsigned char *babyImxCmdBuf_base;
00224     unsigned char *babyImxOrigBuf_base;
00225     unsigned char *babyImxRefBuf_base;
00226     unsigned char *sequencerPmem_base;
00227     unsigned int  *qiqmem_base;
00228     unsigned int  *predmem_base;
00229     unsigned int  *mvmem;
00230     unsigned int  *huffmem;
00231     unsigned int  *seqBuf1;
00232     unsigned int  *seqBuf2;
00233     unsigned int  *seqBuf3;
00234     unsigned int  *seqBuf4;
00235     unsigned int  *sequencerDmem;
00236     /* . . . */
00237
00238 } IRES_VICP2_Buffers;
00239
00240
00241 /*
00242  * @brief       Static Resource Properties
00243  */
00244 typedef struct IRES_VICP2_Properties {
00245
00246     int size;
00247
00248     IRES_VICP2_Buffers buffers;
00249
00250 } IRES_VICP2_Properties;
00251
00252
00253 #ifdef __cplusplus
00254 }
00255 #endif /* extern "C" */
00256
00257
00260 #endif
00261 /*
00262  *  @(#) ti.sdo.fc.ires.vicp; 1, 0, 1,271; 2-8-2011 15:07:27; /db/atree/library/trees/fc/fc-n26x/src/ xlibrary
00263
00264  */
00265


Framework Components Application Programming Interface (API): ires_vicp.h Source File

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • vicp

ires_vicp.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2011, Texas Instruments Incorporated
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * *  Redistributions of source code must retain the above copyright
00010  *    notice, this list of conditions and the following disclaimer.
00011  *
00012  * *  Redistributions in binary form must reproduce the above copyright
00013  *    notice, this list of conditions and the following disclaimer in the
00014  *    documentation and/or other materials provided with the distribution.
00015  *
00016  * *  Neither the name of Texas Instruments Incorporated nor the names of
00017  *    its contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00021  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00022  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00023  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00024  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00025  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00026  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00027  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00028  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00029  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00030  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031  *
00032  */
00048 #ifndef ti_sdo_fc_ires_vicp_IRES_VICP_
00049 #define ti_sdo_fc_ires_vicp_IRES_VICP_
00050
00053
00054
00055 #ifdef __cplusplus
00056 extern "C" {
00057 #endif
00058
00059 #include <ti/xdais/ires_common.h>
00060
00061 /*
00062  * @brief  Maximum number of VICP resources(components) to be managed
00063  */
00064 #define IRES_VICP_MAXRESOURCES  1
00065
00069 #define IRES_VICP_PROTOCOLNAME     "ti.sdo.fc.ires.vicp"
00070
00079 #define VICP_MODNAME  "ti.sdo.fc.ires.vicp"
00080
00081 /*
00082  * Note, we wrap the PROTOCOLVERSION in an ifdef so the
00083  * resource managers and algs get this version data placed in their object
00084  * files.  Apps, which include rman.h, will have this 'NOPROTOCOLREV' defined.
00085  */
00086 #ifndef ti_sdo_fc_ires_NOPROTOCOLREV
00087
00091 static IRES_ProtocolRevision IRES_VICP_PROTOCOLREVISION = {1, 0, 0};
00092
00093 #endif
00094
00098 typedef struct IRES_VICP_Obj *IRES_VICP_Handle;
00099
00103 typedef struct IRES_VICP_ProtocolArgs {
00104
00105     int size;
00106     IRES_RequestMode mode;      /* persistent or scratch resource requested */
00107     short requestIMX;           /* value of 1 to indicate resource requested,
00108                                    0 otherwise */
00109     short requestVLCD;
00110     short requestSEQ;
00111
00112 } IRES_VICP_ProtocolArgs;
00113
00119 typedef struct  IRES_VICP_Obj {
00120
00121     IRES_Obj ires;
00122     short assignedIMX;
00123     short assignedVLCD;
00124     short assignedSEQ;
00125
00126 } IRES_VICP_Obj;
00127
00128
00129 /*
00130  * @brief           VICP Register Layout
00131  */
00132 typedef struct IRES_VICP_Registers {
00133
00134     int size;
00136     unsigned char *vicp_umap1_base;
00137     unsigned char *vicp_cfg_base;
00138
00139     unsigned char *imgBuf_base;
00140     unsigned char *imgBufA_base;
00141     unsigned char *imgBufB_base;
00142     unsigned char *imxCoeffBuff_base;
00143     unsigned char *imxCmdBuf_base;
00144     unsigned char *vlcdDataBuf_base;
00145     unsigned char *qiqBuf_base;
00146     unsigned char *vlcdBuf_base;
00147     unsigned char *seqProgMem_base;
00148     unsigned char *seqDataMem_base;
00149
00150     unsigned int imgBuf_length;
00151     unsigned int imgBufA_length;
00152     unsigned int imgBufB_length;
00153     unsigned int imxCoeffBuff_length;
00154     unsigned int imxCmdBuf_length;
00155     unsigned int vlcdDataBuf_length;
00156     unsigned int qiqBuf_length;
00157     unsigned int vlcdBuf_length;
00158     unsigned int seqProgMem_length;
00159     unsigned int seqDataMem_length;
00160
00161     /* . . . */
00162
00163 } IRES_VICP_Registers;
00164
00165
00166 /*
00167  * @brief       Static Resource Properties
00168  */
00169 typedef struct IRES_VICP_Properties {
00170
00171     int size;
00172
00173     IRES_VICP_Registers *globalRegs;
00174
00175 } IRES_VICP_Properties;
00176
00177
00178 #ifdef __cplusplus
00179 }
00180 #endif /* extern "C" */
00181
00182
00185 #endif
00186 /*
00187  *  @(#) ti.sdo.fc.ires.vicp; 1, 0, 1,271; 2-8-2011 15:07:27; /db/atree/library/trees/fc/fc-n26x/src/ xlibrary
00188
00189  */
00190


Framework Components Application Programming Interface (API): iresman.h Source File

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires

iresman.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2011, Texas Instruments Incorporated
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * *  Redistributions of source code must retain the above copyright
00010  *    notice, this list of conditions and the following disclaimer.
00011  *
00012  * *  Redistributions in binary form must reproduce the above copyright
00013  *    notice, this list of conditions and the following disclaimer in the
00014  *    documentation and/or other materials provided with the distribution.
00015  *
00016  * *  Neither the name of Texas Instruments Incorporated nor the names of
00017  *    its contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00021  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00022  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00023  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00024  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00025  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00026  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00027  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00028  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00029  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00030  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031  *
00032  */
00051 #ifndef ti_sdo_fc_ires_IRESMAN_
00052 #define ti_sdo_fc_ires_IRESMAN_
00053
00056
00057 #ifdef __cplusplus
00058 extern "C" {
00059 #endif
00060
00061 #include <ti/xdais/ires_common.h>
00062
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     Int32 size;
00088     IRESMAN_PersistentAllocFxn * allocFxn;
00089
00094     IRESMAN_PersistentFreeFxn * freeFxn;
00095
00096 } IRESMAN_Params;
00097
00098 typedef struct IRESMAN_Fxns {
00099
00103     String (*getProtocolName)();
00104
00109     IRES_ProtocolRevision * (* getProtocolRevision)();
00110
00122     IRES_Status (* init)(IRESMAN_Params * initArgs);
00123
00131     IRES_Status (* exit)();
00132
00151     IRES_Handle (* getHandle)(IALG_Handle algHandle,
00152             IRES_ResourceDescriptor * resDesc, Int scratchGroupId,
00153             IRES_Status * status);
00154
00165     IRES_Status (* freeHandle)(IALG_Handle algHandle,
00166             IRES_Handle resourceHandle, IRES_ResourceDescriptor * resDesc,
00167             Int scratchGroupId);
00168
00169 } IRESMAN_Fxns;
00170
00171 #ifdef __cplusplus
00172 }
00173 #endif
00174
00177 #endif
00178 /*
00179  *  @(#) ti.sdo.fc.ires; 1, 0, 0,275; 2-8-2011 15:06:49; /db/atree/library/trees/fc/fc-n26x/src/ xlibrary
00180
00181  */
00182


Framework Components Application Programming Interface (API): iresman_edma3Chan.h Source File

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • edma3chan

iresman_edma3Chan.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2011, Texas Instruments Incorporated
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * *  Redistributions of source code must retain the above copyright
00010  *    notice, this list of conditions and the following disclaimer.
00011  *
00012  * *  Redistributions in binary form must reproduce the above copyright
00013  *    notice, this list of conditions and the following disclaimer in the
00014  *    documentation and/or other materials provided with the distribution.
00015  *
00016  * *  Neither the name of Texas Instruments Incorporated nor the names of
00017  *    its contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00021  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00022  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00023  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00024  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00025  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00026  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00027  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00028  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00029  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00030  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031  *
00032  */
00047 #ifndef ti_sdo_fc_ires_edma3chan_IRESMAN_EDMA3CHAN_
00048 #define ti_sdo_fc_ires_edma3chan_IRESMAN_EDMA3CHAN_
00049
00052
00053
00054 #ifdef __cplusplus
00055 extern "C" {
00056 #endif
00057
00058 #include <ti/sdo/fc/ires/iresman.h>
00059 #include <ti/sdo/fc/ires/iresman_protocol.h>
00060
00061 #include "iresman_protocol_edma3Chan.h"
00062
00067 typedef struct IRESMAN_Edma3ChanParams {
00068
00072     IRESMAN_Params baseConfig;
00073
00074 } IRESMAN_Edma3ChanParams ;
00075
00080 String IRESMAN_EDMA3CHAN_getProtocolName();
00081
00086 IRES_ProtocolRevision * IRESMAN_EDMA3CHAN_getProtocolRevision();
00087
00099 IRES_Status IRESMAN_EDMA3CHAN_init( IRESMAN_Params * initArgs);
00100
00108 IRES_Status IRESMAN_EDMA3CHAN_exit();
00109
00126 IRES_Handle IRESMAN_EDMA3CHAN_getHandles(IALG_Handle algHandle,
00127         IRES_ResourceDescriptor *resDesc, Int scratchGroupId,
00128         IRES_Status *status);
00129
00144 IRES_Status IRESMAN_EDMA3CHAN_freeHandle(IALG_Handle algHandle,
00145         IRES_Handle algResourceHandle, IRES_ResourceDescriptor *resDesc,
00146         Int scratchGroupId);
00147
00152 extern __FAR__ IRESMAN_PersistentAllocFxn _RMAN_allocPersistent;
00153
00158 extern __FAR__ IRESMAN_PersistentFreeFxn _RMAN_freePersistent;
00159
00163 extern IRESMAN_Fxns IRESMAN_EDMA3CHAN;
00164
00165 /*
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,275; 2-8-2011 15:06:55; /db/atree/library/trees/fc/fc-n26x/src/ xlibrary
00180
00181  */
00182


Framework Components Application Programming Interface (API): iresman_hdvicp.h Source File

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • hdvicp

iresman_hdvicp.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2011, Texas Instruments Incorporated
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * *  Redistributions of source code must retain the above copyright
00010  *    notice, this list of conditions and the following disclaimer.
00011  *
00012  * *  Redistributions in binary form must reproduce the above copyright
00013  *    notice, this list of conditions and the following disclaimer in the
00014  *    documentation and/or other materials provided with the distribution.
00015  *
00016  * *  Neither the name of Texas Instruments Incorporated nor the names of
00017  *    its contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00021  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00022  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00023  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00024  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00025  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00026  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00027  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00028  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00029  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00030  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031  *
00032  */
00048 #ifndef ti_sdo_fc_ires_hdvicp_IRESMAN_HDVICP_
00049 #define ti_sdo_fc_ires_hdvicp_IRESMAN_HDVICP_
00050
00053
00054
00055 #ifdef __cplusplus
00056 extern "C" {
00057 #endif
00058
00059 #include <ti/sdo/fc/ires/iresman.h>
00060
00061 /*
00062  *      @brief Maximum number of resources that can be managed
00063  */
00064 #define IRES_HDVICP_MAXRESOURCES 10
00065
00066 typedef struct IRESMAN_HdVicpParams {
00067
00068     IRESMAN_Params baseConfig;
00069
00070     int numResources;           /* Number of HDVICP resources to be managed */
00071
00072     Void * info;
00073
00074 } IRESMAN_HdVicpParams;
00075
00080 String IRESMAN_HDVICP_getProtocolName();
00081
00086 IRES_ProtocolRevision * IRESMAN_HDVICP_getProtocolRevision();
00087
00099 IRES_Status IRESMAN_HDVICP_init( IRESMAN_Params * initArgs);
00100
00108 IRES_Status IRESMAN_HDVICP_exit();
00109
00126 IRES_Handle IRESMAN_HDVICP_getHandles(IALG_Handle algHandle,
00127         IRES_ResourceDescriptor *resDesc, Int scratchGroupId,
00128         IRES_Status *status);
00129
00144 IRES_Status IRESMAN_HDVICP_freeHandles(IALG_Handle algHandle,
00145         IRES_Handle algResourceHandle, IRES_ResourceDescriptor *resDesc,
00146         Int scratchGroupId);
00147
00152 extern __FAR__ IRESMAN_PersistentAllocFxn _RMAN_allocPersistent;
00153
00158 extern __FAR__ IRESMAN_PersistentFreeFxn _RMAN_freePersistent;
00159
00163 extern IRESMAN_Fxns IRESMAN_HDVICP;
00164
00165
00166 #ifdef __cplusplus
00167 }
00168 #endif /* extern "C" */
00169
00170
00173 #endif
00174 /*
00175  *  @(#) ti.sdo.fc.ires.hdvicp; 1, 0, 1,227; 2-8-2011 15:07:12; /db/atree/library/trees/fc/fc-n26x/src/ xlibrary
00176
00177  */
00178


Framework Components Application Programming Interface (API): iresman_protocol.h Source File

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires

iresman_protocol.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2011, 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,275; 2-8-2011 15:06:49; /db/atree/library/trees/fc/fc-n26x/src/ xlibrary
00185
00186  */
00187


Framework Components Application Programming Interface (API): 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) 2011, 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_ResourceDescriptor *resDesc, Int scratchGroupId,
00124         IRES_Status *status);
00125
00140 IRES_Status IRESMAN_SDMA_freeHandle(IALG_Handle algHandle,
00141         IRES_Handle algResourceHandle, IRES_ResourceDescriptor * resDesc,
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,226; 2-8-2011 15:07:20; /db/atree/library/trees/fc/fc-n26x/src/ xlibrary
00171
00172  */
00173


Framework Components Application Programming Interface (API): iresman_tiledmemory.h Source File

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • tiledmemory

iresman_tiledmemory.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2011, Texas Instruments Incorporated
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * *  Redistributions of source code must retain the above copyright
00010  *    notice, this list of conditions and the following disclaimer.
00011  *
00012  * *  Redistributions in binary form must reproduce the above copyright
00013  *    notice, this list of conditions and the following disclaimer in the
00014  *    documentation and/or other materials provided with the distribution.
00015  *
00016  * *  Neither the name of Texas Instruments Incorporated nor the names of
00017  *    its contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00021  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00022  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00023  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00024  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00025  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00026  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00027  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00028  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00029  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00030  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031  *
00032  */
00048 #ifndef ti_sdo_fc_ires_tiledmemory_IRESMAN_TILEDMEMORY_
00049 #define ti_sdo_fc_ires_tiledmemory_IRESMAN_TILEDMEMORY_
00050
00053
00054 #ifdef __cplusplus
00055 extern "C" {
00056 #endif
00057
00058 #include <ti/sdo/fc/ires/iresman.h>
00059
00060 /*
00061  *      @brief Maximum number of resources that can be managed
00062  */
00063 #define IRES_TILEDMEMORY_MAXRESOURCES 10
00064
00065 typedef struct IRESMAN_TiledmemoryParams {
00066
00067     IRESMAN_Params baseConfig;
00068
00069     int numResources;       /* Number of TILEDMEMORY resources to be managed */
00070
00071     Void * info;
00072
00073 } IRESMAN_TiledmemoryParams;
00074
00079 String IRESMAN_TILEDMEMORY_getProtocolName();
00080
00085 IRES_ProtocolRevision * IRESMAN_TILEDMEMORY_getProtocolRevision();
00086
00098 IRES_Status IRESMAN_TILEDMEMORY_init( IRESMAN_Params * initArgs);
00099
00107 IRES_Status IRESMAN_TILEDMEMORY_exit();
00108
00125 IRES_Handle IRESMAN_TILEDMEMORY_getHandles(IALG_Handle algHandle,
00126         IRES_ResourceDescriptor * resDesc, Int scratchGroupId,
00127         IRES_Status *status);
00128
00143 IRES_Status IRESMAN_TILEDMEMORY_freeHandles(IALG_Handle algHandle,
00144         IRES_Handle algResourceHandle, IRES_ResourceDescriptor * resDesc,
00145         Int scratchGroupId);
00146
00151 extern __FAR__ IRESMAN_PersistentAllocFxn _RMAN_allocPersistent;
00152
00157 extern __FAR__ IRESMAN_PersistentFreeFxn _RMAN_freePersistent;
00158
00162 extern IRESMAN_Fxns IRESMAN_TILEDMEMORY;
00163
00164
00165 #ifdef __cplusplus
00166 }
00167 #endif /* extern "C" */
00168
00169
00172 #endif
00173 /*
00174  *  @(#) ti.sdo.fc.ires.tiledmemory; 1, 0, 0,177; 2-8-2011 15:07:21; /db/atree/library/trees/fc/fc-n26x/src/ xlibrary
00175
00176  */
00177


Framework Components Application Programming Interface (API): iresman_vicp2.h Source File

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • vicp

iresman_vicp2.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2011, Texas Instruments Incorporated
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * *  Redistributions of source code must retain the above copyright
00010  *    notice, this list of conditions and the following disclaimer.
00011  *
00012  * *  Redistributions in binary form must reproduce the above copyright
00013  *    notice, this list of conditions and the following disclaimer in the
00014  *    documentation and/or other materials provided with the distribution.
00015  *
00016  * *  Neither the name of Texas Instruments Incorporated nor the names of
00017  *    its contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00021  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00022  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00023  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00024  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00025  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00026  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00027  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00028  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00029  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00030  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031  *
00032  */
00048 #ifndef ti_sdo_fc_ires_vicp_IRESMAN_VICP2_
00049 #define ti_sdo_fc_ires_vicp_IRESMAN_VICP2_
00050
00053
00054
00055 #ifdef __cplusplus
00056 extern "C" {
00057 #endif
00058
00059 #include <ti/sdo/fc/ires/iresman.h>
00060
00061 /*
00062  * Initialization arguements for the device specific resource manager
00063  */
00064 typedef struct IRESMAN_VicpParams {
00065     IRESMAN_Params baseConfig;
00066 } IRESMAN_VicpParams;
00067
00072 String IRESMAN_VICP2_getProtocolName();
00073
00078 IRES_ProtocolRevision * IRESMAN_VICP2_getProtocolRevision();
00079
00091 IRES_Status IRESMAN_VICP2_init( IRESMAN_Params * initArgs);
00092
00093
00101 IRES_Status IRESMAN_VICP2_exit();
00102
00119 IRES_Handle IRESMAN_VICP2_getHandles( IALG_Handle algHandle,
00120     IRES_ResourceDescriptor *resDesc, Int scratchGroupId, IRES_Status *status);
00121
00122
00137 IRES_Status IRESMAN_VICP2_freeHandles(IALG_Handle algHandle,
00138         IRES_Handle algResourceHandle, IRES_ResourceDescriptor *resDesc,
00139         Int scratchGroupId);
00140
00145 extern __FAR__ IRESMAN_PersistentAllocFxn _RMAN_allocPersistent;
00146
00147
00152 extern __FAR__ IRESMAN_PersistentFreeFxn _RMAN_freePersistent;
00153
00154
00158 extern IRESMAN_Fxns IRESMAN_VICP2;
00159
00160
00161 #ifdef __cplusplus
00162 }
00163 #endif /* extern "C" */
00164
00165
00168 #endif
00169 /*
00170  *  @(#) ti.sdo.fc.ires.vicp; 1, 0, 1,271; 2-8-2011 15:07:27; /db/atree/library/trees/fc/fc-n26x/src/ xlibrary
00171
00172  */
00173


Framework Components Application Programming Interface (API): iresman_vicp.h Source File

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • ires
  • vicp

iresman_vicp.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2011, Texas Instruments Incorporated
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * *  Redistributions of source code must retain the above copyright
00010  *    notice, this list of conditions and the following disclaimer.
00011  *
00012  * *  Redistributions in binary form must reproduce the above copyright
00013  *    notice, this list of conditions and the following disclaimer in the
00014  *    documentation and/or other materials provided with the distribution.
00015  *
00016  * *  Neither the name of Texas Instruments Incorporated nor the names of
00017  *    its contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00021  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00022  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00023  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00024  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00025  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00026  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00027  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00028  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00029  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00030  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031  *
00032  */
00048 #ifndef ti_sdo_fc_ires_vicp_IRESMAN_VICP_
00049 #define ti_sdo_fc_ires_vicp_IRESMAN_VICP_
00050
00053
00054
00055 #ifdef __cplusplus
00056 extern "C" {
00057 #endif
00058
00059 #include <ti/sdo/fc/ires/iresman.h>
00060
00061 /*
00062  * Initialization arguements for the device specific resource manager
00063  */
00064 typedef struct IRESMAN_VicpParams {
00065     IRESMAN_Params baseConfig;
00066 } IRESMAN_VicpParams;
00067
00072 String IRESMAN_VICP_getProtocolName();
00073
00078 IRES_ProtocolRevision * IRESMAN_VICP_getProtocolRevision();
00079
00091 IRES_Status IRESMAN_VICP_init( IRESMAN_Params * initArgs);
00092
00093
00101 IRES_Status IRESMAN_VICP_exit();
00102
00119 IRES_Handle IRESMAN_VICP_getHandles( IALG_Handle algHandle,
00120     IRES_ResourceDescriptor *resDesc, Int scratchGroupId, IRES_Status *status);
00121
00122
00137 IRES_Status IRESMAN_VICP_freeHandles(IALG_Handle algHandle,
00138         IRES_Handle algResourceHandle, IRES_ResourceDescriptor *resDesc,
00139         Int scratchGroupId);
00140
00145 extern __FAR__ IRESMAN_PersistentAllocFxn _RMAN_allocPersistent;
00146
00147
00152 extern __FAR__ IRESMAN_PersistentFreeFxn _RMAN_freePersistent;
00153
00154
00158 extern IRESMAN_Fxns IRESMAN_VICP;
00159
00160
00161 #ifdef __cplusplus
00162 }
00163 #endif /* extern "C" */
00164
00165
00168 #endif
00169 /*
00170  *  @(#) ti.sdo.fc.ires.vicp; 1, 0, 1,271; 2-8-2011 15:07:27; /db/atree/library/trees/fc/fc-n26x/src/ xlibrary
00171
00172  */
00173


Framework Components Application Programming Interface (API): memutils.h Source File

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • memutils

memutils.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2011, Texas Instruments Incorporated
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * *  Redistributions of source code must retain the above copyright
00010  *    notice, this list of conditions and the following disclaimer.
00011  *
00012  * *  Redistributions in binary form must reproduce the above copyright
00013  *    notice, this list of conditions and the following disclaimer in the
00014  *    documentation and/or other materials provided with the distribution.
00015  *
00016  * *  Neither the name of Texas Instruments Incorporated nor the names of
00017  *    its contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00021  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00022  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00023  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00024  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00025  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00026  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00027  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00028  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00029  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00030  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031  *
00032  */
00051 #ifndef ti_sdo_fc_memutils_MEMUTILS
00052 #define ti_sdo_fc_memutils_MEMUTILS
00053
00056
00057
00058 #ifdef __cplusplus
00059 extern "C" {
00060 #endif
00061
00066 #define MEMUTILS_MODNAME "ti.sdo.fc.memutils"
00067
00068 /*
00069  *  ======== MEMUTILS_cacheInv ========
00070  */
00087 extern Void MEMUTILS_cacheInv(Ptr addr, Int sizeInBytes);
00088
00089 /*
00090  *  ======== MEMUTILS_cacheWb ========
00091  */
00102 extern Void MEMUTILS_cacheWb(Ptr addr, Int sizeInBytes);
00103
00104
00105 /*
00106  *  ======== MEMUTILS_cacheWbInv ========
00107  */
00118 extern Void MEMUTILS_cacheWbInv(Ptr addr, Int sizeInBytes);
00119
00120
00121 /*
00122  *  ======== MEMUTILS_getPhysicalAddr ========
00123  */
00131 extern Void * MEMUTILS_getPhysicalAddr(Ptr addr);
00132
00133
00134 #ifdef __cplusplus
00135 }
00136 #endif /* extern "C" */
00137
00138
00141 #endif
00142 /*
00143  *  @(#) ti.sdo.fc.memutils; 1, 0, 0,214; 2-8-2011 15:07:28; /db/atree/library/trees/fc/fc-n26x/src/ xlibrary
00144
00145  */
00146


Framework Components Application Programming Interface (API): Page Index

Related Pages

Here is a list of all related documentation pages:
  • Remote Command Message Overview
  • Disclaimer


Framework Components Application Programming Interface (API): rman.h Source File

  • File List
  • Globals
  • packages
  • ti
  • sdo
  • fc
  • rman

rman.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2011, Texas Instruments Incorporated
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * *  Redistributions of source code must retain the above copyright
00010  *    notice, this list of conditions and the following disclaimer.
00011  *
00012  * *  Redistributions in binary form must reproduce the above copyright
00013  *    notice, this list of conditions and the following disclaimer in the
00014  *    documentation and/or other materials provided with the distribution.
00015  *
00016  * *  Neither the name of Texas Instruments Incorporated nor the names of
00017  *    its contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00021  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00022  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00023  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00024  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00025  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00026  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00027  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00028  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00029  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00030  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031  *
00032  */
00050 #ifndef ti_sdo_fc_rman__RMAN_
00051 #define ti_sdo_fc_rman__RMAN_
00052
00053 #define ti_sdo_fc_ires_NOPROTOCOLREV
00054
00055 #ifdef __cplusplus
00056 extern "C" {
00057 #endif
00058
00061
00062 #include <ti/xdais/ires.h>
00063 #include <ti/sdo/fc/ires/iresman.h>
00064
00073 #define RMAN_MODNAME  "ti.sdo.fc.rman"
00074
00078 #define RMAN_GTNAME  "ti.sdo.fc.rman"
00079
00083 #define RMAN_PROTOCOLNAMESIZE 200
00084
00088 typedef struct Sem_Obj * RMAN_SemHandle;
00089
00090
00101 typedef struct RMAN_Params {
00102
00106     short numRegistries;
00107
00111     IRESMAN_PersistentAllocFxn * allocFxn;
00112
00116     IRESMAN_PersistentFreeFxn * freeFxn;
00117
00121     IRES_YieldFxn yieldFxn;
00122
00126     Bool yieldSamePriority;
00127
00128 } RMAN_Params;
00129
00133 extern __FAR__ RMAN_Params RMAN_PARAMS;
00134
00138 extern __FAR__ IRESMAN_Fxns * RMAN_TABLE[];
00139
00143 extern __FAR__ short RMAN_FREE_ENTRIES[];
00144
00150 extern __FAR__ short RMAN_numRegistryEntries;
00151
00157 extern __FAR__ IRESMAN_Fxns ** RMAN_registryEntries;
00158
00163 extern __FAR__ IRESMAN_Params ** RMAN_registryResmanArgs;
00164
00169 extern __FAR__ unsigned int ** RMAN_iresVTable;
00170
00171
00181 IRES_Status RMAN_init(Void);
00182
00183
00190 IRES_Status RMAN_exit(Void);
00191
00192
00209 IRES_Status RMAN_register(IRESMAN_Fxns * resmanFxns, IRESMAN_Params * initArgs);
00210
00211
00222 IRES_Status RMAN_unregister(IRESMAN_Fxns * resmanFxns);
00223
00247 IRES_Status RMAN_assignResources(IALG_Handle algHandle, IRES_Fxns * resFxns,
00248     Int scratchGroupId);
00249
00250
00281 IRES_Status RMAN_allocateResources(Int requestId,
00282     IRES_ResourceDescriptor * resDesc, Int numResources, Int scratchGroupId);
00283
00284
00303 IRES_Status RMAN_freeResources(IALG_Handle algHandle, IRES_Fxns * resFxns, Int
00304     scratchGroupId);
00305
00330 IRES_Status RMAN_freeAllocatedResources (Int requestId,
00331         IRES_ResourceDescriptor *resDesc, Int numResources, Int scratchGroupId);
00332
00345 IRES_Status RMAN_activateResource(IALG_Handle algHandle,
00346     IRES_Handle resourceHandle, IRES_Fxns * resFxns, Int scratchGroupId);
00347
00357 IRES_Status RMAN_activateAllResources(IALG_Handle algHandle,
00358     IRES_Fxns * resFxns, Int scratchGroupId);
00359
00372 IRES_Status RMAN_deactivateResource(IALG_Handle algHandle,
00373     IRES_Handle resourceHandle, IRES_Fxns * resFxns, Int scratchGroupId);
00374
00385 IRES_Status RMAN_deactivateAllResources(IALG_Handle algHandle,
00386     IRES_Fxns * resFxns, Int scratchGroupId);
00387
00388
00408 void RMAN_yield(IRES_YieldResourceType resource,
00409     IRES_YieldContextHandle algYieldContext, IRES_YieldArgs yieldArgs);
00410
00411
00414 #ifdef __cplusplus
00415 }
00416 #endif /* extern "C" */
00417
00418 #endif
00419 /*
00420  *  @(#) ti.sdo.fc.rman; 2, 0, 0,301; 2-8-2011 15:07:36; /db/atree/library/trees/fc/fc-n26x/src/ xlibrary
00421
00422  */
00423


Framework Components Application Programming Interface (API): 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) 2011, 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,220; 2-8-2011 15:08:05; /db/atree/library/trees/fc/fc-n26x/src/ xlibrary
00175
00176  */
00177


Framework Components Application Programming Interface (API): 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) 2011, 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,207; 2-8-2011 15:08:21; /db/atree/library/trees/fc/fc-n26x/src/ xlibrary
00201
00202  */
00203


Framework Components Application Programming Interface (API): xdas.h Source File

  • File List
  • Globals
  • fctools
  • packages
  • ti
  • xdais

xdas.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 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,23; 10-21-2010 16:35:44; /db/wtree/library/trees/dais/dais.git/src/ dais-s07
00082  */
00083