Defines
QMSS Low Level Driver Symbols Defined
QMSS

Defines

#define QMSS_ACC_IDLE   0
#define QMSS_ACC_SOK   1
#define QMSS_ACC_INVALID_COMMAND   2
#define QMSS_ACC_INVALID_CHANNEL   3
#define QMSS_ACC_CHANNEL_NOT_ACTIVE   4
#define QMSS_ACC_CHANNEL_ALREADY_ACTIVE   5
#define QMSS_ACC_INVALID_QUEUE_NUMBER   6
#define QMSS_LINKING_RAM_REGION_0_DEFAULT_SIZE   0x3FFF
#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_EXIT_QUEUES_OPEN   QMSS_LLD_EBASE-22
#define QMSS_EXIT_REGIONS_PRESENT   QMSS_LLD_EBASE-23
#define QMSS_RM_INTERNAL_ERROR   QMSS_LLD_EBASE-24
#define QMSS_QUEUE_NOT_ALREADY_OPEN   QMSS_LLD_EBASE-25
#define QMSS_MAX_MEM_REGIONS   64
#define QMSS_MAX_PDSP   8
#define QMSS_MAX_INTD   2
#define QMSS_MAX_QMGR_GROUPS   2
#define QMSS_MAX_QUEUE_TYPES   30
#define QMSS_MAX_QUEUES   16384
#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_GROUP(hndl)   ((uint32_t)(hndl) >> 13)
#define QMSS_QOS_PDSP_NUM   1
#define QMSS_QOS_MAX_QUE_RR_HIGH_PRI   4
#define QMSS_QOS_SRIO_MIN_TX_Q   2
#define QMSS_QOS_SRIO_SHADOW_GARBAGE_Q_OFFSET   0
#define QMSS_QOS_SRIO_SHADOW_TX_Q_OFFSET   6
#define QMSS_QOS_SRIO_SHADOW_TX_COMPLETION_Q_OFFSET   11
#define QMSS_QOS_SRIO_TX_COMPLETION_Q_OFFSET   16
#define QMSS_QOS_SRIO_TX_MAX_FW_Q   21
#define QMSS_QCMD_GET_QUEUE_BASE   0x80
#define QCMD_RETCODE_SUCCESS   1
#define QMSS_QCMD_INVALID_COMMAND   2
#define QMSS_QCMD_INVALID_INDEX   3
#define QMSS_QCMD_INVALID_OPTION   4
#define QMSS_QCMD_INVALID_MODE   100
#define QMSS_QCMD_INVALID_RR_HIGH_Q   101
#define QMSS_QCMD_INVALID_RR_LOW_Q   102
#define QMSS_QCMD_INVALID_RR_EGRESS_Q   103
#define QMSS_QCMD_INVALID_SRIO_NUM_Q   104
#define QMSS_QOS_SCHED_PDSP_NUM   1
#define QMSS_QOS_SCHED_FULL_MAX_PHYS_PORTS   2
#define QMSS_QOS_SCHED_LITE_MAX_PHYS_PORTS   10
#define QMSS_QOS_SCHED_DROP_SCHED_FULL_MAX_PHYS_PORTS   0
#define QMSS_QOS_SCHED_DROP_SCHED_LITE_MAX_PHYS_PORTS   20
#define QMSS_QOS_SCHED_MAX_PHYS_PORTS
#define QMSS_QOS_SCHED_DROP_SCHED_MAX_PHYS_PORTS
#define QMSS_QOS_SCHED_FULL_MAX_LOG_GROUPS   5
#define QMSS_QOS_SCHED_LITE_MAX_LOG_GROUPS   1
#define QMSS_QOS_SCHED_FULL_MAX_QUEUES_PER_GROUP   8
#define QMSS_QOS_SCHED_LITE_MAX_QUEUES_PER_GROUP   4
#define QMSS_QOS_SCHED_STATS_FORWARDED_BYTES   1
#define QMSS_QOS_SCHED_STATS_FORWARDED_PACKETS   2
#define QMSS_QOS_SCHED_STATS_DISCARDED_BYTES   4
#define QMSS_QOS_SCHED_STATS_DISCARDED_PACKETS   8
#define QMSS_QOS_SCHED_DROP_SCHED_CFG_PROFILES   8
#define QMSS_QOS_SCHED_DROP_SCHED_OUT_PROFILES   36
#define QMSS_QOS_SCHED_DROP_SCHED_QUE_CONFIGS   80
#define QMSS_QOS_SCHED_DROP_SCHED_STATS_BLOCKS   48
#define QMSS_QOS_SCHED_DROP_SCHED_MAX_TC   16
#define QMSS_QOS_SCHED_DROP_SCHED_STATS_QUEUES   4
#define QMSS_QOS_SCHED_RETCODE_SUCCESS   1
#define QMSS_QOS_SCHED_INVALID_COMMAND   2
#define QMSS_QOS_SCHED_INVALID_INDEX   3
#define QMSS_QOS_SCHED_INVALID_OPTION   4
#define QMSS_QOS_SCHED_INVALID_PORT   100
#define QMSS_QOS_SCHED_INVALID_GROUP   101
#define QMSS_QOS_SCHED_INVALID_QUEUE   102
#define QMSS_QOS_SCHED_INVALID_WRRTYPE   103
#define QMSS_QOS_SCHED_INVALID_CIRTYPE   104
#define QMSS_QOS_SCHED_INVALID_CONGTYPE   105
#define QMSS_QOS_SCHED_INVALID_PORT_STATE   106
#define QMSS_QOS_SCHED_INVALID_GROUP_STATE   107
#define QMSS_QOS_SCHED_INVALID_CIR_MAX   108
#define QMSS_QOS_SCHED_INVALID_PIR_MAX   109
#define QMSS_QOS_SCHED_INVALID_CIR_ITERATION   110
#define QMSS_QOS_SCHED_INVALID_PIR_ITERATION   111
#define QMSS_QOS_SCHED_INVALID_WRR_CREDIT   112
#define QMSS_QOS_SCHED_UNDERFLOW   113
#define QMSS_QOS_SCHED_OVERFLOW   114
#define QMSS_QOS_SCHED_INVALID_PARAM   115
#define QMSS_QOS_SCHED_INVALID_MAGIC   116
#define QMSS_QOS_SCHED_UNUSED_GROUP_ARGS   117
#define QMSS_QOS_SCHED_INVALID_THROTTYPE   118
#define QMSS_QOS_SCHED_REQ_DROP_SCHED   119
#define QMSS_QOS_SCHED_INVALID_VALID_FLAG   120
#define QMSS_QOS_SCHED_INVALID_DROP_MODE   121
#define QMSS_QOS_SCHED_INVALID_TAILDROP_THRESH_TYPE   122
#define QMSS_QOS_SCHED_INVALID_RED_TC   123
#define QMSS_QOS_SCHED_INVALID_CFG_PROF_IDX   124
#define QMSS_QOS_SCHED_INVALID_STATS_BLOCK_IDX   125
#define QMSS_QOS_SCHED_INVALID_OUT_PROF_IDX   126
#define QMSS_QOS_SCHED_INVALID_RED_THRESH   127
#define QMSS_QOS_SCHED_INVALID_RED_THRESH_RECIP   128
#define QMSS_QOS_SCHED_INVALID_INTNUM   131
#define QMSS_QOS_SCHED_INVALID_TAIL_DROP_THRESH   132
#define QMSS_QOS_SCHED_SMALL_WRR_CREDIT   133
#define QMSS_QOS_SCHED_TAIL_ONLY   134
#define QMSS_QOS_SCHED_PACKETS_SCALE_SHIFT   20
#define QMSS_QOS_SCHED_BYTES_SCALE_SHIFT   11

