cxgb_sge_defs.h revision 167514
118334Speter/**************************************************************************
218334Speter
318334SpeterCopyright (c) 2007, Chelsio Inc.
418334SpeterAll rights reserved.
518334Speter
618334SpeterRedistribution and use in source and binary forms, with or without
718334Spetermodification, are permitted provided that the following conditions are met:
818334Speter
918334Speter 1. Redistributions of source code must retain the above copyright notice,
1018334Speter    this list of conditions and the following disclaimer.
1118334Speter
1218334Speter 2. Redistributions in binary form must reproduce the above copyright
1318334Speter    notice, this list of conditions and the following disclaimer in the
1418334Speter    documentation and/or other materials provided with the distribution.
1518334Speter
1618334Speter 3. Neither the name of the Chelsio Corporation nor the names of its
1718334Speter    contributors may be used to endorse or promote products derived from
1818334Speter    this software without specific prior written permission.
1918334Speter
2018334SpeterTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
2118334SpeterAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
2218334SpeterIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
2318334SpeterARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
2418334SpeterLIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
2518334SpeterCONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
2618334SpeterSUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
2718334SpeterINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
2818334SpeterCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
2918334SpeterARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
3018334SpeterPOSSIBILITY OF SUCH DAMAGE.
3118334Speter
3218334Speter$FreeBSD: head/sys/dev/cxgb/common/cxgb_sge_defs.h 167514 2007-03-14 02:37:44Z kmacy $
3318334Speter
3418334Speter***************************************************************************/
3518334Speter/*
3618334Speter * This file is automatically generated --- any changes will be lost.
3718334Speter */
3818334Speter
3918334Speter#ifndef _SGE_DEFS_H
4018334Speter#define _SGE_DEFS_H
4118334Speter
4218334Speter#define S_EC_CREDITS    0
4318334Speter#define M_EC_CREDITS    0x7FFF
4418334Speter#define V_EC_CREDITS(x) ((x) << S_EC_CREDITS)
4518334Speter#define G_EC_CREDITS(x) (((x) >> S_EC_CREDITS) & M_EC_CREDITS)
4618334Speter
4718334Speter#define S_EC_GTS    15
4818334Speter#define V_EC_GTS(x) ((x) << S_EC_GTS)
4918334Speter#define F_EC_GTS    V_EC_GTS(1U)
5018334Speter
5118334Speter#define S_EC_INDEX    16
5218334Speter#define M_EC_INDEX    0xFFFF
5318334Speter#define V_EC_INDEX(x) ((x) << S_EC_INDEX)
5418334Speter#define G_EC_INDEX(x) (((x) >> S_EC_INDEX) & M_EC_INDEX)
5518334Speter
5618334Speter#define S_EC_SIZE    0
5718334Speter#define M_EC_SIZE    0xFFFF
5818334Speter#define V_EC_SIZE(x) ((x) << S_EC_SIZE)
5918334Speter#define G_EC_SIZE(x) (((x) >> S_EC_SIZE) & M_EC_SIZE)
6018334Speter
6118334Speter#define S_EC_BASE_LO    16
6218334Speter#define M_EC_BASE_LO    0xFFFF
6318334Speter#define V_EC_BASE_LO(x) ((x) << S_EC_BASE_LO)
6418334Speter#define G_EC_BASE_LO(x) (((x) >> S_EC_BASE_LO) & M_EC_BASE_LO)
6518334Speter
6618334Speter#define S_EC_BASE_HI    0
6718334Speter#define M_EC_BASE_HI    0xF
6818334Speter#define V_EC_BASE_HI(x) ((x) << S_EC_BASE_HI)
6918334Speter#define G_EC_BASE_HI(x) (((x) >> S_EC_BASE_HI) & M_EC_BASE_HI)
7018334Speter
7118334Speter#define S_EC_RESPQ    4
7218334Speter#define M_EC_RESPQ    0x7
7318334Speter#define V_EC_RESPQ(x) ((x) << S_EC_RESPQ)
7418334Speter#define G_EC_RESPQ(x) (((x) >> S_EC_RESPQ) & M_EC_RESPQ)
7518334Speter
7618334Speter#define S_EC_TYPE    7
7718334Speter#define M_EC_TYPE    0x7
7818334Speter#define V_EC_TYPE(x) ((x) << S_EC_TYPE)
7918334Speter#define G_EC_TYPE(x) (((x) >> S_EC_TYPE) & M_EC_TYPE)
8018334Speter
8118334Speter#define S_EC_GEN    10
8218334Speter#define V_EC_GEN(x) ((x) << S_EC_GEN)
8318334Speter#define F_EC_GEN    V_EC_GEN(1U)
8418334Speter
8518334Speter#define S_EC_UP_TOKEN    11
8618334Speter#define M_EC_UP_TOKEN    0xFFFFF
8718334Speter#define V_EC_UP_TOKEN(x) ((x) << S_EC_UP_TOKEN)
8818334Speter#define G_EC_UP_TOKEN(x) (((x) >> S_EC_UP_TOKEN) & M_EC_UP_TOKEN)
8918334Speter
9018334Speter#define S_EC_VALID    31
9118334Speter#define V_EC_VALID(x) ((x) << S_EC_VALID)
9218334Speter#define F_EC_VALID    V_EC_VALID(1U)
9318334Speter
9418334Speter#define S_RQ_MSI_VEC    20
9518334Speter#define M_RQ_MSI_VEC    0x3F
9618334Speter#define V_RQ_MSI_VEC(x) ((x) << S_RQ_MSI_VEC)
9718334Speter#define G_RQ_MSI_VEC(x) (((x) >> S_RQ_MSI_VEC) & M_RQ_MSI_VEC)
9818334Speter
9918334Speter#define S_RQ_INTR_EN    26
10018334Speter#define V_RQ_INTR_EN(x) ((x) << S_RQ_INTR_EN)
10118334Speter#define F_RQ_INTR_EN    V_RQ_INTR_EN(1U)
10218334Speter
10318334Speter#define S_RQ_GEN    28
10418334Speter#define V_RQ_GEN(x) ((x) << S_RQ_GEN)
10518334Speter#define F_RQ_GEN    V_RQ_GEN(1U)
10618334Speter
10718334Speter#define S_CQ_INDEX    0
10818334Speter#define M_CQ_INDEX    0xFFFF
10918334Speter#define V_CQ_INDEX(x) ((x) << S_CQ_INDEX)
11018334Speter#define G_CQ_INDEX(x) (((x) >> S_CQ_INDEX) & M_CQ_INDEX)
11118334Speter
11218334Speter#define S_CQ_SIZE    16
11318334Speter#define M_CQ_SIZE    0xFFFF
11418334Speter#define V_CQ_SIZE(x) ((x) << S_CQ_SIZE)
11518334Speter#define G_CQ_SIZE(x) (((x) >> S_CQ_SIZE) & M_CQ_SIZE)
11618334Speter
11718334Speter#define S_CQ_BASE_HI    0
11818334Speter#define M_CQ_BASE_HI    0xFFFFF
11918334Speter#define V_CQ_BASE_HI(x) ((x) << S_CQ_BASE_HI)
12018334Speter#define G_CQ_BASE_HI(x) (((x) >> S_CQ_BASE_HI) & M_CQ_BASE_HI)
12118334Speter
12218334Speter#define S_CQ_RSPQ    20
12318334Speter#define M_CQ_RSPQ    0x3F
12418334Speter#define V_CQ_RSPQ(x) ((x) << S_CQ_RSPQ)
12518334Speter#define G_CQ_RSPQ(x) (((x) >> S_CQ_RSPQ) & M_CQ_RSPQ)
12618334Speter
12718334Speter#define S_CQ_ASYNC_NOTIF    26
12818334Speter#define V_CQ_ASYNC_NOTIF(x) ((x) << S_CQ_ASYNC_NOTIF)
12918334Speter#define F_CQ_ASYNC_NOTIF    V_CQ_ASYNC_NOTIF(1U)
13018334Speter
13118334Speter#define S_CQ_ARMED    27
13218334Speter#define V_CQ_ARMED(x) ((x) << S_CQ_ARMED)
13318334Speter#define F_CQ_ARMED    V_CQ_ARMED(1U)
13418334Speter
13518334Speter#define S_CQ_ASYNC_NOTIF_SOL    28
13618334Speter#define V_CQ_ASYNC_NOTIF_SOL(x) ((x) << S_CQ_ASYNC_NOTIF_SOL)
13718334Speter#define F_CQ_ASYNC_NOTIF_SOL    V_CQ_ASYNC_NOTIF_SOL(1U)
13818334Speter
13918334Speter#define S_CQ_GEN    29
14018334Speter#define V_CQ_GEN(x) ((x) << S_CQ_GEN)
14118334Speter#define F_CQ_GEN    V_CQ_GEN(1U)
14218334Speter
14318334Speter#define S_CQ_OVERFLOW_MODE    31
14418334Speter#define V_CQ_OVERFLOW_MODE(x) ((x) << S_CQ_OVERFLOW_MODE)
14518334Speter#define F_CQ_OVERFLOW_MODE    V_CQ_OVERFLOW_MODE(1U)
14618334Speter
14718334Speter#define S_CQ_CREDITS    0
14818334Speter#define M_CQ_CREDITS    0xFFFF
14918334Speter#define V_CQ_CREDITS(x) ((x) << S_CQ_CREDITS)
15018334Speter#define G_CQ_CREDITS(x) (((x) >> S_CQ_CREDITS) & M_CQ_CREDITS)
15118334Speter
15218334Speter#define S_CQ_CREDIT_THRES    16
15318334Speter#define M_CQ_CREDIT_THRES    0x1FFF
15418334Speter#define V_CQ_CREDIT_THRES(x) ((x) << S_CQ_CREDIT_THRES)
15518334Speter#define G_CQ_CREDIT_THRES(x) (((x) >> S_CQ_CREDIT_THRES) & M_CQ_CREDIT_THRES)
15618334Speter
15718334Speter#define S_FL_BASE_HI    0
15818334Speter#define M_FL_BASE_HI    0xFFFFF
15918334Speter#define V_FL_BASE_HI(x) ((x) << S_FL_BASE_HI)
16018334Speter#define G_FL_BASE_HI(x) (((x) >> S_FL_BASE_HI) & M_FL_BASE_HI)
16118334Speter
16218334Speter#define S_FL_INDEX_LO    20
16318334Speter#define M_FL_INDEX_LO    0xFFF
16418334Speter#define V_FL_INDEX_LO(x) ((x) << S_FL_INDEX_LO)
16518334Speter#define G_FL_INDEX_LO(x) (((x) >> S_FL_INDEX_LO) & M_FL_INDEX_LO)
16618334Speter
16718334Speter#define S_FL_INDEX_HI    0
16818334Speter#define M_FL_INDEX_HI    0xF
16918334Speter#define V_FL_INDEX_HI(x) ((x) << S_FL_INDEX_HI)
17018334Speter#define G_FL_INDEX_HI(x) (((x) >> S_FL_INDEX_HI) & M_FL_INDEX_HI)
17118334Speter
17218334Speter#define S_FL_SIZE    4
17318334Speter#define M_FL_SIZE    0xFFFF
17418334Speter#define V_FL_SIZE(x) ((x) << S_FL_SIZE)
17518334Speter#define G_FL_SIZE(x) (((x) >> S_FL_SIZE) & M_FL_SIZE)
17618334Speter
17718334Speter#define S_FL_GEN    20
17818334Speter#define V_FL_GEN(x) ((x) << S_FL_GEN)
17918334Speter#define F_FL_GEN    V_FL_GEN(1U)
18018334Speter
18118334Speter#define S_FL_ENTRY_SIZE_LO    21
18218334Speter#define M_FL_ENTRY_SIZE_LO    0x7FF
18318334Speter#define V_FL_ENTRY_SIZE_LO(x) ((x) << S_FL_ENTRY_SIZE_LO)
18418334Speter#define G_FL_ENTRY_SIZE_LO(x) (((x) >> S_FL_ENTRY_SIZE_LO) & M_FL_ENTRY_SIZE_LO)
18518334Speter
18618334Speter#define S_FL_ENTRY_SIZE_HI    0
18718334Speter#define M_FL_ENTRY_SIZE_HI    0x1FFFFF
18818334Speter#define V_FL_ENTRY_SIZE_HI(x) ((x) << S_FL_ENTRY_SIZE_HI)
18918334Speter#define G_FL_ENTRY_SIZE_HI(x) (((x) >> S_FL_ENTRY_SIZE_HI) & M_FL_ENTRY_SIZE_HI)
19018334Speter
19118334Speter#define S_FL_CONG_THRES    21
19218334Speter#define M_FL_CONG_THRES    0x3FF
19318334Speter#define V_FL_CONG_THRES(x) ((x) << S_FL_CONG_THRES)
19418334Speter#define G_FL_CONG_THRES(x) (((x) >> S_FL_CONG_THRES) & M_FL_CONG_THRES)
19518334Speter
19618334Speter#define S_FL_GTS    31
19718334Speter#define V_FL_GTS(x) ((x) << S_FL_GTS)
19818334Speter#define F_FL_GTS    V_FL_GTS(1U)
19918334Speter
20018334Speter#define S_FLD_GEN1    31
20118334Speter#define V_FLD_GEN1(x) ((x) << S_FLD_GEN1)
20218334Speter#define F_FLD_GEN1    V_FLD_GEN1(1U)
20318334Speter
20418334Speter#define S_FLD_GEN2    0
20518334Speter#define V_FLD_GEN2(x) ((x) << S_FLD_GEN2)
20618334Speter#define F_FLD_GEN2    V_FLD_GEN2(1U)
20718334Speter
20818334Speter#define S_RSPD_TXQ1_CR    0
20918334Speter#define M_RSPD_TXQ1_CR    0x7F
21018334Speter#define V_RSPD_TXQ1_CR(x) ((x) << S_RSPD_TXQ1_CR)
21118334Speter#define G_RSPD_TXQ1_CR(x) (((x) >> S_RSPD_TXQ1_CR) & M_RSPD_TXQ1_CR)
21218334Speter
21318334Speter#define S_RSPD_TXQ1_GTS    7
21418334Speter#define V_RSPD_TXQ1_GTS(x) ((x) << S_RSPD_TXQ1_GTS)
21518334Speter#define F_RSPD_TXQ1_GTS    V_RSPD_TXQ1_GTS(1U)
21618334Speter
21718334Speter#define S_RSPD_TXQ2_CR    8
21818334Speter#define M_RSPD_TXQ2_CR    0x7F
21918334Speter#define V_RSPD_TXQ2_CR(x) ((x) << S_RSPD_TXQ2_CR)
22018334Speter#define G_RSPD_TXQ2_CR(x) (((x) >> S_RSPD_TXQ2_CR) & M_RSPD_TXQ2_CR)
22118334Speter
22218334Speter#define S_RSPD_TXQ2_GTS    15
22318334Speter#define V_RSPD_TXQ2_GTS(x) ((x) << S_RSPD_TXQ2_GTS)
22418334Speter#define F_RSPD_TXQ2_GTS    V_RSPD_TXQ2_GTS(1U)
22518334Speter
22618334Speter#define S_RSPD_TXQ0_CR    16
22718334Speter#define M_RSPD_TXQ0_CR    0x7F
22818334Speter#define V_RSPD_TXQ0_CR(x) ((x) << S_RSPD_TXQ0_CR)
22918334Speter#define G_RSPD_TXQ0_CR(x) (((x) >> S_RSPD_TXQ0_CR) & M_RSPD_TXQ0_CR)
23018334Speter
23118334Speter#define S_RSPD_TXQ0_GTS    23
23218334Speter#define V_RSPD_TXQ0_GTS(x) ((x) << S_RSPD_TXQ0_GTS)
23318334Speter#define F_RSPD_TXQ0_GTS    V_RSPD_TXQ0_GTS(1U)
23418334Speter
23518334Speter#define S_RSPD_EOP    24
23618334Speter#define V_RSPD_EOP(x) ((x) << S_RSPD_EOP)
23718334Speter#define F_RSPD_EOP    V_RSPD_EOP(1U)
23818334Speter#define G_RSPD_EOP(x) ((x) & F_RSPD_EOP)
23918334Speter
24018334Speter#define S_RSPD_SOP    25
24118334Speter#define V_RSPD_SOP(x) ((x) << S_RSPD_SOP)
24218334Speter#define F_RSPD_SOP    V_RSPD_SOP(1U)
24318334Speter#define G_RSPD_SOP(x) ((x) & F_RSPD_SOP)
24418334Speter
24518334Speter#define G_RSPD_SOP_EOP(x) ((G_RSPD_SOP(x) | G_RSPD_EOP(x)) >> S_RSPD_EOP)
24618334Speter
24718334Speter#define S_RSPD_ASYNC_NOTIF    26
24818334Speter#define V_RSPD_ASYNC_NOTIF(x) ((x) << S_RSPD_ASYNC_NOTIF)
24918334Speter#define F_RSPD_ASYNC_NOTIF    V_RSPD_ASYNC_NOTIF(1U)
25018334Speter
25118334Speter#define S_RSPD_FL0_GTS    27
25218334Speter#define V_RSPD_FL0_GTS(x) ((x) << S_RSPD_FL0_GTS)
25318334Speter#define F_RSPD_FL0_GTS    V_RSPD_FL0_GTS(1U)
25418334Speter
25518334Speter#define S_RSPD_FL1_GTS    28
25618334Speter#define V_RSPD_FL1_GTS(x) ((x) << S_RSPD_FL1_GTS)
25718334Speter#define F_RSPD_FL1_GTS    V_RSPD_FL1_GTS(1U)
25818334Speter
25918334Speter#define S_RSPD_IMM_DATA_VALID    29
26018334Speter#define V_RSPD_IMM_DATA_VALID(x) ((x) << S_RSPD_IMM_DATA_VALID)
26118334Speter#define F_RSPD_IMM_DATA_VALID    V_RSPD_IMM_DATA_VALID(1U)
26218334Speter
26318334Speter#define S_RSPD_OFFLOAD    30
26418334Speter#define V_RSPD_OFFLOAD(x) ((x) << S_RSPD_OFFLOAD)
26518334Speter#define F_RSPD_OFFLOAD    V_RSPD_OFFLOAD(1U)
26618334Speter
26718334Speter#define S_RSPD_GEN1    31
26818334Speter#define V_RSPD_GEN1(x) ((x) << S_RSPD_GEN1)
26918334Speter#define F_RSPD_GEN1    V_RSPD_GEN1(1U)
27018334Speter
27118334Speter#define S_RSPD_LEN    0
27218334Speter#define M_RSPD_LEN    0x7FFFFFFF
27318334Speter#define V_RSPD_LEN(x) ((x) << S_RSPD_LEN)
27418334Speter#define G_RSPD_LEN(x) (((x) >> S_RSPD_LEN) & M_RSPD_LEN)
27518334Speter
27618334Speter#define S_RSPD_FLQ    31
27718334Speter#define V_RSPD_FLQ(x) ((x) << S_RSPD_FLQ)
27818334Speter#define F_RSPD_FLQ    V_RSPD_FLQ(1U)
27918334Speter
28018334Speter#define S_RSPD_GEN2    0
28118334Speter#define V_RSPD_GEN2(x) ((x) << S_RSPD_GEN2)
28218334Speter#define F_RSPD_GEN2    V_RSPD_GEN2(1U)
28318334Speter
28418334Speter#define S_RSPD_INR_VEC    1
28518334Speter#define M_RSPD_INR_VEC    0x7F
28618334Speter#define V_RSPD_INR_VEC(x) ((x) << S_RSPD_INR_VEC)
28718334Speter#define G_RSPD_INR_VEC(x) (((x) >> S_RSPD_INR_VEC) & M_RSPD_INR_VEC)
28818334Speter
28918334Speter#endif /* _SGE_DEFS_H */
29018334Speter