blob: 5480214e9f17d03ee56f381ab5ef336e8203f45d [file] [log] [blame]
Wolfgang Denk4646d2a2006-05-30 15:56:48 +02001/**
2 * @file IxQMgrQCfg_p.h
3 *
4 * @author Intel Corporation
5 * @date 07-Feb-2002
6 *
7 * @brief This file contains the internal functions for config
8 *
9 *
10 * @par
11 * IXP400 SW Release version 2.0
12 *
13 * -- Copyright Notice --
14 *
15 * @par
16 * Copyright 2001-2005, Intel Corporation.
17 * All rights reserved.
18 *
19 * @par
Wolfgang Denkc57eadc2013-07-28 22:12:47 +020020 * SPDX-License-Identifier: BSD-3-Clause
Wolfgang Denk4646d2a2006-05-30 15:56:48 +020021 * @par
22 * -- End of Copyright Notice --
23*/
24
25#ifndef IXQMGRQCFG_P_H
26#define IXQMGRQCFG_P_H
27
28/*
29 * User defined header files
30 */
31#include "IxQMgr.h"
32
33/*
34 * Typedefs
35 */
36typedef struct
37{
38 unsigned wmSetCnt;
39
40 struct
41 {
42 char *qName;
43 BOOL isConfigured;
44 unsigned int qSizeInWords;
45 unsigned int qEntrySizeInWords;
46 unsigned int ne;
47 unsigned int nf;
48 unsigned int numEntries;
49 UINT32 baseAddress;
50 UINT32 readPtr;
51 UINT32 writePtr;
52 } qStats[IX_QMGR_MAX_NUM_QUEUES];
53
54} IxQMgrQCfgStats;
55
56/*
57 * Initialize the QCfg subcomponent
58 */
59void
60ixQMgrQCfgInit (void);
61
62/*
63 * Uninitialize the QCfg subcomponent
64 */
65void
66ixQMgrQCfgUninit (void);
67
68/*
69 * Get the Q size in words
70 */
71IxQMgrQSizeInWords
72ixQMgrQSizeInWordsGet (IxQMgrQId qId);
73
74/*
75 * Get the Q entry size in words
76 */
77IxQMgrQEntrySizeInWords
78ixQMgrQEntrySizeInWordsGet (IxQMgrQId qId);
79
80/*
81 * Get the generic cfg stats
82 */
83IxQMgrQCfgStats*
84ixQMgrQCfgStatsGet (void);
85
86/*
87 * Get queue specific stats
88 */
89IxQMgrQCfgStats*
90ixQMgrQCfgQStatsGet (IxQMgrQId qId);
91
92/*
93 * Check is the queue configured
94 */
95BOOL
96ixQMgrQIsConfigured(IxQMgrQId qId);
97
98#endif /* IX_QMGRQCFG_P_H */