Define Documentation

#define QCMD_RETCODE_SUCCESS   1

QMSS QoS return and Error Codes QMSS QoS successful return code

QMSS accumulator channel already active

QMSS accumulator channel not active return code

#define QMSS_ACC_IDLE   0

QMSS accumulator return and Error Codes QMSS accumulator idle return code

#define QMSS_ACC_INVALID_CHANNEL   3

QMSS accumulator invalid channel return code

#define QMSS_ACC_INVALID_COMMAND   2

QMSS accumulator invalid command return code

QMSS accumulator invalid queue number

#define QMSS_ACC_SOK   1

QMSS accumulator successful return code

#define QMSS_DESC_PTR (   desc)    ((uint32_t)desc & 0xFFFFFFF0)

Macro to get the descriptor pointer if the popped descriptor contains the descriptor size. If Qmss_queuePushDescSize() API is used to push a descriptor onto a queue, the descriptor when popped will have the descriptor size information in the lower 4 bits. This macro is provided to clear out the size information

#define QMSS_DESC_SIZE (   desc)    ((((uint32_t)desc & 0x0000000F) + 1) << 4)

Macro to get the descriptor size if the popped descriptor contains the descriptor size. If Qmss_queuePushDescSize() API is used to push a descriptor onto a queue, the descriptor when popped will have the descriptor size information in the lower 4 bits. This macro is provided to obtain the size information. Minimum size is 16 bytes. Maximum size is 256 bytes

