1*dd90451fSMustafa Ismail /* SPDX-License-Identifier: GPL-2.0 or Linux-OpenIB */ 2*dd90451fSMustafa Ismail /* Copyright (c) 2016 - 2021 Intel Corporation */ 3*dd90451fSMustafa Ismail #ifndef IRDMA_UDA_D_H 4*dd90451fSMustafa Ismail #define IRDMA_UDA_D_H 5*dd90451fSMustafa Ismail 6*dd90451fSMustafa Ismail /* L4 packet type */ 7*dd90451fSMustafa Ismail #define IRDMA_E_UDA_SQ_L4T_UNKNOWN 0 8*dd90451fSMustafa Ismail #define IRDMA_E_UDA_SQ_L4T_TCP 1 9*dd90451fSMustafa Ismail #define IRDMA_E_UDA_SQ_L4T_SCTP 2 10*dd90451fSMustafa Ismail #define IRDMA_E_UDA_SQ_L4T_UDP 3 11*dd90451fSMustafa Ismail 12*dd90451fSMustafa Ismail /* Inner IP header type */ 13*dd90451fSMustafa Ismail #define IRDMA_E_UDA_SQ_IIPT_UNKNOWN 0 14*dd90451fSMustafa Ismail #define IRDMA_E_UDA_SQ_IIPT_IPV6 1 15*dd90451fSMustafa Ismail #define IRDMA_E_UDA_SQ_IIPT_IPV4_NO_CSUM 2 16*dd90451fSMustafa Ismail #define IRDMA_E_UDA_SQ_IIPT_IPV4_CSUM 3 17*dd90451fSMustafa Ismail #define IRDMA_UDA_QPSQ_PUSHWQE BIT_ULL(56) 18*dd90451fSMustafa Ismail #define IRDMA_UDA_QPSQ_INLINEDATAFLAG BIT_ULL(57) 19*dd90451fSMustafa Ismail #define IRDMA_UDA_QPSQ_INLINEDATALEN GENMASK_ULL(55, 48) 20*dd90451fSMustafa Ismail #define IRDMA_UDA_QPSQ_ADDFRAGCNT GENMASK_ULL(41, 38) 21*dd90451fSMustafa Ismail #define IRDMA_UDA_QPSQ_IPFRAGFLAGS GENMASK_ULL(43, 42) 22*dd90451fSMustafa Ismail #define IRDMA_UDA_QPSQ_NOCHECKSUM BIT_ULL(45) 23*dd90451fSMustafa Ismail #define IRDMA_UDA_QPSQ_AHIDXVALID BIT_ULL(46) 24*dd90451fSMustafa Ismail #define IRDMA_UDA_QPSQ_LOCAL_FENCE BIT_ULL(61) 25*dd90451fSMustafa Ismail #define IRDMA_UDA_QPSQ_AHIDX GENMASK_ULL(16, 0) 26*dd90451fSMustafa Ismail #define IRDMA_UDA_QPSQ_PROTOCOL GENMASK_ULL(23, 16) 27*dd90451fSMustafa Ismail #define IRDMA_UDA_QPSQ_EXTHDRLEN GENMASK_ULL(40, 32) 28*dd90451fSMustafa Ismail #define IRDMA_UDA_QPSQ_MULTICAST BIT_ULL(63) 29*dd90451fSMustafa Ismail #define IRDMA_UDA_QPSQ_MACLEN GENMASK_ULL(62, 56) 30*dd90451fSMustafa Ismail #define IRDMA_UDA_QPSQ_MACLEN_LINE 2 31*dd90451fSMustafa Ismail #define IRDMA_UDA_QPSQ_IPLEN GENMASK_ULL(54, 48) 32*dd90451fSMustafa Ismail #define IRDMA_UDA_QPSQ_IPLEN_LINE 2 33*dd90451fSMustafa Ismail #define IRDMA_UDA_QPSQ_L4T GENMASK_ULL(31, 30) 34*dd90451fSMustafa Ismail #define IRDMA_UDA_QPSQ_L4T_LINE 2 35*dd90451fSMustafa Ismail #define IRDMA_UDA_QPSQ_IIPT GENMASK_ULL(29, 28) 36*dd90451fSMustafa Ismail #define IRDMA_UDA_QPSQ_IIPT_LINE 2 37*dd90451fSMustafa Ismail 38*dd90451fSMustafa Ismail #define IRDMA_UDA_QPSQ_DO_LPB_LINE 3 39*dd90451fSMustafa Ismail #define IRDMA_UDA_QPSQ_FWD_PROG_CONFIRM BIT_ULL(45) 40*dd90451fSMustafa Ismail #define IRDMA_UDA_QPSQ_FWD_PROG_CONFIRM_LINE 3 41*dd90451fSMustafa Ismail #define IRDMA_UDA_QPSQ_IMMDATA GENMASK_ULL(63, 0) 42*dd90451fSMustafa Ismail 43*dd90451fSMustafa Ismail /* Byte Offset 0 */ 44*dd90451fSMustafa Ismail #define IRDMA_UDAQPC_IPV4_M BIT_ULL(3) 45*dd90451fSMustafa Ismail #define IRDMA_UDAQPC_INSERTVLANTAG BIT_ULL(5) 46*dd90451fSMustafa Ismail #define IRDMA_UDAQPC_ISQP1 BIT_ULL(6) 47*dd90451fSMustafa Ismail 48*dd90451fSMustafa Ismail #define IRDMA_UDAQPC_ECNENABLE BIT_ULL(14) 49*dd90451fSMustafa Ismail #define IRDMA_UDAQPC_PDINDEXHI GENMASK_ULL(21, 20) 50*dd90451fSMustafa Ismail #define IRDMA_UDAQPC_DCTCPENABLE BIT_ULL(25) 51*dd90451fSMustafa Ismail 52*dd90451fSMustafa Ismail #define IRDMA_UDAQPC_RCVTPHEN IRDMAQPC_RCVTPHEN 53*dd90451fSMustafa Ismail #define IRDMA_UDAQPC_XMITTPHEN IRDMAQPC_XMITTPHEN 54*dd90451fSMustafa Ismail #define IRDMA_UDAQPC_RQTPHEN IRDMAQPC_RQTPHEN 55*dd90451fSMustafa Ismail #define IRDMA_UDAQPC_SQTPHEN IRDMAQPC_SQTPHEN 56*dd90451fSMustafa Ismail #define IRDMA_UDAQPC_PPIDX IRDMAQPC_PPIDX 57*dd90451fSMustafa Ismail #define IRDMA_UDAQPC_PMENA IRDMAQPC_PMENA 58*dd90451fSMustafa Ismail #define IRDMA_UDAQPC_INSERTTAG2 BIT_ULL(11) 59*dd90451fSMustafa Ismail #define IRDMA_UDAQPC_INSERTTAG3 BIT_ULL(14) 60*dd90451fSMustafa Ismail 61*dd90451fSMustafa Ismail #define IRDMA_UDAQPC_RQSIZE IRDMAQPC_RQSIZE 62*dd90451fSMustafa Ismail #define IRDMA_UDAQPC_SQSIZE IRDMAQPC_SQSIZE 63*dd90451fSMustafa Ismail #define IRDMA_UDAQPC_TXCQNUM IRDMAQPC_TXCQNUM 64*dd90451fSMustafa Ismail #define IRDMA_UDAQPC_RXCQNUM IRDMAQPC_RXCQNUM 65*dd90451fSMustafa Ismail #define IRDMA_UDAQPC_QPCOMPCTX IRDMAQPC_QPCOMPCTX 66*dd90451fSMustafa Ismail #define IRDMA_UDAQPC_SQTPHVAL IRDMAQPC_SQTPHVAL 67*dd90451fSMustafa Ismail #define IRDMA_UDAQPC_RQTPHVAL IRDMAQPC_RQTPHVAL 68*dd90451fSMustafa Ismail #define IRDMA_UDAQPC_QSHANDLE IRDMAQPC_QSHANDLE 69*dd90451fSMustafa Ismail #define IRDMA_UDAQPC_RQHDRRINGBUFSIZE GENMASK_ULL(49, 48) 70*dd90451fSMustafa Ismail #define IRDMA_UDAQPC_SQHDRRINGBUFSIZE GENMASK_ULL(33, 32) 71*dd90451fSMustafa Ismail #define IRDMA_UDAQPC_PRIVILEGEENABLE BIT_ULL(25) 72*dd90451fSMustafa Ismail #define IRDMA_UDAQPC_USE_STATISTICS_INSTANCE BIT_ULL(26) 73*dd90451fSMustafa Ismail #define IRDMA_UDAQPC_STATISTICS_INSTANCE_INDEX GENMASK_ULL(6, 0) 74*dd90451fSMustafa Ismail #define IRDMA_UDAQPC_PRIVHDRGENENABLE BIT_ULL(0) 75*dd90451fSMustafa Ismail #define IRDMA_UDAQPC_RQHDRSPLITENABLE BIT_ULL(3) 76*dd90451fSMustafa Ismail #define IRDMA_UDAQPC_RQHDRRINGBUFENABLE BIT_ULL(2) 77*dd90451fSMustafa Ismail #define IRDMA_UDAQPC_SQHDRRINGBUFENABLE BIT_ULL(1) 78*dd90451fSMustafa Ismail #define IRDMA_UDAQPC_IPID GENMASK_ULL(47, 32) 79*dd90451fSMustafa Ismail #define IRDMA_UDAQPC_SNDMSS GENMASK_ULL(29, 16) 80*dd90451fSMustafa Ismail #define IRDMA_UDAQPC_VLANTAG GENMASK_ULL(15, 0) 81*dd90451fSMustafa Ismail 82*dd90451fSMustafa Ismail #define IRDMA_UDA_CQPSQ_MAV_PDINDEXHI GENMASK_ULL(21, 20) 83*dd90451fSMustafa Ismail #define IRDMA_UDA_CQPSQ_MAV_PDINDEXLO GENMASK_ULL(63, 48) 84*dd90451fSMustafa Ismail #define IRDMA_UDA_CQPSQ_MAV_SRCMACADDRINDEX GENMASK_ULL(29, 24) 85*dd90451fSMustafa Ismail #define IRDMA_UDA_CQPSQ_MAV_ARPINDEX GENMASK_ULL(63, 48) 86*dd90451fSMustafa Ismail #define IRDMA_UDA_CQPSQ_MAV_TC GENMASK_ULL(39, 32) 87*dd90451fSMustafa Ismail #define IRDMA_UDA_CQPSQ_MAV_HOPLIMIT GENMASK_ULL(39, 32) 88*dd90451fSMustafa Ismail #define IRDMA_UDA_CQPSQ_MAV_FLOWLABEL GENMASK_ULL(19, 0) 89*dd90451fSMustafa Ismail #define IRDMA_UDA_CQPSQ_MAV_ADDR0 GENMASK_ULL(63, 32) 90*dd90451fSMustafa Ismail #define IRDMA_UDA_CQPSQ_MAV_ADDR1 GENMASK_ULL(31, 0) 91*dd90451fSMustafa Ismail #define IRDMA_UDA_CQPSQ_MAV_ADDR2 GENMASK_ULL(63, 32) 92*dd90451fSMustafa Ismail #define IRDMA_UDA_CQPSQ_MAV_ADDR3 GENMASK_ULL(31, 0) 93*dd90451fSMustafa Ismail #define IRDMA_UDA_CQPSQ_MAV_WQEVALID BIT_ULL(63) 94*dd90451fSMustafa Ismail #define IRDMA_UDA_CQPSQ_MAV_OPCODE GENMASK_ULL(37, 32) 95*dd90451fSMustafa Ismail #define IRDMA_UDA_CQPSQ_MAV_DOLOOPBACKK BIT_ULL(62) 96*dd90451fSMustafa Ismail #define IRDMA_UDA_CQPSQ_MAV_IPV4VALID BIT_ULL(59) 97*dd90451fSMustafa Ismail #define IRDMA_UDA_CQPSQ_MAV_AVIDX GENMASK_ULL(16, 0) 98*dd90451fSMustafa Ismail #define IRDMA_UDA_CQPSQ_MAV_INSERTVLANTAG BIT_ULL(60) 99*dd90451fSMustafa Ismail #define IRDMA_UDA_MGCTX_VFFLAG BIT_ULL(29) 100*dd90451fSMustafa Ismail #define IRDMA_UDA_MGCTX_DESTPORT GENMASK_ULL(47, 32) 101*dd90451fSMustafa Ismail #define IRDMA_UDA_MGCTX_VFID GENMASK_ULL(28, 22) 102*dd90451fSMustafa Ismail #define IRDMA_UDA_MGCTX_VALIDENT BIT_ULL(31) 103*dd90451fSMustafa Ismail #define IRDMA_UDA_MGCTX_PFID GENMASK_ULL(21, 18) 104*dd90451fSMustafa Ismail #define IRDMA_UDA_MGCTX_FLAGIGNOREDPORT BIT_ULL(30) 105*dd90451fSMustafa Ismail #define IRDMA_UDA_MGCTX_QPID GENMASK_ULL(17, 0) 106*dd90451fSMustafa Ismail #define IRDMA_UDA_CQPSQ_MG_WQEVALID BIT_ULL(63) 107*dd90451fSMustafa Ismail #define IRDMA_UDA_CQPSQ_MG_OPCODE GENMASK_ULL(37, 32) 108*dd90451fSMustafa Ismail #define IRDMA_UDA_CQPSQ_MG_MGIDX GENMASK_ULL(12, 0) 109*dd90451fSMustafa Ismail #define IRDMA_UDA_CQPSQ_MG_IPV4VALID BIT_ULL(60) 110*dd90451fSMustafa Ismail #define IRDMA_UDA_CQPSQ_MG_VLANVALID BIT_ULL(59) 111*dd90451fSMustafa Ismail #define IRDMA_UDA_CQPSQ_MG_HMC_FCN_ID GENMASK_ULL(5, 0) 112*dd90451fSMustafa Ismail #define IRDMA_UDA_CQPSQ_MG_VLANID GENMASK_ULL(43, 32) 113*dd90451fSMustafa Ismail #define IRDMA_UDA_CQPSQ_QS_HANDLE GENMASK_ULL(9, 0) 114*dd90451fSMustafa Ismail #define IRDMA_UDA_CQPSQ_QHASH_QPN GENMASK_ULL(49, 32) 115*dd90451fSMustafa Ismail #define IRDMA_UDA_CQPSQ_QHASH_ BIT_ULL(0) 116*dd90451fSMustafa Ismail #define IRDMA_UDA_CQPSQ_QHASH_SRC_PORT GENMASK_ULL(31, 16) 117*dd90451fSMustafa Ismail #define IRDMA_UDA_CQPSQ_QHASH_DEST_PORT GENMASK_ULL(15, 0) 118*dd90451fSMustafa Ismail #define IRDMA_UDA_CQPSQ_QHASH_ADDR0 GENMASK_ULL(63, 32) 119*dd90451fSMustafa Ismail #define IRDMA_UDA_CQPSQ_QHASH_ADDR1 GENMASK_ULL(31, 0) 120*dd90451fSMustafa Ismail #define IRDMA_UDA_CQPSQ_QHASH_ADDR2 GENMASK_ULL(63, 32) 121*dd90451fSMustafa Ismail #define IRDMA_UDA_CQPSQ_QHASH_ADDR3 GENMASK_ULL(31, 0) 122*dd90451fSMustafa Ismail #define IRDMA_UDA_CQPSQ_QHASH_WQEVALID BIT_ULL(63) 123*dd90451fSMustafa Ismail #define IRDMA_UDA_CQPSQ_QHASH_OPCODE GENMASK_ULL(37, 32) 124*dd90451fSMustafa Ismail #define IRDMA_UDA_CQPSQ_QHASH_MANAGE GENMASK_ULL(62, 61) 125*dd90451fSMustafa Ismail #define IRDMA_UDA_CQPSQ_QHASH_IPV4VALID GENMASK_ULL(60, 60) 126*dd90451fSMustafa Ismail #define IRDMA_UDA_CQPSQ_QHASH_LANFWD GENMASK_ULL(59, 59) 127*dd90451fSMustafa Ismail #define IRDMA_UDA_CQPSQ_QHASH_ENTRYTYPE GENMASK_ULL(44, 42) 128*dd90451fSMustafa Ismail #endif /* IRDMA_UDA_D_H */ 129