cxgb_sge_defs.h revision 170076
1/************************************************************************** 2 3Copyright (c) 2007, Chelsio Inc. 4All rights reserved. 5 6Redistribution and use in source and binary forms, with or without 7modification, are permitted provided that the following conditions are met: 8 9 1. Redistributions of source code must retain the above copyright notice, 10 this list of conditions and the following disclaimer. 11 12 2. Neither the name of the Chelsio Corporation nor the names of its 13 contributors may be used to endorse or promote products derived from 14 this software without specific prior written permission. 15 16THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 17AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 20LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 21CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 22SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 23INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 24CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 25ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 26POSSIBILITY OF SUCH DAMAGE. 27 28$FreeBSD: head/sys/dev/cxgb/common/cxgb_sge_defs.h 170076 2007-05-28 22:57:27Z kmacy $ 29 30***************************************************************************/ 31/* 32 * This file is automatically generated --- any changes will be lost. 33 */ 34 35#ifndef _SGE_DEFS_H 36#define _SGE_DEFS_H 37 38#define S_EC_CREDITS 0 39#define M_EC_CREDITS 0x7FFF 40#define V_EC_CREDITS(x) ((x) << S_EC_CREDITS) 41#define G_EC_CREDITS(x) (((x) >> S_EC_CREDITS) & M_EC_CREDITS) 42 43#define S_EC_GTS 15 44#define V_EC_GTS(x) ((x) << S_EC_GTS) 45#define F_EC_GTS V_EC_GTS(1U) 46 47#define S_EC_INDEX 16 48#define M_EC_INDEX 0xFFFF 49#define V_EC_INDEX(x) ((x) << S_EC_INDEX) 50#define G_EC_INDEX(x) (((x) >> S_EC_INDEX) & M_EC_INDEX) 51 52#define S_EC_SIZE 0 53#define M_EC_SIZE 0xFFFF 54#define V_EC_SIZE(x) ((x) << S_EC_SIZE) 55#define G_EC_SIZE(x) (((x) >> S_EC_SIZE) & M_EC_SIZE) 56 57#define S_EC_BASE_LO 16 58#define M_EC_BASE_LO 0xFFFF 59#define V_EC_BASE_LO(x) ((x) << S_EC_BASE_LO) 60#define G_EC_BASE_LO(x) (((x) >> S_EC_BASE_LO) & M_EC_BASE_LO) 61 62#define S_EC_BASE_HI 0 63#define M_EC_BASE_HI 0xF 64#define V_EC_BASE_HI(x) ((x) << S_EC_BASE_HI) 65#define G_EC_BASE_HI(x) (((x) >> S_EC_BASE_HI) & M_EC_BASE_HI) 66 67#define S_EC_RESPQ 4 68#define M_EC_RESPQ 0x7 69#define V_EC_RESPQ(x) ((x) << S_EC_RESPQ) 70#define G_EC_RESPQ(x) (((x) >> S_EC_RESPQ) & M_EC_RESPQ) 71 72#define S_EC_TYPE 7 73#define M_EC_TYPE 0x7 74#define V_EC_TYPE(x) ((x) << S_EC_TYPE) 75#define G_EC_TYPE(x) (((x) >> S_EC_TYPE) & M_EC_TYPE) 76 77#define S_EC_GEN 10 78#define V_EC_GEN(x) ((x) << S_EC_GEN) 79#define F_EC_GEN V_EC_GEN(1U) 80 81#define S_EC_UP_TOKEN 11 82#define M_EC_UP_TOKEN 0xFFFFF 83#define V_EC_UP_TOKEN(x) ((x) << S_EC_UP_TOKEN) 84#define G_EC_UP_TOKEN(x) (((x) >> S_EC_UP_TOKEN) & M_EC_UP_TOKEN) 85 86#define S_EC_VALID 31 87#define V_EC_VALID(x) ((x) << S_EC_VALID) 88#define F_EC_VALID V_EC_VALID(1U) 89 90#define S_RQ_MSI_VEC 20 91#define M_RQ_MSI_VEC 0x3F 92#define V_RQ_MSI_VEC(x) ((x) << S_RQ_MSI_VEC) 93#define G_RQ_MSI_VEC(x) (((x) >> S_RQ_MSI_VEC) & M_RQ_MSI_VEC) 94 95#define S_RQ_INTR_EN 26 96#define V_RQ_INTR_EN(x) ((x) << S_RQ_INTR_EN) 97#define F_RQ_INTR_EN V_RQ_INTR_EN(1U) 98 99#define S_RQ_GEN 28 100#define V_RQ_GEN(x) ((x) << S_RQ_GEN) 101#define F_RQ_GEN V_RQ_GEN(1U) 102 103#define S_CQ_INDEX 0 104#define M_CQ_INDEX 0xFFFF 105#define V_CQ_INDEX(x) ((x) << S_CQ_INDEX) 106#define G_CQ_INDEX(x) (((x) >> S_CQ_INDEX) & M_CQ_INDEX) 107 108#define S_CQ_SIZE 16 109#define M_CQ_SIZE 0xFFFF 110#define V_CQ_SIZE(x) ((x) << S_CQ_SIZE) 111#define G_CQ_SIZE(x) (((x) >> S_CQ_SIZE) & M_CQ_SIZE) 112 113#define S_CQ_BASE_HI 0 114#define M_CQ_BASE_HI 0xFFFFF 115#define V_CQ_BASE_HI(x) ((x) << S_CQ_BASE_HI) 116#define G_CQ_BASE_HI(x) (((x) >> S_CQ_BASE_HI) & M_CQ_BASE_HI) 117 118#define S_CQ_RSPQ 20 119#define M_CQ_RSPQ 0x3F 120#define V_CQ_RSPQ(x) ((x) << S_CQ_RSPQ) 121#define G_CQ_RSPQ(x) (((x) >> S_CQ_RSPQ) & M_CQ_RSPQ) 122 123#define S_CQ_ASYNC_NOTIF 26 124#define V_CQ_ASYNC_NOTIF(x) ((x) << S_CQ_ASYNC_NOTIF) 125#define F_CQ_ASYNC_NOTIF V_CQ_ASYNC_NOTIF(1U) 126 127#define S_CQ_ARMED 27 128#define V_CQ_ARMED(x) ((x) << S_CQ_ARMED) 129#define F_CQ_ARMED V_CQ_ARMED(1U) 130 131#define S_CQ_ASYNC_NOTIF_SOL 28 132#define V_CQ_ASYNC_NOTIF_SOL(x) ((x) << S_CQ_ASYNC_NOTIF_SOL) 133#define F_CQ_ASYNC_NOTIF_SOL V_CQ_ASYNC_NOTIF_SOL(1U) 134 135#define S_CQ_GEN 29 136#define V_CQ_GEN(x) ((x) << S_CQ_GEN) 137#define F_CQ_GEN V_CQ_GEN(1U) 138 139#define S_CQ_OVERFLOW_MODE 31 140#define V_CQ_OVERFLOW_MODE(x) ((x) << S_CQ_OVERFLOW_MODE) 141#define F_CQ_OVERFLOW_MODE V_CQ_OVERFLOW_MODE(1U) 142 143#define S_CQ_CREDITS 0 144#define M_CQ_CREDITS 0xFFFF 145#define V_CQ_CREDITS(x) ((x) << S_CQ_CREDITS) 146#define G_CQ_CREDITS(x) (((x) >> S_CQ_CREDITS) & M_CQ_CREDITS) 147 148#define S_CQ_CREDIT_THRES 16 149#define M_CQ_CREDIT_THRES 0x1FFF 150#define V_CQ_CREDIT_THRES(x) ((x) << S_CQ_CREDIT_THRES) 151#define G_CQ_CREDIT_THRES(x) (((x) >> S_CQ_CREDIT_THRES) & M_CQ_CREDIT_THRES) 152 153#define S_FL_BASE_HI 0 154#define M_FL_BASE_HI 0xFFFFF 155#define V_FL_BASE_HI(x) ((x) << S_FL_BASE_HI) 156#define G_FL_BASE_HI(x) (((x) >> S_FL_BASE_HI) & M_FL_BASE_HI) 157 158#define S_FL_INDEX_LO 20 159#define M_FL_INDEX_LO 0xFFF 160#define V_FL_INDEX_LO(x) ((x) << S_FL_INDEX_LO) 161#define G_FL_INDEX_LO(x) (((x) >> S_FL_INDEX_LO) & M_FL_INDEX_LO) 162 163#define S_FL_INDEX_HI 0 164#define M_FL_INDEX_HI 0xF 165#define V_FL_INDEX_HI(x) ((x) << S_FL_INDEX_HI) 166#define G_FL_INDEX_HI(x) (((x) >> S_FL_INDEX_HI) & M_FL_INDEX_HI) 167 168#define S_FL_SIZE 4 169#define M_FL_SIZE 0xFFFF 170#define V_FL_SIZE(x) ((x) << S_FL_SIZE) 171#define G_FL_SIZE(x) (((x) >> S_FL_SIZE) & M_FL_SIZE) 172 173#define S_FL_GEN 20 174#define V_FL_GEN(x) ((x) << S_FL_GEN) 175#define F_FL_GEN V_FL_GEN(1U) 176 177#define S_FL_ENTRY_SIZE_LO 21 178#define M_FL_ENTRY_SIZE_LO 0x7FF 179#define V_FL_ENTRY_SIZE_LO(x) ((x) << S_FL_ENTRY_SIZE_LO) 180#define G_FL_ENTRY_SIZE_LO(x) (((x) >> S_FL_ENTRY_SIZE_LO) & M_FL_ENTRY_SIZE_LO) 181 182#define S_FL_ENTRY_SIZE_HI 0 183#define M_FL_ENTRY_SIZE_HI 0x1FFFFF 184#define V_FL_ENTRY_SIZE_HI(x) ((x) << S_FL_ENTRY_SIZE_HI) 185#define G_FL_ENTRY_SIZE_HI(x) (((x) >> S_FL_ENTRY_SIZE_HI) & M_FL_ENTRY_SIZE_HI) 186 187#define S_FL_CONG_THRES 21 188#define M_FL_CONG_THRES 0x3FF 189#define V_FL_CONG_THRES(x) ((x) << S_FL_CONG_THRES) 190#define G_FL_CONG_THRES(x) (((x) >> S_FL_CONG_THRES) & M_FL_CONG_THRES) 191 192#define S_FL_GTS 31 193#define V_FL_GTS(x) ((x) << S_FL_GTS) 194#define F_FL_GTS V_FL_GTS(1U) 195 196#define S_FLD_GEN1 31 197#define V_FLD_GEN1(x) ((x) << S_FLD_GEN1) 198#define F_FLD_GEN1 V_FLD_GEN1(1U) 199 200#define S_FLD_GEN2 0 201#define V_FLD_GEN2(x) ((x) << S_FLD_GEN2) 202#define F_FLD_GEN2 V_FLD_GEN2(1U) 203 204#define S_RSPD_TXQ1_CR 0 205#define M_RSPD_TXQ1_CR 0x7F 206#define V_RSPD_TXQ1_CR(x) ((x) << S_RSPD_TXQ1_CR) 207#define G_RSPD_TXQ1_CR(x) (((x) >> S_RSPD_TXQ1_CR) & M_RSPD_TXQ1_CR) 208 209#define S_RSPD_TXQ1_GTS 7 210#define V_RSPD_TXQ1_GTS(x) ((x) << S_RSPD_TXQ1_GTS) 211#define F_RSPD_TXQ1_GTS V_RSPD_TXQ1_GTS(1U) 212 213#define S_RSPD_TXQ2_CR 8 214#define M_RSPD_TXQ2_CR 0x7F 215#define V_RSPD_TXQ2_CR(x) ((x) << S_RSPD_TXQ2_CR) 216#define G_RSPD_TXQ2_CR(x) (((x) >> S_RSPD_TXQ2_CR) & M_RSPD_TXQ2_CR) 217 218#define S_RSPD_TXQ2_GTS 15 219#define V_RSPD_TXQ2_GTS(x) ((x) << S_RSPD_TXQ2_GTS) 220#define F_RSPD_TXQ2_GTS V_RSPD_TXQ2_GTS(1U) 221 222#define S_RSPD_TXQ0_CR 16 223#define M_RSPD_TXQ0_CR 0x7F 224#define V_RSPD_TXQ0_CR(x) ((x) << S_RSPD_TXQ0_CR) 225#define G_RSPD_TXQ0_CR(x) (((x) >> S_RSPD_TXQ0_CR) & M_RSPD_TXQ0_CR) 226 227#define S_RSPD_TXQ0_GTS 23 228#define V_RSPD_TXQ0_GTS(x) ((x) << S_RSPD_TXQ0_GTS) 229#define F_RSPD_TXQ0_GTS V_RSPD_TXQ0_GTS(1U) 230 231#define S_RSPD_EOP 24 232#define V_RSPD_EOP(x) ((x) << S_RSPD_EOP) 233#define F_RSPD_EOP V_RSPD_EOP(1U) 234#define G_RSPD_EOP(x) ((x) & F_RSPD_EOP) 235 236#define S_RSPD_SOP 25 237#define V_RSPD_SOP(x) ((x) << S_RSPD_SOP) 238#define F_RSPD_SOP V_RSPD_SOP(1U) 239#define G_RSPD_SOP(x) ((x) & F_RSPD_SOP) 240 241#define G_RSPD_SOP_EOP(x) ((G_RSPD_SOP(x) | G_RSPD_EOP(x)) >> S_RSPD_EOP) 242 243#define S_RSPD_ASYNC_NOTIF 26 244#define V_RSPD_ASYNC_NOTIF(x) ((x) << S_RSPD_ASYNC_NOTIF) 245#define F_RSPD_ASYNC_NOTIF V_RSPD_ASYNC_NOTIF(1U) 246 247#define S_RSPD_FL0_GTS 27 248#define V_RSPD_FL0_GTS(x) ((x) << S_RSPD_FL0_GTS) 249#define F_RSPD_FL0_GTS V_RSPD_FL0_GTS(1U) 250 251#define S_RSPD_FL1_GTS 28 252#define V_RSPD_FL1_GTS(x) ((x) << S_RSPD_FL1_GTS) 253#define F_RSPD_FL1_GTS V_RSPD_FL1_GTS(1U) 254 255#define S_RSPD_IMM_DATA_VALID 29 256#define V_RSPD_IMM_DATA_VALID(x) ((x) << S_RSPD_IMM_DATA_VALID) 257#define F_RSPD_IMM_DATA_VALID V_RSPD_IMM_DATA_VALID(1U) 258 259#define S_RSPD_OFFLOAD 30 260#define V_RSPD_OFFLOAD(x) ((x) << S_RSPD_OFFLOAD) 261#define F_RSPD_OFFLOAD V_RSPD_OFFLOAD(1U) 262 263#define S_RSPD_GEN1 31 264#define V_RSPD_GEN1(x) ((x) << S_RSPD_GEN1) 265#define F_RSPD_GEN1 V_RSPD_GEN1(1U) 266 267#define S_RSPD_LEN 0 268#define M_RSPD_LEN 0x7FFFFFFF 269#define V_RSPD_LEN(x) ((x) << S_RSPD_LEN) 270#define G_RSPD_LEN(x) (((x) >> S_RSPD_LEN) & M_RSPD_LEN) 271 272#define S_RSPD_FLQ 31 273#define V_RSPD_FLQ(x) ((x) << S_RSPD_FLQ) 274#define F_RSPD_FLQ V_RSPD_FLQ(1U) 275 276#define S_RSPD_GEN2 0 277#define V_RSPD_GEN2(x) ((x) << S_RSPD_GEN2) 278#define F_RSPD_GEN2 V_RSPD_GEN2(1U) 279 280#define S_RSPD_INR_VEC 1 281#define M_RSPD_INR_VEC 0x7F 282#define V_RSPD_INR_VEC(x) ((x) << S_RSPD_INR_VEC) 283#define G_RSPD_INR_VEC(x) (((x) >> S_RSPD_INR_VEC) & M_RSPD_INR_VEC) 284 285#endif /* _SGE_DEFS_H */ 286