2 * @file IxQMgrDispatcher_p.h
4 * @author Intel Corporation
7 * @brief This file contains the internal functions for dispatcher
11 * IXP400 SW Release version 2.0
13 * -- Copyright Notice --
16 * Copyright 2001-2005, Intel Corporation.
17 * All rights reserved.
20 * SPDX-License-Identifier: BSD-3-Clause
22 * -- End of Copyright Notice --
25 #ifndef IXQMGRDISPATCHER_P_H
26 #define IXQMGRDISPATCHER_P_H
29 * User defined include files
34 * This structure defines the statistic data for a queue
38 unsigned callbackCnt; /* Call count of callback */
39 unsigned priorityChangeCnt; /* Priority change count */
40 unsigned intNoCallbackCnt; /* Interrupt fired but no callback set count */
41 unsigned intLostCallbackCnt; /* Interrupt lost and detected ; SCR541 */
42 BOOL notificationEnabled; /* Interrupt enabled for this queue */
43 IxQMgrSourceId srcSel; /* interrupt source */
44 unsigned enableCount; /* num times notif enabled by LLP */
45 unsigned disableCount; /* num of times notif disabled by LLP */
46 } IxQMgrDispatcherQStats;
49 * This structure defines statistic data for the disatcher
53 unsigned loopRunCnt; /* ixQMgrDispatcherLoopRun count */
55 IxQMgrDispatcherQStats queueStats[IX_QMGR_MAX_NUM_QUEUES];
57 } IxQMgrDispatcherStats;
60 * Initialise the dispatcher component
63 ixQMgrDispatcherInit (void);
66 * Get the dispatcher statistics
68 IxQMgrDispatcherStats*
69 ixQMgrDispatcherStatsGet (void);
72 * Retrieve the number of leading zero bits starting from the MSB
73 * This function is implemented as an (extremely fast) asm routine
74 * for XSCALE processor (see clz instruction) and as a (slower) C
75 * function for other systems.
78 ixQMgrCountLeadingZeros(unsigned int value);
80 #endif/*IXQMGRDISPATCHER_P_H*/