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