|
Data Structures |
struct | Qmss_Queue |
| Queue definition. More...
|
struct | Qmss_QueueNumRange |
| Queue definition. More...
|
struct | Qmss_DescCfg |
| descriptor configuration structure More...
|
struct | Qmss_MemRegInfo |
| Memory region configuration information structure. More...
|
struct | Qmss_MemRegCfg |
| Memory region configuration information structure of all memory regions. More...
|
struct | Qmss_PdspCfg |
| QMSS PDSP firmware download information structure. More...
|
struct | Qmss_LinkingRAM |
| QMSS configuration structure. More...
|
struct | Qmss_InitCfg |
| QMSS configuration structure. More...
|
struct | Qmss_GlobalConfigGroupRegs |
| QMSS Global register definition for registers that replicate per QM group. More...
|
struct | Qmss_GlobalConfigGroupRm |
| QMSS Global RM resource name definitions replicate per QM group. More...
|
struct | Qmss_GlobalConfigRegs |
| QMSS Global register definition for registers that do not replicate per QM group. More...
|
struct | Qmss_GlobalConfigParams |
| QMSS Global configuration structure definition. More...
|
struct | Qmss_StartCfg |
| QMSS start configuration structure. More...
|
Defines |
#define | QMSS_PARAM_NOT_SPECIFIED -1 |
#define | QMSS_HW_INIT_COMPLETE 0xABCD |
#define | QMSS_SOK 0 |
#define | QMSS_LLD_EBASE (-128) |
#define | QMSS_INVALID_PARAM QMSS_LLD_EBASE-1 |
#define | QMSS_NOT_INITIALIZED QMSS_LLD_EBASE-2 |
#define | QMSS_QUEUE_OPEN_ERROR QMSS_LLD_EBASE-3 |
#define | QMSS_MEMREGION_NOT_INITIALIZED QMSS_LLD_EBASE-4 |
#define | QMSS_MEMREGION_ALREADY_INITIALIZED QMSS_LLD_EBASE-5 |
#define | QMSS_MEMREGION_INVALID_PARAM QMSS_LLD_EBASE-6 |
#define | QMSS_MAX_DESCRIPTORS_CONFIGURED QMSS_LLD_EBASE-7 |
#define | QMSS_MEMREGION_INVALID_INDEX QMSS_LLD_EBASE-8 |
#define | QMSS_MEMREGION_OVERLAP QMSS_LLD_EBASE-9 |
#define | QMSS_MEMREGION_ORDERING QMSS_LLD_EBASE-10 |
#define | QMSS_FIRMWARE_DOWNLOAD_FAILED QMSS_LLD_EBASE-11 |
#define | QMSS_RESOURCE_ALLOCATE_INIT_DENIED QMSS_LLD_EBASE-12 |
#define | QMSS_RESOURCE_ALLOCATE_USE_DENIED QMSS_LLD_EBASE-13 |
#define | QMSS_RESOURCE_MEM_REGION_INIT_DENIED QMSS_LLD_EBASE-14 |
#define | QMSS_RESOURCE_MEM_REGION_USE_DENIED QMSS_LLD_EBASE-15 |
#define | QMSS_RESOURCE_LINKING_RAM_INIT_DENIED QMSS_LLD_EBASE-16 |
#define | QMSS_FIRMWARE_REVISION_DIFFERENCE QMSS_LLD_EBASE-17 |
#define | QMSS_INVALID_SRIO_GARBAGE_QUEUE QMSS_LLD_EBASE-18 |
#define | QMSS_INVALID_QUEUE_NUMBER_TAB QMSS_LLD_EBASE-19 |
#define | QMSS_RESOURCE_FREE_DENIED QMSS_LLD_EBASE-20 |
#define | QMSS_QM_CONTROL_DENIED QMSS_LLD_EBASE-21 |
#define | QMSS_SUBSYS_UNSUPPORTED QMSS_LLD_EBASE-22 |
#define | QMSS_INVALID_QUEUE_TYPE QMSS_LLD_EBASE-23 |
#define | QMSS_EXIT_QUEUES_OPEN QMSS_LLD_EBASE-24 |
#define | QMSS_EXIT_REGIONS_PRESENT QMSS_LLD_EBASE-25 |
#define | QMSS_RM_INTERNAL_ERROR QMSS_LLD_EBASE-26 |
#define | QMSS_QUEUE_NOT_ALREADY_OPEN QMSS_LLD_EBASE-27 |
#define | QMSS_FEATURE_REQUIRES_RM QMSS_LLD_EBASE-28 |
#define | QMSS_API_NO_SPLIT_MODE QMSS_LLD_EBASE-29 |
#define | QMSS_VIRTPHYS_FAIL QMSS_LLD_EBASE-30 |
#define | QMSS_MEMREGION_NOT_ALREADY_INITIALIZED QMSS_LLD_EBASE-31 |
#define | QMSS_NS_FAIL QMSS_LLD_EBASE-32 |
#define | QMSS_NS_NAME_FAIL QMSS_LLD_EBASE-33 |
#define | QMSS_MAX_SUBSYS 2 |
#define | QMSS_MAX_MEM_REGIONS_SS_0 64 |
#define | QMSS_MAX_PDSP_SS_0 8 |
#define | QMSS_MAX_INTD_SS_0 2 |
#define | QMSS_MAX_QMGR_GROUPS_SS_0 2 |
#define | QMSS_MAX_QUEUE_TYPES_SS_0 35 |
#define | QMSS_MAX_QUEUES_SS_0 16384 |
#define | QMSS_MAX_MEM_REGIONS_SS_1 16 |
#define | QMSS_MAX_PDSP_SS_1 0 |
#define | QMSS_MAX_INTD_SS_1 0 |
#define | QMSS_MAX_QMGR_GROUPS_SS_1 2 |
#define | QMSS_MAX_QUEUE_TYPES_SS_1 2 |
#define | QMSS_MAX_QUEUES_SS_1 128 |
#define | QMSS_MAX_MEM_REGIONS 64 |
#define | QMSS_MAX_PDSP 8 |
#define | QMSS_MAX_INTD 2 |
#define | QMSS_MAX_QMGR_GROUPS 2 |
#define | QMSS_RM_RESOURCE_NAME_MAX_CHARS 32 |
#define | QMSS_DESC_PTR(desc) ((uint32_t)desc & 0xFFFFFFF0) |
#define | QMSS_DESC_SIZE(desc) ((((uint32_t)desc & 0x0000000F) + 1) << 4) |
#define | QMSS_QUEUE_SUBSYS(hndl) ((uint32_t)((hndl) >> 14) & 1) |
#define | QMSS_START_INDEX_NOT_SPECIFIED (QMSS_PARAM_NOT_SPECIFIED) |
#define | QMSS_START_INDEX_INTERNAL (-2) |
#define | QMSS_START_INDEX_EXTERNAL (-3) |
Typedefs |
typedef void * | Qmss_RmServiceHnd |
| QMSS RM Service Handle.
|
typedef int32_t | Qmss_QueueHnd |
| Queue handle.
|
typedef int32_t | Qmss_Result |
| QMSS return result.
|
typedef uint32_t * | Qmss_QueuePushHnd |
| Handle used in the "Fast Push" set of APIs.
|
typedef uint32_t | Qmss_SubSysHnd |
| Subsystem Handle used to designate which QMSS on the device.
|
Enumerations |
enum | Qmss_Location { Qmss_Location_TAIL = 0,
Qmss_Location_HEAD
} |
| location where the packet is queued More...
|
enum | Qmss_ManageDesc { Qmss_ManageDesc_UNMANAGED_DESCRIPTOR = 0,
Qmss_ManageDesc_MANAGE_DESCRIPTOR
} |
| Descriptor resource management. More...
|
enum | Qmss_MemRegion {
Qmss_MemRegion_MEMORY_REGION_NOT_SPECIFIED = -1,
Qmss_MemRegion_MEMORY_REGION0 = 0,
Qmss_MemRegion_MEMORY_REGION1,
Qmss_MemRegion_MEMORY_REGION2,
Qmss_MemRegion_MEMORY_REGION3,
Qmss_MemRegion_MEMORY_REGION4,
Qmss_MemRegion_MEMORY_REGION5,
Qmss_MemRegion_MEMORY_REGION6,
Qmss_MemRegion_MEMORY_REGION7,
Qmss_MemRegion_MEMORY_REGION8,
Qmss_MemRegion_MEMORY_REGION9,
Qmss_MemRegion_MEMORY_REGION10,
Qmss_MemRegion_MEMORY_REGION11,
Qmss_MemRegion_MEMORY_REGION12,
Qmss_MemRegion_MEMORY_REGION13,
Qmss_MemRegion_MEMORY_REGION14,
Qmss_MemRegion_MEMORY_REGION15,
Qmss_MemRegion_MEMORY_REGION16,
Qmss_MemRegion_MEMORY_REGION17,
Qmss_MemRegion_MEMORY_REGION18,
Qmss_MemRegion_MEMORY_REGION19,
Qmss_MemRegion_MEMORY_REGION20,
Qmss_MemRegion_MEMORY_REGION21,
Qmss_MemRegion_MEMORY_REGION22,
Qmss_MemRegion_MEMORY_REGION23,
Qmss_MemRegion_MEMORY_REGION24,
Qmss_MemRegion_MEMORY_REGION25,
Qmss_MemRegion_MEMORY_REGION26,
Qmss_MemRegion_MEMORY_REGION27,
Qmss_MemRegion_MEMORY_REGION28,
Qmss_MemRegion_MEMORY_REGION29,
Qmss_MemRegion_MEMORY_REGION30,
Qmss_MemRegion_MEMORY_REGION31,
Qmss_MemRegion_MEMORY_REGION32,
Qmss_MemRegion_MEMORY_REGION33,
Qmss_MemRegion_MEMORY_REGION34,
Qmss_MemRegion_MEMORY_REGION35,
Qmss_MemRegion_MEMORY_REGION36,
Qmss_MemRegion_MEMORY_REGION37,
Qmss_MemRegion_MEMORY_REGION38,
Qmss_MemRegion_MEMORY_REGION39,
Qmss_MemRegion_MEMORY_REGION40,
Qmss_MemRegion_MEMORY_REGION41,
Qmss_MemRegion_MEMORY_REGION42,
Qmss_MemRegion_MEMORY_REGION43,
Qmss_MemRegion_MEMORY_REGION44,
Qmss_MemRegion_MEMORY_REGION45,
Qmss_MemRegion_MEMORY_REGION46,
Qmss_MemRegion_MEMORY_REGION47,
Qmss_MemRegion_MEMORY_REGION48,
Qmss_MemRegion_MEMORY_REGION49,
Qmss_MemRegion_MEMORY_REGION50,
Qmss_MemRegion_MEMORY_REGION51,
Qmss_MemRegion_MEMORY_REGION52,
Qmss_MemRegion_MEMORY_REGION53,
Qmss_MemRegion_MEMORY_REGION54,
Qmss_MemRegion_MEMORY_REGION55,
Qmss_MemRegion_MEMORY_REGION56,
Qmss_MemRegion_MEMORY_REGION57,
Qmss_MemRegion_MEMORY_REGION58,
Qmss_MemRegion_MEMORY_REGION59,
Qmss_MemRegion_MEMORY_REGION60,
Qmss_MemRegion_MEMORY_REGION61,
Qmss_MemRegion_MEMORY_REGION62,
Qmss_MemRegion_MEMORY_REGION63
} |
| Queue Manager's memory regions. More...
|
enum | Qmss_PdspId {
Qmss_PdspId_PDSP1 = 0,
Qmss_PdspId_PDSP2,
Qmss_PdspId_PDSP3,
Qmss_PdspId_PDSP4,
Qmss_PdspId_PDSP5,
Qmss_PdspId_PDSP6,
Qmss_PdspId_PDSP7,
Qmss_PdspId_PDSP8
} |
| PDSP ID. More...
|
enum | Qmss_Mode { Qmss_Mode_JOINT_LOADBALANCED = 0,
Qmss_Mode_JOINT_ROUNDROBIN,
Qmss_Mode_SPLIT
} |
| QMSS operation modes. More...
|
enum | Qmss_IntdInterruptType { Qmss_IntdInterruptType_HIGH = 0,
Qmss_IntdInterruptType_LOW,
Qmss_IntdInterruptType_CDMA
} |
| INTD interrupt types. More...
|
enum | Qmss_SubSys { Qmss_SubSys_GLOBAL,
Qmss_SubSys_NETSS
} |
| QMSS subystem names. More...
|
enum | Qmss_QueueType {
Qmss_QueueType_LOW_PRIORITY_QUEUE = 0,
Qmss_QueueType_AIF_QUEUE,
Qmss_QueueType_PASS_QUEUE,
Qmss_QueueType_INTC_QUEUE,
Qmss_QueueType_INTC_SET2_QUEUE,
Qmss_QueueType_INTC_SET3_QUEUE,
Qmss_QueueType_INTC_SET4_QUEUE,
Qmss_QueueType_INTC_SET5_QUEUE,
Qmss_QueueType_INTC_EDMA_SET0_QUEUE,
Qmss_QueueType_INTC_EDMA_SET1_QUEUE,
Qmss_QueueType_INTC_EDMA_SET2_QUEUE,
Qmss_QueueType_SOC_SET0_QUEUE,
Qmss_QueueType_SOC_SET1_QUEUE,
Qmss_QueueType_SRIO_QUEUE,
Qmss_QueueType_FFTC_A_QUEUE,
Qmss_QueueType_FFTC_B_QUEUE,
Qmss_QueueType_FFTC_C_QUEUE,
Qmss_QueueType_FFTC_D_QUEUE,
Qmss_QueueType_FFTC_E_QUEUE,
Qmss_QueueType_FFTC_F_QUEUE,
Qmss_QueueType_BCP_QUEUE,
Qmss_QueueType_HIGH_PRIORITY_QUEUE,
Qmss_QueueType_STARVATION_COUNTER_QUEUE,
Qmss_QueueType_INFRASTRUCTURE_QUEUE,
Qmss_QueueType_QM2_INFRASTRUCTURE_QUEUE,
Qmss_QueueType_TRAFFIC_SHAPING_QUEUE,
Qmss_QueueType_GIC400_QUEUE,
Qmss_QueueType_EDMA_4_QUEUE,
Qmss_QueueType_HLINK_BROADCAST_QUEUE,
Qmss_QueueType_HLINK_0_QUEUE,
Qmss_QueueType_HLINK_1_QUEUE,
Qmss_QueueType_XGE_QUEUE,
Qmss_QueueType_DXB_QUEUE,
Qmss_QueueType_IQNET_QUEUE,
Qmss_QueueType_EDMA_0_QUEUE,
Qmss_QueueType_EDMA_1_QUEUE,
Qmss_QueueType_EDMA_2_QUEUE,
Qmss_QueueType_EDMA_3_QUEUE,
Qmss_QueueType_GENERAL_PURPOSE_QUEUE
} |
| Queue Type. Specifies different queue classifications. More...
|
Functions |
Qmss_Result | Qmss_initSubSys (Qmss_SubSysHnd *subSysHnd, Qmss_SubSys subSys, Qmss_InitCfg *initCfg, Qmss_GlobalConfigParams *qmssGblCfgParams) |
Qmss_Result | Qmss_init (Qmss_InitCfg *initCfg, Qmss_GlobalConfigParams *qmssGblCfgParams) |
Qmss_Result | Qmss_exitSubSys (Qmss_SubSysHnd *subSysHnd) |
Qmss_Result | Qmss_exit (void) |
Qmss_Result | Qmss_start (void) |
Qmss_Result | Qmss_startSubSysCfg (Qmss_SubSysHnd *subSysHnd, Qmss_SubSys subSys, Qmss_StartCfg *startCfg) |
Qmss_Result | Qmss_startCfg (Qmss_StartCfg *startCfg) |
Qmss_Result | Qmss_getMemoryRegionCfgSubSys (Qmss_SubSysHnd subSysHnd, Qmss_MemRegCfg *memRegInfo) |
Qmss_Result | Qmss_getMemoryRegionCfg (Qmss_MemRegCfg *memRegInfo) |
Qmss_Result | Qmss_insertMemoryRegionSubSys (Qmss_SubSysHnd subSysHnd, Qmss_MemRegInfo *memRegCfg) |
Qmss_Result | Qmss_insertMemoryRegion (Qmss_MemRegInfo *memRegCfg) |
Qmss_Result | Qmss_openMemoryRegionSubSys (Qmss_SubSysHnd subSysHnd, Qmss_MemRegion memRegion, uint32_t qGroup) |
Qmss_Result | Qmss_openMemoryRegion (Qmss_MemRegion memRegion, uint32_t qGroup) |
Qmss_Result | Qmss_removeMemoryRegionSubSys (Qmss_SubSysHnd subSysHnd, int32_t region, uint32_t qGroup) |
Qmss_Result | Qmss_removeMemoryRegion (int32_t region, uint32_t qGroup) |
Qmss_Result | Qmss_closeMemoryRegionSubSys (Qmss_SubSysHnd subSysHnd, int32_t region, uint32_t qGroup) |
Qmss_Result | Qmss_closeMemoryRegion (int32_t region, uint32_t qGroup) |
Qmss_QueueHnd | Qmss_initDescriptorSubSys (Qmss_SubSysHnd subSysHnd, Qmss_DescCfg *descCfg, uint32_t *numAllocated) |
Qmss_QueueHnd | Qmss_initDescriptor (Qmss_DescCfg *descCfg, uint32_t *numAllocated) |
Qmss_QueueHnd | Qmss_queueOpenSubSys (Qmss_SubSysHnd subSysHnd, Qmss_QueueType queType, int32_t queNum, uint8_t *isAllocated) |
Qmss_QueueHnd | Qmss_queueOpen (Qmss_QueueType queType, int32_t queNum, uint8_t *isAllocated) |
Qmss_QueueHnd | Qmss_queueOpenInGroupSubSys (Qmss_SubSysHnd subSysHnd, int32_t qGroup, Qmss_QueueType queType, int32_t queNum, uint8_t *isAllocated) |
Qmss_QueueHnd | Qmss_queueOpenInGroup (int32_t qGroup, Qmss_QueueType queType, int32_t queNum, uint8_t *isAllocated) |
Qmss_QueueHnd | Qmss_queueOpenInRangeSubSys (Qmss_SubSysHnd subSysHnd, uint32_t startQueNum, uint32_t endQueNum, uint8_t *isAllocated) |
Qmss_QueueHnd | Qmss_queueOpenInRange (uint32_t startQueNum, uint32_t endQueNum, uint8_t *isAllocated) |
Qmss_QueueHnd | Qmss_queueOpenUseSubSys (Qmss_SubSysHnd subSysHnd, uint32_t QID, uint8_t *useCount) |
Qmss_QueueHnd | Qmss_queueOpenUse (uint32_t QID, uint8_t *useCount) |
Qmss_Result | Qmss_queueBlockOpenInGroupSubSys (Qmss_SubSysHnd subSysHnd, Qmss_QueueHnd *queueHnds, int32_t qGroup, Qmss_QueueType queType, int32_t numQ, int32_t align) |
Qmss_Result | Qmss_queueBlockOpenInGroup (Qmss_QueueHnd *queueHnds, int32_t qGroup, Qmss_QueueType queType, int32_t numQ, int32_t align) |
Qmss_Result | Qmss_queueBlockOpenSubSys (Qmss_SubSysHnd subSysHnd, Qmss_QueueHnd *queueHnds, Qmss_QueueType queType, int32_t numQ, int32_t align) |
Qmss_Result | Qmss_queueBlockOpen (Qmss_QueueHnd *queueHnds, Qmss_QueueType queType, int32_t numQ, int32_t align) |
Qmss_Result | Qmss_queueClose (Qmss_QueueHnd hnd) |
uint32_t | Qmss_getQueueThreshold (Qmss_QueueHnd hnd) |
Qmss_Result | Qmss_setQueueThreshold (Qmss_QueueHnd hnd, uint16_t hilo, uint8_t threshold) |
uint32_t | Qmss_getStarvationCount (Qmss_QueueHnd hnd) |
uint16_t | Qmss_getQueueThresholdStatus (Qmss_QueueHnd hnd) |
Qmss_Queue | Qmss_getQueueNumber (Qmss_QueueHnd hnd) |
Qmss_QueueHnd | Qmss_getQueueHandle (Qmss_Queue queue) |
uint32_t | Qmss_getQueueGroup (Qmss_QueueHnd hnd) |
uint32_t | Qmss_getMemRegDescSizeSubSys (Qmss_SubSysHnd subSysHnd, uint32_t memRegion, uint32_t qGroup) |
uint32_t | Qmss_getMemRegDescSize (uint32_t memRegion, uint32_t qGroup) |
Qmss_Result | Qmss_downloadFirmwareSubSys (Qmss_SubSysHnd subSysHnd, Qmss_PdspId pdspId, void *image, uint32_t size) |
Qmss_Result | Qmss_downloadFirmware (Qmss_PdspId pdspId, void *image, uint32_t size) |
Qmss_Result | Qmss_setEoiVectorByIntdSubSys (Qmss_SubSysHnd subSysHnd, uint8_t intdNum, Qmss_IntdInterruptType type, uint8_t accumCh) |
Qmss_Result | Qmss_setEoiVectorByIntd (uint8_t intdNum, Qmss_IntdInterruptType type, uint8_t accumCh) |
Qmss_Result | Qmss_setEoiVectorSubSys (Qmss_SubSysHnd subSysHnd, Qmss_IntdInterruptType type, uint8_t accumCh) |
Qmss_Result | Qmss_setEoiVector (Qmss_IntdInterruptType type, uint8_t accumCh) |
Qmss_Result | Qmss_setEoiIntNumByIntdSubSys (Qmss_SubSysHnd subSysHnd, uint8_t intdNum, uint8_t interruptNum) |
Qmss_Result | Qmss_setEoiIntNumByIntd (uint8_t intdNum, uint8_t interruptNum) |
Qmss_Result | Qmss_setEoiIntNumSubSys (Qmss_SubSysHnd subSysHnd, uint8_t interruptNum) |
Qmss_Result | Qmss_setEoiIntNum (uint8_t interruptNum) |
Qmss_Result | Qmss_ackInterruptByIntdSubSys (Qmss_SubSysHnd subSysHnd, uint8_t intdNum, uint8_t interruptNum, uint8_t value) |
Qmss_Result | Qmss_ackInterruptByIntd (uint8_t intdNum, uint8_t interruptNum, uint8_t value) |
Qmss_Result | Qmss_ackInterruptSubSys (Qmss_SubSysHnd subSysHnd, uint8_t interruptNum, uint8_t value) |
Qmss_Result | Qmss_ackInterrupt (uint8_t interruptNum, uint8_t value) |
Qmss_QueueHnd | Qmss_getMemRegQueueHandleSubSys (Qmss_SubSysHnd subSysHnd, uint32_t memRegion) |
Qmss_QueueHnd | Qmss_getMemRegQueueHandle (uint32_t memRegion) |
Qmss_Result | Qmss_getStarvationCounts (Qmss_QueueHnd hnd, uint32_t numCounts, uint32_t *pStarvationCounts) |
uint32_t | Qmss_getVersion (void) |
const char * | Qmss_getVersionStr (void) |
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.