QMSS exit failed (queues still open)

QMSS exit failed (regions still inserted)

QMSS PDSP firmware download failure

QMSS firmware revision difference

#define QMSS_HW_INIT_COMPLETE   0xABCD

Used to indicate that QMSS HW Initialization is complete

QMSS LLD invalid parameter

QMSS Bad Queue Number Configuration Table

QMSS firmware invalid garbage return queue

Internal Linking RAM default size

#define QMSS_LLD_EBASE   (-128)

QMSS Error Base

QMSS maximum number of allowed descriptor are already configured

#define QMSS_MAX_INTD   2

QMSS maximum number of INTDs

#define QMSS_MAX_MEM_REGIONS   64

QMSS maximum number of memory regions

#define QMSS_MAX_PDSP   8

QMSS maximum number of PDSPS

#define QMSS_MAX_QMGR_GROUPS   2

QMSS maximum number of queue groups (QMGRs that run independently)

#define QMSS_MAX_QUEUE_TYPES   30

QMSS maximum number of queue types (per group)

#define QMSS_MAX_QUEUES   16384

QMSS maximum number of queues

QMSS memory region already initialized

QMSS Specified memory region index is invalid or no memory regions are available

QMSS memory region invalid parameter

QMSS memory region not initialized

QMSS memory region not in acscending order

QMSS memory region overlap

QMSS LLD not initialized

#define QMSS_PARAM_NOT_SPECIFIED   -1

Used as input parameter when queue number is not known and not specified

#define QMSS_QCMD_GET_QUEUE_BASE   0x80

QMSS QoS commands

#define QMSS_QCMD_INVALID_COMMAND   2

QMSS QoS invalid command return code

#define QMSS_QCMD_INVALID_INDEX   3

QMSS QoS invalid index return code

#define QMSS_QCMD_INVALID_MODE   100

QMSS QoS invalid cluster mode

#define QMSS_QCMD_INVALID_OPTION   4

QMSS QoS invalid option return code

QMSS QoS invalid round robin low priority q num

#define QMSS_QCMD_INVALID_RR_HIGH_Q   101

QMSS QoS invalid round robin high priority q num

#define QMSS_QCMD_INVALID_RR_LOW_Q   102

QMSS QoS invalid round robin low priority q num

#define QMSS_QCMD_INVALID_SRIO_NUM_Q   104

QMSS QoS SRIO invalid number of queues

QMSS control of either QM was denied by RM

Specifications for Round Robin cluster

#define QMSS_QOS_PDSP_NUM   1

QMSS QoS PDSP number. QoS PDSP is downloaded to PDSP 1

Shift to convert from bytes to the format used for credits. This is used when the type is Qmss_QosSchedAcctType_BYTES 8 means that each unit represents 1/2048 of a byte

Number of drop scheduler config profiles supported

Number of full feature physical ports, when drop scheduler present

Number of reduced feature physical ports, when drop scheduler present

Value:
(QMSS_QOS_SCHED_DROP_SCHED_FULL_MAX_PHYS_PORTS +\
                               QMSS_QOS_SCHED_DROP_SCHED_LITE_MAX_PHYS_PORTS)

Total number of physical ports when drop scheduler present

Maximum drop scheduler time constant

Number of drop scheduler output profiles supported

Number of drop scheduler input queue configs supported

Number of drop scheduler stats blocks supported

Number of stats queue pairs for push stats

Number of logical groups in full featured port

Number of full featured physical ports

Number of queues per group in full featured port

QMSS QoS Scheduler - config profile index invalid

QMSS QoS scheduler cirIteration invalid (negative)

QMSS QoS scheduler cirMax too big (adding credit would overflow) or negative

QMSS QoS scheduler invalid port config cirType

QMSS QoS scheduler invalid command return code

QMSS QoS scheduler invalid port config congestionType

QMSS QoS Scheduler - drop scheduler mode bad

#define QMSS_QOS_SCHED_INVALID_GROUP   101

QMSS QoS scheduler invalid group in port

QMSS QoS scheduler attempted to configure a running group

QMSS QoS scheduler invalid index return code

QMSS QoS Scheduler - invalid interrupt number

#define QMSS_QOS_SCHED_INVALID_MAGIC   116

QMSS QoS scheduler invalid/unknown magic number

QMSS QoS scheduler invalid option return code

QMSS QoS Scheduler - output profile index invalid

