qmss_qosSched.c File Reference

This file has API that configure the Queue Manager QoS packet scheduler firmware. More...

#include <stdint.h>
#include <stdlib.h>
#include <ti/drv/qmss/qmss_drv.h>
#include <ti/drv/qmss/qmss_qosSched.h>
#include <ti/drv/qmss/include/qmss_pvt.h>
#include <ti/drv/qmss/include/qmss_qos_sched_regs.h>
#include <qmss_osal.h>
#include <string.h>

Functions

Qmss_Result Qmss_setQosSchedQueueBaseSubSys (Qmss_SubSysHnd subSysHnd, Qmss_PdspId pdspId, uint32_t queueNum)
Qmss_Result Qmss_setQosSchedQueueBase (uint32_t queueNum)
Qmss_Result Qmss_getQosSchedQueueBaseSubSys (Qmss_SubSysHnd subSysHnd, Qmss_PdspId pdspId, uint32_t *queueNum)
Qmss_Result Qmss_getQosSchedQueueBase (uint32_t *queueNum)
Qmss_Result Qmss_configureQosSchedTimerSubSys (Qmss_SubSysHnd subSysHnd, Qmss_PdspId pdspId, uint32_t timerConstant)
Qmss_Result Qmss_configureQosSchedTimer (uint32_t timerConstant)
Qmss_Result Qmss_enableQosSchedPortSubSys (Qmss_SubSysHnd subSysHnd, Qmss_PdspId pdspId, uint32_t port)
Qmss_Result Qmss_enableQosSchedPort (uint32_t port)
Qmss_Result Qmss_disableQosSchedPortSubSys (Qmss_SubSysHnd subSysHnd, Qmss_PdspId pdspId, uint32_t port)
Qmss_Result Qmss_disableQosSchedPort (uint32_t port)
Qmss_Result Qmss_putCfgQosSchedPortSubSys (Qmss_SubSysHnd subSysHnd, Qmss_PdspId pdspId, uint32_t port, Qmss_QosSchedPortCfg *cfg)
Qmss_Result Qmss_putCfgQosSchedPort (uint32_t port, Qmss_QosSchedPortCfg *cfg)
Qmss_Result Qmss_getCfgQosSchedPortSubSys (Qmss_SubSysHnd subSysHnd, Qmss_PdspId pdspId, uint32_t port, Qmss_QosSchedPortCfg *cfg)
Qmss_Result Qmss_getCfgQosSchedPort (uint32_t port, Qmss_QosSchedPortCfg *cfg)
Qmss_Result Qmss_getQosSchedStatsSubSys (Qmss_SubSysHnd subSysHnd, Qmss_PdspId pdspId, Qmss_QosSchedStats *stats, uint32_t port, uint32_t group, uint32_t queue, uint32_t which_reset)
Qmss_Result Qmss_getQosSchedStats (Qmss_QosSchedStats *stats, uint32_t port, uint32_t group, uint32_t queue, uint32_t which_reset)
uint32_t Qmss_getQosSchedFwVersionSubSys (Qmss_SubSysHnd subSysHnd, Qmss_PdspId pdspId)
uint32_t Qmss_getQosSchedFwVersion (void)
uint32_t Qmss_getQosSchedFwMagicSubSys (Qmss_SubSysHnd subSysHnd, Qmss_PdspId pdspId)
uint32_t Qmss_getQosSchedFwMagic (void)
Qmss_Result Qmss_convertQosSchedBitRate (int32_t *result, uint32_t ticksPerSecond, uint32_t bitRatePerSecond)
Qmss_Result Qmss_convertQosSchedPacketRate (int32_t *result, uint32_t ticksPerSecond, uint32_t packetRatePerSecond)
Qmss_Result Qmss_convertQosSchedWrrBits (int32_t *result, uint32_t wrrCredit)
Qmss_Result Qmss_convertQosSchedWrrPackets (int32_t *result, uint32_t wrrCredit)
Qmss_Result Qmss_setQosSchedDropSchedQueueBaseSubSys (Qmss_SubSysHnd subSysHnd, Qmss_PdspId pdspId, uint32_t queueNum)
Qmss_Result Qmss_setQosSchedDropSchedQueueBase (uint32_t queueNum)
Qmss_Result Qmss_getQosSchedDropSchedQueueBaseSubSys (Qmss_SubSysHnd subSysHnd, Qmss_PdspId pdspId, uint32_t *queueNum)
Qmss_Result Qmss_getQosSchedDropSchedQueueBase (uint32_t *queueNum)
Qmss_Result Qmss_getCfgQosSchedDropSchedOutProfsSubSys (Qmss_SubSysHnd subSysHnd, Qmss_PdspId pdspId, uint32_t port, Qmss_QosSchedDropSchedOutProf *profs, int32_t nProfs)
Qmss_Result Qmss_getCfgQosSchedDropSchedOutProfs (uint32_t port, Qmss_QosSchedDropSchedOutProf *profs, int32_t nProfs)
Qmss_Result Qmss_putCfgQosSchedDropSchedOutProfsSubSys (Qmss_SubSysHnd subSysHnd, Qmss_PdspId pdspId, uint32_t port, Qmss_QosSchedDropSchedOutProf *profs, int32_t nProfs)
Qmss_Result Qmss_putCfgQosSchedDropSchedOutProfs (uint32_t port, Qmss_QosSchedDropSchedOutProf *profs, int32_t nProfs)
Qmss_Result Qmss_getCfgQosSchedDropSchedCfgProfsSubSys (Qmss_SubSysHnd subSysHnd, Qmss_PdspId pdspId, uint32_t port, Qmss_QosSchedDropSchedCfgProf *profs, int32_t nProfs)
Qmss_Result Qmss_getCfgQosSchedDropSchedCfgProfs (uint32_t port, Qmss_QosSchedDropSchedCfgProf *profs, int32_t nProfs)
Qmss_Result Qmss_putCfgQosSchedDropSchedCfgProfsSubSys (Qmss_SubSysHnd subSysHnd, Qmss_PdspId pdspId, uint32_t port, Qmss_QosSchedDropSchedCfgProf *profs, int32_t nProfs)
Qmss_Result Qmss_putCfgQosSchedDropSchedCfgProfs (uint32_t port, Qmss_QosSchedDropSchedCfgProf *profs, int32_t nProfs)
Qmss_Result Qmss_getCfgQosSchedDropSchedQueCfgsSubSys (Qmss_SubSysHnd subSysHnd, Qmss_PdspId pdspId, uint32_t port, Qmss_QosSchedDropSchedQueCfg *cfgs, int32_t nCfgs)
Qmss_Result Qmss_getCfgQosSchedDropSchedQueCfgs (uint32_t port, Qmss_QosSchedDropSchedQueCfg *cfgs, int32_t nCfgs)
Qmss_Result Qmss_putCfgQosSchedDropSchedQueCfgsSubSys (Qmss_SubSysHnd subSysHnd, Qmss_PdspId pdspId, uint32_t port, Qmss_QosSchedDropSchedQueCfg *cfgs, int32_t nCfgs)
Qmss_Result Qmss_putCfgQosSchedDropSchedQueCfgs (uint32_t port, Qmss_QosSchedDropSchedQueCfg *cfgs, int32_t nCfgs)
Qmss_Result Qmss_getCfgQosSchedDropSchedCfgSubSys (Qmss_SubSysHnd subSysHnd, Qmss_PdspId pdspId, uint32_t port, Qmss_QosSchedDropSchedCfg *pCfg)
Qmss_Result Qmss_getCfgQosSchedDropSchedCfg (uint32_t port, Qmss_QosSchedDropSchedCfg *pCfg)
Qmss_Result Qmss_putCfgQosSchedDropSchedCfgSubSys (Qmss_SubSysHnd subSysHnd, Qmss_PdspId pdspId, uint32_t port, Qmss_QosSchedDropSchedCfg *pCfg)
Qmss_Result Qmss_putCfgQosSchedDropSchedCfg (uint32_t port, Qmss_QosSchedDropSchedCfg *pCfg)
Qmss_Result Qmss_enableQosSchedDropSchedSubSys (Qmss_SubSysHnd subSysHnd, Qmss_PdspId pdspId, uint32_t port)
Qmss_Result Qmss_enableQosSchedDropSched (uint32_t port)
Qmss_Result Qmss_disableQosSchedDropSchedSubSys (Qmss_SubSysHnd subSysHnd, Qmss_PdspId pdspId, uint32_t port)
Qmss_Result Qmss_disableQosSchedDropSched (uint32_t port)
Qmss_Result Qmss_getQosSchedDropSchedStatsSubSys (Qmss_SubSysHnd subSysHnd, Qmss_PdspId pdspId, Qmss_QosSchedDropSchedStats *stats, uint32_t port, uint32_t block, uint32_t which_reset)
Qmss_Result Qmss_getQosSchedDropSchedStats (Qmss_QosSchedDropSchedStats *stats, uint32_t port, uint32_t block, uint32_t which_reset)
Qmss_Result Qmss_convertQosSchedDropSchedPushStats (Qmss_QosSchedDropSchedPushStats *stats, void *desc)
Qmss_Result Qmss_qosSchedDropSchedPushProxySubSys (Qmss_SubSysHnd subSysHnd, Qmss_PdspId pdspId, Qmss_QueueHnd hnd, void *descAddr, uint32_t packetSize, uint32_t descSize, Qmss_Location location)
Qmss_Result Qmss_qosSchedDropSchedPushProxy (Qmss_QueueHnd hnd, void *descAddr, uint32_t packetSize, uint32_t descSize, Qmss_Location location)


Detailed Description

This file has API that configure the Queue Manager QoS packet scheduler firmware.

============================================================================
(C) Copyright 2012-2014, Texas Instruments, Inc.
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.


Copyright 2014, Texas Instruments Incorporated