Data Structures

pooldefs.h File Reference


Detailed Description

Definitions of constants and structures for pools.

============================================================================

Path:
/gpp/inc/usr/
Version:
1.65.02.09 ============================================================================
Copyright:
Copyright (C) 2002-2012, Texas Instruments Incorporated - https://www.ti.com/

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

* Neither the name of Texas Instruments Incorporated nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ============================================================================

#include <dsplink.h>
Include dependency graph for pooldefs.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  BUFPOOL_Attrs_tag
struct  SMAPOOL_Attrs_tag
struct  DMAPOOL_Attrs_tag

Defines

POOL_makePoolId

This macro returns a Pool Id by combining PROCID and POOL No in the Following format: |<--- 8 bit --->|<--- 8 bit --->| | ProcId | PoolNo | ============================================================================

============================================================================

#define POOL_makePoolId(procId, poolNo)
POOL_getProcId

Returns the processor Identifier from the PoolId. ============================================================================

============================================================================

#define POOL_getProcId(poolId)   ((((poolId) & 0xFF00u) >> 8u) & 0x00FFu)
POOL_getPoolNo

Returns the pool Number from the PoolId. ============================================================================

============================================================================

#define POOL_getPoolNo(poolId)   ((poolId) & 0x00FFu)
MAX_POOLENTRIES

The maximum number of pools that can be configured per processors. ============================================================================

============================================================================

#define MAX_POOLENTRIES   32u
#define IS_VALID_POOLID(id)   (POOL_getPoolNo((id)) < MAX_POOLENTRIES)
 Is the pool ID valid for a processor. ============================================================================.
MAX_SMABUFENTRIES

The maximum number of buffer pools that can be configured for SMA. ============================================================================

============================================================================

#define MAX_SMABUFENTRIES   16u
MAX_DMABUFENTRIES

The maximum number of buffer pools that can be configured for DMA. ============================================================================

============================================================================

#define MAX_DMABUFENTRIES   16u

Typedefs

BUFPOOL_Attrs

This structure defines the attributes required for initialization of the buffer pool.

============================================================================

Parameters:
numBufPoolsNumber of entries in the arrays of buffer sizes and number of buffers in the params structure.
bufSizesArray of sizes of the buffers in the buffer pools. This array is of size numBufObjs.
numBuffersArray of number of buffers in all buffer pools. This array is of size numBufObjs. ============================================================================
typedef struct BUFPOOL_Attrs_tag BUFPOOL_Attrs
SMAPOOL_Attrs

This structure defines the attributes of the SMA POOL.

============================================================================

Parameters:
numBufPoolsNumber of buffer pools.
bufSizesArray of sizes of the buffers in each buffer pools.
numBuffersArray of number of buffers in each buffer pools.
exactMatchReqFlag indicating whether requested size is to be rounded to nearest available size in Pools or exact match has to be performed. ============================================================================
typedef struct SMAPOOL_Attrs_tag SMAPOOL_Attrs

Enumerations

AddrType

Enumerates the various types of addresses that can be translated by the POOL.

============================================================================

Parameters:
AddrType_UsrUser virtual address
AddrType_PhyPhysical address
AddrType_KnlKernel address
AddrType_DspDSP address (if the buffer is in shared memory). ============================================================================
enum  AddrType {
  AddrType_Usr = 0u,
  AddrType_Phy = 1u,
  AddrType_Knl = 2u,
  AddrType_Dsp = 3u
}

DMAPOOL_Attrs

This structure defines the attributes of the DMA POOL.

============================================================================

Parameters:
numBufPoolsNumber of buffer pools.
bufSizesArray of sizes of the buffers in each buffer pools.
numBuffersArray of number of buffers in each buffer pools.
exactMatchReqFlag indicating whether requested size is to be rounded to nearest available size in Pools or exact match has to be performed. ============================================================================

#define BufPoolAttrs   BUFPOOL_Attrs
#define SmaPoolAttrs   SMAPOOL_Attrs
typedef struct DMAPOOL_Attrs_tag DMAPOOL_Attrs

Define Documentation

#define POOL_makePoolId (   procId,
  poolNo 
)
Value:
(  ((poolNo) & 0xFFu)                  \
                                       | ((((procId) & 0xFFu) << 8u) & 0xFFFFu))
#define POOL_getProcId (   poolId )    ((((poolId) & 0xFF00u) >> 8u) & 0x00FFu)
#define POOL_getPoolNo (   poolId )    ((poolId) & 0x00FFu)
#define MAX_POOLENTRIES   32u
#define IS_VALID_POOLID (   id )    (POOL_getPoolNo((id)) < MAX_POOLENTRIES)

Is the pool ID valid for a processor. ============================================================================.

============================================================================

Macro:
IS_VALID_POOLID
#define MAX_SMABUFENTRIES   16u
#define MAX_DMABUFENTRIES   16u
#define BufPoolAttrs   BUFPOOL_Attrs

============================================================================

Deprecated:
The deprecated data structure BUFPOOL_Attrs has been replaced with BUFPOOL_Attrs.

============================================================================

#define SmaPoolAttrs   SMAPOOL_Attrs

============================================================================

Deprecated:
The deprecated data structure SmaPoolAttrs has been replaced with SMAPOOL_Attrs.

============================================================================


Typedef Documentation


Enumeration Type Documentation

enum AddrType
Enumerator:
AddrType_Usr 
AddrType_Phy 
AddrType_Knl 
AddrType_Dsp 
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines

Copyright 2012, Texas Instruments Incorporated