#define QMSS_QOS_SCHED_INVALID_PARAM   115

QMSS QoS scheduler invalid argument

QMSS QoS scheduler pirIteration invalid (negative)

QMSS QoS scheduler pirMax too big (adding credit would overflow) or negative

#define QMSS_QOS_SCHED_INVALID_PORT   100

QMSS QoS scheduler invalid physical port

QMSS QoS scheduler attempted to configure a running port

#define QMSS_QOS_SCHED_INVALID_QUEUE   102

QMSS QoS scheduler invalid queue in group

QMSS QoS Scheduler - drop scheduler RED time constant invalid

QMSS QoS Scheduler - drop sched REDLowThresh >= REDHighThresh

QMSS QoS Scheduler - drop sched computation of 1.0 / (REDHighThresh - REDLowThresh) >> timeConstantP2 failed

QMSS QoS Scheduler - stats block index invalid

QMSS QoS Scheduler - invalid tail drop threshold (overflow)

QMSS QoS Scheduler - tail drop threshold type bad

QMSS QoS scheduler - invalid port config outThrotType

QMSS QoS Scheduler - profile valid flag enum bad

QMSS QoS scheduler wrrInitialCredit invalid (too big or negative)

QMSS QoS scheduler invalid port config wrrType

Number of logical groups in reduced feature port

Number of reduced feature physical ports

Number of queues per group in reduced feature port

Value:
(QMSS_QOS_SCHED_FULL_MAX_PHYS_PORTS +\
                                       QMSS_QOS_SCHED_LITE_MAX_PHYS_PORTS)

Total number of physical ports

#define QMSS_QOS_SCHED_OVERFLOW   114

QMSS QoS scheduler result overflowed

Shift to convert from packets to the format used for credits. This is used when the type is Qmss_QosSchedAcctType_PACKETS. 20 means that each unit represents 1/1048576 of a packet

#define QMSS_QOS_SCHED_PDSP_NUM   1

QMSS QoS PDSP number. QoS PDSP is downloaded to PDSP 1

QMSS QoS Scheduler - API requires build with drop scheduler

QMSS QoS scheduler return and Error Codes QMSS QoS scheduler successful return code

QMSS QoS scheduler wrrInitialCredit invalid (too small)

Bits representing statistics types (dropped bytes)

Bits representing statistics types (dropped packets)

Bits representing statistics types (forwarded bytes)

Bits representing statistics types (forwarded packets)

#define QMSS_QOS_SCHED_TAIL_ONLY   134

QMSS QoS scheudler push proxy can only do tail push

#define QMSS_QOS_SCHED_UNDERFLOW   113

QMSS QoS scheduler result underflowed

QMSS QoS scheduler - unused argument is defined

#define QMSS_QOS_SRIO_MIN_TX_Q   2

Specifications for the SRIO monitor cluster

Offset relative to Qmss_QosSrioCfg::queBase for first Shadow Garbage Collection Queue.

Offset relative to Qmss_QosSrioCfg::queBase for first Shadow Transmit Completion Queue.

SRIO's return queues should be pointed here.

Offset relative to Qmss_QosSrioCfg::queBase for first Shadow Transmit Queue.

SW places descriptors for SRIO transactions here

Offset relative to Qmss_QosSrioCfg::queBase for first Transmit Completion Queue.

The firmware will move descriptors from the Shadow Transmit Completion Queue to the Transmit Completion queue after subtracting the pending descriptor the number of pending descriptors on the hardware tx queue.

#define QMSS_QOS_SRIO_TX_MAX_FW_Q   21

Total possible queues firmware can use, starting from Qmss_QosSrioCfg::queBase.

#define QMSS_QUEUE_GROUP (   hndl)    ((uint32_t)(hndl) >> 13)

Macro to extract the queue manager group from the queue handle These are not to be confused with Qmss_getQueueNumber (to be used with CPPI) or Qmss_getQIDFromHandle (to be used with firmware) and are intended for internal LLD and unit test use only.

Qmss_queueOpenUse called on queue not already open

QMSS LLD queue open error

QMSS resource allocator to initialize denied

QMSS resource allocation to use denied

QMSS resource free was denied by RM

QMSS general linking RAM initialization permission denied

QMSS memory region initialization permission denied

QMSS memory region usage permission denied

Internal bookkeeping out of sync with RM

QMSS RM resource name maximum characters

#define QMSS_SOK   0

QMSS Low level Driver return and Error Codes QMSS successful return code


Copyright 2014, Texas Instruments Incorporated