1*90df1d55SAlex Deucher /* 2*90df1d55SAlex Deucher * Copyright (C) 2016 Advanced Micro Devices, Inc. 3*90df1d55SAlex Deucher * 4*90df1d55SAlex Deucher * Permission is hereby granted, free of charge, to any person obtaining a 5*90df1d55SAlex Deucher * copy of this software and associated documentation files (the "Software"), 6*90df1d55SAlex Deucher * to deal in the Software without restriction, including without limitation 7*90df1d55SAlex Deucher * the rights to use, copy, modify, merge, publish, distribute, sublicense, 8*90df1d55SAlex Deucher * and/or sell copies of the Software, and to permit persons to whom the 9*90df1d55SAlex Deucher * Software is furnished to do so, subject to the following conditions: 10*90df1d55SAlex Deucher * 11*90df1d55SAlex Deucher * The above copyright notice and this permission notice shall be included 12*90df1d55SAlex Deucher * in all copies or substantial portions of the Software. 13*90df1d55SAlex Deucher * 14*90df1d55SAlex Deucher * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 15*90df1d55SAlex Deucher * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16*90df1d55SAlex Deucher * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 17*90df1d55SAlex Deucher * THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 18*90df1d55SAlex Deucher * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 19*90df1d55SAlex Deucher * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 20*90df1d55SAlex Deucher * 21*90df1d55SAlex Deucher */ 22*90df1d55SAlex Deucher 23*90df1d55SAlex Deucher #ifndef __VEGA10_SDMA_PKT_OPEN_H_ 24*90df1d55SAlex Deucher #define __VEGA10_SDMA_PKT_OPEN_H_ 25*90df1d55SAlex Deucher 26*90df1d55SAlex Deucher #define SDMA_OP_NOP 0 27*90df1d55SAlex Deucher #define SDMA_OP_COPY 1 28*90df1d55SAlex Deucher #define SDMA_OP_WRITE 2 29*90df1d55SAlex Deucher #define SDMA_OP_INDIRECT 4 30*90df1d55SAlex Deucher #define SDMA_OP_FENCE 5 31*90df1d55SAlex Deucher #define SDMA_OP_TRAP 6 32*90df1d55SAlex Deucher #define SDMA_OP_SEM 7 33*90df1d55SAlex Deucher #define SDMA_OP_POLL_REGMEM 8 34*90df1d55SAlex Deucher #define SDMA_OP_COND_EXE 9 35*90df1d55SAlex Deucher #define SDMA_OP_ATOMIC 10 36*90df1d55SAlex Deucher #define SDMA_OP_CONST_FILL 11 37*90df1d55SAlex Deucher #define SDMA_OP_PTEPDE 12 38*90df1d55SAlex Deucher #define SDMA_OP_TIMESTAMP 13 39*90df1d55SAlex Deucher #define SDMA_OP_SRBM_WRITE 14 40*90df1d55SAlex Deucher #define SDMA_OP_PRE_EXE 15 41*90df1d55SAlex Deucher #define SDMA_OP_DUMMY_TRAP 16 42*90df1d55SAlex Deucher #define SDMA_SUBOP_TIMESTAMP_SET 0 43*90df1d55SAlex Deucher #define SDMA_SUBOP_TIMESTAMP_GET 1 44*90df1d55SAlex Deucher #define SDMA_SUBOP_TIMESTAMP_GET_GLOBAL 2 45*90df1d55SAlex Deucher #define SDMA_SUBOP_COPY_LINEAR 0 46*90df1d55SAlex Deucher #define SDMA_SUBOP_COPY_LINEAR_SUB_WIND 4 47*90df1d55SAlex Deucher #define SDMA_SUBOP_COPY_TILED 1 48*90df1d55SAlex Deucher #define SDMA_SUBOP_COPY_TILED_SUB_WIND 5 49*90df1d55SAlex Deucher #define SDMA_SUBOP_COPY_T2T_SUB_WIND 6 50*90df1d55SAlex Deucher #define SDMA_SUBOP_COPY_SOA 3 51*90df1d55SAlex Deucher #define SDMA_SUBOP_COPY_DIRTY_PAGE 7 52*90df1d55SAlex Deucher #define SDMA_SUBOP_COPY_LINEAR_PHY 8 53*90df1d55SAlex Deucher #define SDMA_SUBOP_WRITE_LINEAR 0 54*90df1d55SAlex Deucher #define SDMA_SUBOP_WRITE_TILED 1 55*90df1d55SAlex Deucher #define SDMA_SUBOP_PTEPDE_GEN 0 56*90df1d55SAlex Deucher #define SDMA_SUBOP_PTEPDE_COPY 1 57*90df1d55SAlex Deucher #define SDMA_SUBOP_PTEPDE_RMW 2 58*90df1d55SAlex Deucher #define SDMA_SUBOP_PTEPDE_COPY_BACKWARDS 3 59*90df1d55SAlex Deucher #define SDMA_SUBOP_DATA_FILL_MULTI 1 60*90df1d55SAlex Deucher #define SDMA_SUBOP_POLL_REG_WRITE_MEM 1 61*90df1d55SAlex Deucher #define SDMA_SUBOP_POLL_DBIT_WRITE_MEM 2 62*90df1d55SAlex Deucher #define SDMA_SUBOP_POLL_MEM_VERIFY 3 63*90df1d55SAlex Deucher #define HEADER_AGENT_DISPATCH 4 64*90df1d55SAlex Deucher #define HEADER_BARRIER 5 65*90df1d55SAlex Deucher #define SDMA_OP_AQL_COPY 0 66*90df1d55SAlex Deucher #define SDMA_OP_AQL_BARRIER_OR 0 67*90df1d55SAlex Deucher 68*90df1d55SAlex Deucher /*define for op field*/ 69*90df1d55SAlex Deucher #define SDMA_PKT_HEADER_op_offset 0 70*90df1d55SAlex Deucher #define SDMA_PKT_HEADER_op_mask 0x000000FF 71*90df1d55SAlex Deucher #define SDMA_PKT_HEADER_op_shift 0 72*90df1d55SAlex Deucher #define SDMA_PKT_HEADER_OP(x) (((x) & SDMA_PKT_HEADER_op_mask) << SDMA_PKT_HEADER_op_shift) 73*90df1d55SAlex Deucher 74*90df1d55SAlex Deucher /*define for sub_op field*/ 75*90df1d55SAlex Deucher #define SDMA_PKT_HEADER_sub_op_offset 0 76*90df1d55SAlex Deucher #define SDMA_PKT_HEADER_sub_op_mask 0x000000FF 77*90df1d55SAlex Deucher #define SDMA_PKT_HEADER_sub_op_shift 8 78*90df1d55SAlex Deucher #define SDMA_PKT_HEADER_SUB_OP(x) (((x) & SDMA_PKT_HEADER_sub_op_mask) << SDMA_PKT_HEADER_sub_op_shift) 79*90df1d55SAlex Deucher 80*90df1d55SAlex Deucher 81*90df1d55SAlex Deucher /* 82*90df1d55SAlex Deucher ** Definitions for SDMA_PKT_COPY_LINEAR packet 83*90df1d55SAlex Deucher */ 84*90df1d55SAlex Deucher 85*90df1d55SAlex Deucher /*define for HEADER word*/ 86*90df1d55SAlex Deucher /*define for op field*/ 87*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_HEADER_op_offset 0 88*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_HEADER_op_mask 0x000000FF 89*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_HEADER_op_shift 0 90*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_HEADER_OP(x) (((x) & SDMA_PKT_COPY_LINEAR_HEADER_op_mask) << SDMA_PKT_COPY_LINEAR_HEADER_op_shift) 91*90df1d55SAlex Deucher 92*90df1d55SAlex Deucher /*define for sub_op field*/ 93*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_HEADER_sub_op_offset 0 94*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_HEADER_sub_op_mask 0x000000FF 95*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_HEADER_sub_op_shift 8 96*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_HEADER_SUB_OP(x) (((x) & SDMA_PKT_COPY_LINEAR_HEADER_sub_op_mask) << SDMA_PKT_COPY_LINEAR_HEADER_sub_op_shift) 97*90df1d55SAlex Deucher 98*90df1d55SAlex Deucher /*define for encrypt field*/ 99*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_HEADER_encrypt_offset 0 100*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_HEADER_encrypt_mask 0x00000001 101*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_HEADER_encrypt_shift 16 102*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_HEADER_ENCRYPT(x) (((x) & SDMA_PKT_COPY_LINEAR_HEADER_encrypt_mask) << SDMA_PKT_COPY_LINEAR_HEADER_encrypt_shift) 103*90df1d55SAlex Deucher 104*90df1d55SAlex Deucher /*define for tmz field*/ 105*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_HEADER_tmz_offset 0 106*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_HEADER_tmz_mask 0x00000001 107*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_HEADER_tmz_shift 18 108*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_HEADER_TMZ(x) (((x) & SDMA_PKT_COPY_LINEAR_HEADER_tmz_mask) << SDMA_PKT_COPY_LINEAR_HEADER_tmz_shift) 109*90df1d55SAlex Deucher 110*90df1d55SAlex Deucher /*define for broadcast field*/ 111*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_HEADER_broadcast_offset 0 112*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_HEADER_broadcast_mask 0x00000001 113*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_HEADER_broadcast_shift 27 114*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_HEADER_BROADCAST(x) (((x) & SDMA_PKT_COPY_LINEAR_HEADER_broadcast_mask) << SDMA_PKT_COPY_LINEAR_HEADER_broadcast_shift) 115*90df1d55SAlex Deucher 116*90df1d55SAlex Deucher /*define for COUNT word*/ 117*90df1d55SAlex Deucher /*define for count field*/ 118*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_COUNT_count_offset 1 119*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_COUNT_count_mask 0x003FFFFF 120*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_COUNT_count_shift 0 121*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_COUNT_COUNT(x) (((x) & SDMA_PKT_COPY_LINEAR_COUNT_count_mask) << SDMA_PKT_COPY_LINEAR_COUNT_count_shift) 122*90df1d55SAlex Deucher 123*90df1d55SAlex Deucher /*define for PARAMETER word*/ 124*90df1d55SAlex Deucher /*define for dst_sw field*/ 125*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_PARAMETER_dst_sw_offset 2 126*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_PARAMETER_dst_sw_mask 0x00000003 127*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_PARAMETER_dst_sw_shift 16 128*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_PARAMETER_DST_SW(x) (((x) & SDMA_PKT_COPY_LINEAR_PARAMETER_dst_sw_mask) << SDMA_PKT_COPY_LINEAR_PARAMETER_dst_sw_shift) 129*90df1d55SAlex Deucher 130*90df1d55SAlex Deucher /*define for src_sw field*/ 131*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_PARAMETER_src_sw_offset 2 132*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_PARAMETER_src_sw_mask 0x00000003 133*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_PARAMETER_src_sw_shift 24 134*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_PARAMETER_SRC_SW(x) (((x) & SDMA_PKT_COPY_LINEAR_PARAMETER_src_sw_mask) << SDMA_PKT_COPY_LINEAR_PARAMETER_src_sw_shift) 135*90df1d55SAlex Deucher 136*90df1d55SAlex Deucher /*define for SRC_ADDR_LO word*/ 137*90df1d55SAlex Deucher /*define for src_addr_31_0 field*/ 138*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SRC_ADDR_LO_src_addr_31_0_offset 3 139*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SRC_ADDR_LO_src_addr_31_0_mask 0xFFFFFFFF 140*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SRC_ADDR_LO_src_addr_31_0_shift 0 141*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SRC_ADDR_LO_SRC_ADDR_31_0(x) (((x) & SDMA_PKT_COPY_LINEAR_SRC_ADDR_LO_src_addr_31_0_mask) << SDMA_PKT_COPY_LINEAR_SRC_ADDR_LO_src_addr_31_0_shift) 142*90df1d55SAlex Deucher 143*90df1d55SAlex Deucher /*define for SRC_ADDR_HI word*/ 144*90df1d55SAlex Deucher /*define for src_addr_63_32 field*/ 145*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SRC_ADDR_HI_src_addr_63_32_offset 4 146*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SRC_ADDR_HI_src_addr_63_32_mask 0xFFFFFFFF 147*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SRC_ADDR_HI_src_addr_63_32_shift 0 148*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SRC_ADDR_HI_SRC_ADDR_63_32(x) (((x) & SDMA_PKT_COPY_LINEAR_SRC_ADDR_HI_src_addr_63_32_mask) << SDMA_PKT_COPY_LINEAR_SRC_ADDR_HI_src_addr_63_32_shift) 149*90df1d55SAlex Deucher 150*90df1d55SAlex Deucher /*define for DST_ADDR_LO word*/ 151*90df1d55SAlex Deucher /*define for dst_addr_31_0 field*/ 152*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_DST_ADDR_LO_dst_addr_31_0_offset 5 153*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_DST_ADDR_LO_dst_addr_31_0_mask 0xFFFFFFFF 154*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_DST_ADDR_LO_dst_addr_31_0_shift 0 155*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_DST_ADDR_LO_DST_ADDR_31_0(x) (((x) & SDMA_PKT_COPY_LINEAR_DST_ADDR_LO_dst_addr_31_0_mask) << SDMA_PKT_COPY_LINEAR_DST_ADDR_LO_dst_addr_31_0_shift) 156*90df1d55SAlex Deucher 157*90df1d55SAlex Deucher /*define for DST_ADDR_HI word*/ 158*90df1d55SAlex Deucher /*define for dst_addr_63_32 field*/ 159*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_DST_ADDR_HI_dst_addr_63_32_offset 6 160*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_DST_ADDR_HI_dst_addr_63_32_mask 0xFFFFFFFF 161*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_DST_ADDR_HI_dst_addr_63_32_shift 0 162*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_DST_ADDR_HI_DST_ADDR_63_32(x) (((x) & SDMA_PKT_COPY_LINEAR_DST_ADDR_HI_dst_addr_63_32_mask) << SDMA_PKT_COPY_LINEAR_DST_ADDR_HI_dst_addr_63_32_shift) 163*90df1d55SAlex Deucher 164*90df1d55SAlex Deucher 165*90df1d55SAlex Deucher /* 166*90df1d55SAlex Deucher ** Definitions for SDMA_PKT_COPY_DIRTY_PAGE packet 167*90df1d55SAlex Deucher */ 168*90df1d55SAlex Deucher 169*90df1d55SAlex Deucher /*define for HEADER word*/ 170*90df1d55SAlex Deucher /*define for op field*/ 171*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_HEADER_op_offset 0 172*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_HEADER_op_mask 0x000000FF 173*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_HEADER_op_shift 0 174*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_HEADER_OP(x) (((x) & SDMA_PKT_COPY_DIRTY_PAGE_HEADER_op_mask) << SDMA_PKT_COPY_DIRTY_PAGE_HEADER_op_shift) 175*90df1d55SAlex Deucher 176*90df1d55SAlex Deucher /*define for sub_op field*/ 177*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_HEADER_sub_op_offset 0 178*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_HEADER_sub_op_mask 0x000000FF 179*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_HEADER_sub_op_shift 8 180*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_HEADER_SUB_OP(x) (((x) & SDMA_PKT_COPY_DIRTY_PAGE_HEADER_sub_op_mask) << SDMA_PKT_COPY_DIRTY_PAGE_HEADER_sub_op_shift) 181*90df1d55SAlex Deucher 182*90df1d55SAlex Deucher /*define for tmz field*/ 183*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_HEADER_tmz_offset 0 184*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_HEADER_tmz_mask 0x00000001 185*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_HEADER_tmz_shift 18 186*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_HEADER_TMZ(x) (((x) & SDMA_PKT_COPY_DIRTY_PAGE_HEADER_tmz_mask) << SDMA_PKT_COPY_DIRTY_PAGE_HEADER_tmz_shift) 187*90df1d55SAlex Deucher 188*90df1d55SAlex Deucher /*define for all field*/ 189*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_HEADER_all_offset 0 190*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_HEADER_all_mask 0x00000001 191*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_HEADER_all_shift 31 192*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_HEADER_ALL(x) (((x) & SDMA_PKT_COPY_DIRTY_PAGE_HEADER_all_mask) << SDMA_PKT_COPY_DIRTY_PAGE_HEADER_all_shift) 193*90df1d55SAlex Deucher 194*90df1d55SAlex Deucher /*define for COUNT word*/ 195*90df1d55SAlex Deucher /*define for count field*/ 196*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_COUNT_count_offset 1 197*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_COUNT_count_mask 0x003FFFFF 198*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_COUNT_count_shift 0 199*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_COUNT_COUNT(x) (((x) & SDMA_PKT_COPY_DIRTY_PAGE_COUNT_count_mask) << SDMA_PKT_COPY_DIRTY_PAGE_COUNT_count_shift) 200*90df1d55SAlex Deucher 201*90df1d55SAlex Deucher /*define for PARAMETER word*/ 202*90df1d55SAlex Deucher /*define for dst_sw field*/ 203*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_dst_sw_offset 2 204*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_dst_sw_mask 0x00000003 205*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_dst_sw_shift 16 206*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_DST_SW(x) (((x) & SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_dst_sw_mask) << SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_dst_sw_shift) 207*90df1d55SAlex Deucher 208*90df1d55SAlex Deucher /*define for dst_gcc field*/ 209*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_dst_gcc_offset 2 210*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_dst_gcc_mask 0x00000001 211*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_dst_gcc_shift 19 212*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_DST_GCC(x) (((x) & SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_dst_gcc_mask) << SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_dst_gcc_shift) 213*90df1d55SAlex Deucher 214*90df1d55SAlex Deucher /*define for dst_sys field*/ 215*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_dst_sys_offset 2 216*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_dst_sys_mask 0x00000001 217*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_dst_sys_shift 20 218*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_DST_SYS(x) (((x) & SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_dst_sys_mask) << SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_dst_sys_shift) 219*90df1d55SAlex Deucher 220*90df1d55SAlex Deucher /*define for dst_snoop field*/ 221*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_dst_snoop_offset 2 222*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_dst_snoop_mask 0x00000001 223*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_dst_snoop_shift 22 224*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_DST_SNOOP(x) (((x) & SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_dst_snoop_mask) << SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_dst_snoop_shift) 225*90df1d55SAlex Deucher 226*90df1d55SAlex Deucher /*define for dst_gpa field*/ 227*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_dst_gpa_offset 2 228*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_dst_gpa_mask 0x00000001 229*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_dst_gpa_shift 23 230*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_DST_GPA(x) (((x) & SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_dst_gpa_mask) << SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_dst_gpa_shift) 231*90df1d55SAlex Deucher 232*90df1d55SAlex Deucher /*define for src_sw field*/ 233*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_src_sw_offset 2 234*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_src_sw_mask 0x00000003 235*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_src_sw_shift 24 236*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_SRC_SW(x) (((x) & SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_src_sw_mask) << SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_src_sw_shift) 237*90df1d55SAlex Deucher 238*90df1d55SAlex Deucher /*define for src_sys field*/ 239*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_src_sys_offset 2 240*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_src_sys_mask 0x00000001 241*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_src_sys_shift 28 242*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_SRC_SYS(x) (((x) & SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_src_sys_mask) << SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_src_sys_shift) 243*90df1d55SAlex Deucher 244*90df1d55SAlex Deucher /*define for src_snoop field*/ 245*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_src_snoop_offset 2 246*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_src_snoop_mask 0x00000001 247*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_src_snoop_shift 30 248*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_SRC_SNOOP(x) (((x) & SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_src_snoop_mask) << SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_src_snoop_shift) 249*90df1d55SAlex Deucher 250*90df1d55SAlex Deucher /*define for src_gpa field*/ 251*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_src_gpa_offset 2 252*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_src_gpa_mask 0x00000001 253*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_src_gpa_shift 31 254*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_SRC_GPA(x) (((x) & SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_src_gpa_mask) << SDMA_PKT_COPY_DIRTY_PAGE_PARAMETER_src_gpa_shift) 255*90df1d55SAlex Deucher 256*90df1d55SAlex Deucher /*define for SRC_ADDR_LO word*/ 257*90df1d55SAlex Deucher /*define for src_addr_31_0 field*/ 258*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_SRC_ADDR_LO_src_addr_31_0_offset 3 259*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_SRC_ADDR_LO_src_addr_31_0_mask 0xFFFFFFFF 260*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_SRC_ADDR_LO_src_addr_31_0_shift 0 261*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_SRC_ADDR_LO_SRC_ADDR_31_0(x) (((x) & SDMA_PKT_COPY_DIRTY_PAGE_SRC_ADDR_LO_src_addr_31_0_mask) << SDMA_PKT_COPY_DIRTY_PAGE_SRC_ADDR_LO_src_addr_31_0_shift) 262*90df1d55SAlex Deucher 263*90df1d55SAlex Deucher /*define for SRC_ADDR_HI word*/ 264*90df1d55SAlex Deucher /*define for src_addr_63_32 field*/ 265*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_SRC_ADDR_HI_src_addr_63_32_offset 4 266*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_SRC_ADDR_HI_src_addr_63_32_mask 0xFFFFFFFF 267*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_SRC_ADDR_HI_src_addr_63_32_shift 0 268*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_SRC_ADDR_HI_SRC_ADDR_63_32(x) (((x) & SDMA_PKT_COPY_DIRTY_PAGE_SRC_ADDR_HI_src_addr_63_32_mask) << SDMA_PKT_COPY_DIRTY_PAGE_SRC_ADDR_HI_src_addr_63_32_shift) 269*90df1d55SAlex Deucher 270*90df1d55SAlex Deucher /*define for DST_ADDR_LO word*/ 271*90df1d55SAlex Deucher /*define for dst_addr_31_0 field*/ 272*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_DST_ADDR_LO_dst_addr_31_0_offset 5 273*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_DST_ADDR_LO_dst_addr_31_0_mask 0xFFFFFFFF 274*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_DST_ADDR_LO_dst_addr_31_0_shift 0 275*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_DST_ADDR_LO_DST_ADDR_31_0(x) (((x) & SDMA_PKT_COPY_DIRTY_PAGE_DST_ADDR_LO_dst_addr_31_0_mask) << SDMA_PKT_COPY_DIRTY_PAGE_DST_ADDR_LO_dst_addr_31_0_shift) 276*90df1d55SAlex Deucher 277*90df1d55SAlex Deucher /*define for DST_ADDR_HI word*/ 278*90df1d55SAlex Deucher /*define for dst_addr_63_32 field*/ 279*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_DST_ADDR_HI_dst_addr_63_32_offset 6 280*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_DST_ADDR_HI_dst_addr_63_32_mask 0xFFFFFFFF 281*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_DST_ADDR_HI_dst_addr_63_32_shift 0 282*90df1d55SAlex Deucher #define SDMA_PKT_COPY_DIRTY_PAGE_DST_ADDR_HI_DST_ADDR_63_32(x) (((x) & SDMA_PKT_COPY_DIRTY_PAGE_DST_ADDR_HI_dst_addr_63_32_mask) << SDMA_PKT_COPY_DIRTY_PAGE_DST_ADDR_HI_dst_addr_63_32_shift) 283*90df1d55SAlex Deucher 284*90df1d55SAlex Deucher 285*90df1d55SAlex Deucher /* 286*90df1d55SAlex Deucher ** Definitions for SDMA_PKT_COPY_PHYSICAL_LINEAR packet 287*90df1d55SAlex Deucher */ 288*90df1d55SAlex Deucher 289*90df1d55SAlex Deucher /*define for HEADER word*/ 290*90df1d55SAlex Deucher /*define for op field*/ 291*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_HEADER_op_offset 0 292*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_HEADER_op_mask 0x000000FF 293*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_HEADER_op_shift 0 294*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_HEADER_OP(x) (((x) & SDMA_PKT_COPY_PHYSICAL_LINEAR_HEADER_op_mask) << SDMA_PKT_COPY_PHYSICAL_LINEAR_HEADER_op_shift) 295*90df1d55SAlex Deucher 296*90df1d55SAlex Deucher /*define for sub_op field*/ 297*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_HEADER_sub_op_offset 0 298*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_HEADER_sub_op_mask 0x000000FF 299*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_HEADER_sub_op_shift 8 300*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_HEADER_SUB_OP(x) (((x) & SDMA_PKT_COPY_PHYSICAL_LINEAR_HEADER_sub_op_mask) << SDMA_PKT_COPY_PHYSICAL_LINEAR_HEADER_sub_op_shift) 301*90df1d55SAlex Deucher 302*90df1d55SAlex Deucher /*define for tmz field*/ 303*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_HEADER_tmz_offset 0 304*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_HEADER_tmz_mask 0x00000001 305*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_HEADER_tmz_shift 18 306*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_HEADER_TMZ(x) (((x) & SDMA_PKT_COPY_PHYSICAL_LINEAR_HEADER_tmz_mask) << SDMA_PKT_COPY_PHYSICAL_LINEAR_HEADER_tmz_shift) 307*90df1d55SAlex Deucher 308*90df1d55SAlex Deucher /*define for COUNT word*/ 309*90df1d55SAlex Deucher /*define for count field*/ 310*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_COUNT_count_offset 1 311*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_COUNT_count_mask 0x003FFFFF 312*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_COUNT_count_shift 0 313*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_COUNT_COUNT(x) (((x) & SDMA_PKT_COPY_PHYSICAL_LINEAR_COUNT_count_mask) << SDMA_PKT_COPY_PHYSICAL_LINEAR_COUNT_count_shift) 314*90df1d55SAlex Deucher 315*90df1d55SAlex Deucher /*define for PARAMETER word*/ 316*90df1d55SAlex Deucher /*define for dst_sw field*/ 317*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_dst_sw_offset 2 318*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_dst_sw_mask 0x00000003 319*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_dst_sw_shift 16 320*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_DST_SW(x) (((x) & SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_dst_sw_mask) << SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_dst_sw_shift) 321*90df1d55SAlex Deucher 322*90df1d55SAlex Deucher /*define for dst_gcc field*/ 323*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_dst_gcc_offset 2 324*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_dst_gcc_mask 0x00000001 325*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_dst_gcc_shift 19 326*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_DST_GCC(x) (((x) & SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_dst_gcc_mask) << SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_dst_gcc_shift) 327*90df1d55SAlex Deucher 328*90df1d55SAlex Deucher /*define for dst_sys field*/ 329*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_dst_sys_offset 2 330*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_dst_sys_mask 0x00000001 331*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_dst_sys_shift 20 332*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_DST_SYS(x) (((x) & SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_dst_sys_mask) << SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_dst_sys_shift) 333*90df1d55SAlex Deucher 334*90df1d55SAlex Deucher /*define for dst_log field*/ 335*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_dst_log_offset 2 336*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_dst_log_mask 0x00000001 337*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_dst_log_shift 21 338*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_DST_LOG(x) (((x) & SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_dst_log_mask) << SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_dst_log_shift) 339*90df1d55SAlex Deucher 340*90df1d55SAlex Deucher /*define for dst_snoop field*/ 341*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_dst_snoop_offset 2 342*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_dst_snoop_mask 0x00000001 343*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_dst_snoop_shift 22 344*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_DST_SNOOP(x) (((x) & SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_dst_snoop_mask) << SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_dst_snoop_shift) 345*90df1d55SAlex Deucher 346*90df1d55SAlex Deucher /*define for dst_gpa field*/ 347*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_dst_gpa_offset 2 348*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_dst_gpa_mask 0x00000001 349*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_dst_gpa_shift 23 350*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_DST_GPA(x) (((x) & SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_dst_gpa_mask) << SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_dst_gpa_shift) 351*90df1d55SAlex Deucher 352*90df1d55SAlex Deucher /*define for src_sw field*/ 353*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_src_sw_offset 2 354*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_src_sw_mask 0x00000003 355*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_src_sw_shift 24 356*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_SRC_SW(x) (((x) & SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_src_sw_mask) << SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_src_sw_shift) 357*90df1d55SAlex Deucher 358*90df1d55SAlex Deucher /*define for src_gcc field*/ 359*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_src_gcc_offset 2 360*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_src_gcc_mask 0x00000001 361*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_src_gcc_shift 27 362*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_SRC_GCC(x) (((x) & SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_src_gcc_mask) << SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_src_gcc_shift) 363*90df1d55SAlex Deucher 364*90df1d55SAlex Deucher /*define for src_sys field*/ 365*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_src_sys_offset 2 366*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_src_sys_mask 0x00000001 367*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_src_sys_shift 28 368*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_SRC_SYS(x) (((x) & SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_src_sys_mask) << SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_src_sys_shift) 369*90df1d55SAlex Deucher 370*90df1d55SAlex Deucher /*define for src_snoop field*/ 371*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_src_snoop_offset 2 372*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_src_snoop_mask 0x00000001 373*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_src_snoop_shift 30 374*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_SRC_SNOOP(x) (((x) & SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_src_snoop_mask) << SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_src_snoop_shift) 375*90df1d55SAlex Deucher 376*90df1d55SAlex Deucher /*define for src_gpa field*/ 377*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_src_gpa_offset 2 378*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_src_gpa_mask 0x00000001 379*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_src_gpa_shift 31 380*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_SRC_GPA(x) (((x) & SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_src_gpa_mask) << SDMA_PKT_COPY_PHYSICAL_LINEAR_PARAMETER_src_gpa_shift) 381*90df1d55SAlex Deucher 382*90df1d55SAlex Deucher /*define for SRC_ADDR_LO word*/ 383*90df1d55SAlex Deucher /*define for src_addr_31_0 field*/ 384*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_SRC_ADDR_LO_src_addr_31_0_offset 3 385*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_SRC_ADDR_LO_src_addr_31_0_mask 0xFFFFFFFF 386*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_SRC_ADDR_LO_src_addr_31_0_shift 0 387*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_SRC_ADDR_LO_SRC_ADDR_31_0(x) (((x) & SDMA_PKT_COPY_PHYSICAL_LINEAR_SRC_ADDR_LO_src_addr_31_0_mask) << SDMA_PKT_COPY_PHYSICAL_LINEAR_SRC_ADDR_LO_src_addr_31_0_shift) 388*90df1d55SAlex Deucher 389*90df1d55SAlex Deucher /*define for SRC_ADDR_HI word*/ 390*90df1d55SAlex Deucher /*define for src_addr_63_32 field*/ 391*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_SRC_ADDR_HI_src_addr_63_32_offset 4 392*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_SRC_ADDR_HI_src_addr_63_32_mask 0xFFFFFFFF 393*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_SRC_ADDR_HI_src_addr_63_32_shift 0 394*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_SRC_ADDR_HI_SRC_ADDR_63_32(x) (((x) & SDMA_PKT_COPY_PHYSICAL_LINEAR_SRC_ADDR_HI_src_addr_63_32_mask) << SDMA_PKT_COPY_PHYSICAL_LINEAR_SRC_ADDR_HI_src_addr_63_32_shift) 395*90df1d55SAlex Deucher 396*90df1d55SAlex Deucher /*define for DST_ADDR_LO word*/ 397*90df1d55SAlex Deucher /*define for dst_addr_31_0 field*/ 398*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_DST_ADDR_LO_dst_addr_31_0_offset 5 399*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_DST_ADDR_LO_dst_addr_31_0_mask 0xFFFFFFFF 400*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_DST_ADDR_LO_dst_addr_31_0_shift 0 401*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_DST_ADDR_LO_DST_ADDR_31_0(x) (((x) & SDMA_PKT_COPY_PHYSICAL_LINEAR_DST_ADDR_LO_dst_addr_31_0_mask) << SDMA_PKT_COPY_PHYSICAL_LINEAR_DST_ADDR_LO_dst_addr_31_0_shift) 402*90df1d55SAlex Deucher 403*90df1d55SAlex Deucher /*define for DST_ADDR_HI word*/ 404*90df1d55SAlex Deucher /*define for dst_addr_63_32 field*/ 405*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_DST_ADDR_HI_dst_addr_63_32_offset 6 406*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_DST_ADDR_HI_dst_addr_63_32_mask 0xFFFFFFFF 407*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_DST_ADDR_HI_dst_addr_63_32_shift 0 408*90df1d55SAlex Deucher #define SDMA_PKT_COPY_PHYSICAL_LINEAR_DST_ADDR_HI_DST_ADDR_63_32(x) (((x) & SDMA_PKT_COPY_PHYSICAL_LINEAR_DST_ADDR_HI_dst_addr_63_32_mask) << SDMA_PKT_COPY_PHYSICAL_LINEAR_DST_ADDR_HI_dst_addr_63_32_shift) 409*90df1d55SAlex Deucher 410*90df1d55SAlex Deucher 411*90df1d55SAlex Deucher /* 412*90df1d55SAlex Deucher ** Definitions for SDMA_PKT_COPY_BROADCAST_LINEAR packet 413*90df1d55SAlex Deucher */ 414*90df1d55SAlex Deucher 415*90df1d55SAlex Deucher /*define for HEADER word*/ 416*90df1d55SAlex Deucher /*define for op field*/ 417*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_HEADER_op_offset 0 418*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_HEADER_op_mask 0x000000FF 419*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_HEADER_op_shift 0 420*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_HEADER_OP(x) (((x) & SDMA_PKT_COPY_BROADCAST_LINEAR_HEADER_op_mask) << SDMA_PKT_COPY_BROADCAST_LINEAR_HEADER_op_shift) 421*90df1d55SAlex Deucher 422*90df1d55SAlex Deucher /*define for sub_op field*/ 423*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_HEADER_sub_op_offset 0 424*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_HEADER_sub_op_mask 0x000000FF 425*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_HEADER_sub_op_shift 8 426*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_HEADER_SUB_OP(x) (((x) & SDMA_PKT_COPY_BROADCAST_LINEAR_HEADER_sub_op_mask) << SDMA_PKT_COPY_BROADCAST_LINEAR_HEADER_sub_op_shift) 427*90df1d55SAlex Deucher 428*90df1d55SAlex Deucher /*define for encrypt field*/ 429*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_HEADER_encrypt_offset 0 430*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_HEADER_encrypt_mask 0x00000001 431*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_HEADER_encrypt_shift 16 432*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_HEADER_ENCRYPT(x) (((x) & SDMA_PKT_COPY_BROADCAST_LINEAR_HEADER_encrypt_mask) << SDMA_PKT_COPY_BROADCAST_LINEAR_HEADER_encrypt_shift) 433*90df1d55SAlex Deucher 434*90df1d55SAlex Deucher /*define for tmz field*/ 435*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_HEADER_tmz_offset 0 436*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_HEADER_tmz_mask 0x00000001 437*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_HEADER_tmz_shift 18 438*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_HEADER_TMZ(x) (((x) & SDMA_PKT_COPY_BROADCAST_LINEAR_HEADER_tmz_mask) << SDMA_PKT_COPY_BROADCAST_LINEAR_HEADER_tmz_shift) 439*90df1d55SAlex Deucher 440*90df1d55SAlex Deucher /*define for broadcast field*/ 441*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_HEADER_broadcast_offset 0 442*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_HEADER_broadcast_mask 0x00000001 443*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_HEADER_broadcast_shift 27 444*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_HEADER_BROADCAST(x) (((x) & SDMA_PKT_COPY_BROADCAST_LINEAR_HEADER_broadcast_mask) << SDMA_PKT_COPY_BROADCAST_LINEAR_HEADER_broadcast_shift) 445*90df1d55SAlex Deucher 446*90df1d55SAlex Deucher /*define for COUNT word*/ 447*90df1d55SAlex Deucher /*define for count field*/ 448*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_COUNT_count_offset 1 449*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_COUNT_count_mask 0x003FFFFF 450*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_COUNT_count_shift 0 451*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_COUNT_COUNT(x) (((x) & SDMA_PKT_COPY_BROADCAST_LINEAR_COUNT_count_mask) << SDMA_PKT_COPY_BROADCAST_LINEAR_COUNT_count_shift) 452*90df1d55SAlex Deucher 453*90df1d55SAlex Deucher /*define for PARAMETER word*/ 454*90df1d55SAlex Deucher /*define for dst2_sw field*/ 455*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_dst2_sw_offset 2 456*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_dst2_sw_mask 0x00000003 457*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_dst2_sw_shift 8 458*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_DST2_SW(x) (((x) & SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_dst2_sw_mask) << SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_dst2_sw_shift) 459*90df1d55SAlex Deucher 460*90df1d55SAlex Deucher /*define for dst1_sw field*/ 461*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_dst1_sw_offset 2 462*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_dst1_sw_mask 0x00000003 463*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_dst1_sw_shift 16 464*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_DST1_SW(x) (((x) & SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_dst1_sw_mask) << SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_dst1_sw_shift) 465*90df1d55SAlex Deucher 466*90df1d55SAlex Deucher /*define for src_sw field*/ 467*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_src_sw_offset 2 468*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_src_sw_mask 0x00000003 469*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_src_sw_shift 24 470*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_SRC_SW(x) (((x) & SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_src_sw_mask) << SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_src_sw_shift) 471*90df1d55SAlex Deucher 472*90df1d55SAlex Deucher /*define for SRC_ADDR_LO word*/ 473*90df1d55SAlex Deucher /*define for src_addr_31_0 field*/ 474*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_SRC_ADDR_LO_src_addr_31_0_offset 3 475*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_SRC_ADDR_LO_src_addr_31_0_mask 0xFFFFFFFF 476*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_SRC_ADDR_LO_src_addr_31_0_shift 0 477*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_SRC_ADDR_LO_SRC_ADDR_31_0(x) (((x) & SDMA_PKT_COPY_BROADCAST_LINEAR_SRC_ADDR_LO_src_addr_31_0_mask) << SDMA_PKT_COPY_BROADCAST_LINEAR_SRC_ADDR_LO_src_addr_31_0_shift) 478*90df1d55SAlex Deucher 479*90df1d55SAlex Deucher /*define for SRC_ADDR_HI word*/ 480*90df1d55SAlex Deucher /*define for src_addr_63_32 field*/ 481*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_SRC_ADDR_HI_src_addr_63_32_offset 4 482*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_SRC_ADDR_HI_src_addr_63_32_mask 0xFFFFFFFF 483*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_SRC_ADDR_HI_src_addr_63_32_shift 0 484*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_SRC_ADDR_HI_SRC_ADDR_63_32(x) (((x) & SDMA_PKT_COPY_BROADCAST_LINEAR_SRC_ADDR_HI_src_addr_63_32_mask) << SDMA_PKT_COPY_BROADCAST_LINEAR_SRC_ADDR_HI_src_addr_63_32_shift) 485*90df1d55SAlex Deucher 486*90df1d55SAlex Deucher /*define for DST1_ADDR_LO word*/ 487*90df1d55SAlex Deucher /*define for dst1_addr_31_0 field*/ 488*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_DST1_ADDR_LO_dst1_addr_31_0_offset 5 489*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_DST1_ADDR_LO_dst1_addr_31_0_mask 0xFFFFFFFF 490*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_DST1_ADDR_LO_dst1_addr_31_0_shift 0 491*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_DST1_ADDR_LO_DST1_ADDR_31_0(x) (((x) & SDMA_PKT_COPY_BROADCAST_LINEAR_DST1_ADDR_LO_dst1_addr_31_0_mask) << SDMA_PKT_COPY_BROADCAST_LINEAR_DST1_ADDR_LO_dst1_addr_31_0_shift) 492*90df1d55SAlex Deucher 493*90df1d55SAlex Deucher /*define for DST1_ADDR_HI word*/ 494*90df1d55SAlex Deucher /*define for dst1_addr_63_32 field*/ 495*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_DST1_ADDR_HI_dst1_addr_63_32_offset 6 496*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_DST1_ADDR_HI_dst1_addr_63_32_mask 0xFFFFFFFF 497*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_DST1_ADDR_HI_dst1_addr_63_32_shift 0 498*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_DST1_ADDR_HI_DST1_ADDR_63_32(x) (((x) & SDMA_PKT_COPY_BROADCAST_LINEAR_DST1_ADDR_HI_dst1_addr_63_32_mask) << SDMA_PKT_COPY_BROADCAST_LINEAR_DST1_ADDR_HI_dst1_addr_63_32_shift) 499*90df1d55SAlex Deucher 500*90df1d55SAlex Deucher /*define for DST2_ADDR_LO word*/ 501*90df1d55SAlex Deucher /*define for dst2_addr_31_0 field*/ 502*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_DST2_ADDR_LO_dst2_addr_31_0_offset 7 503*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_DST2_ADDR_LO_dst2_addr_31_0_mask 0xFFFFFFFF 504*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_DST2_ADDR_LO_dst2_addr_31_0_shift 0 505*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_DST2_ADDR_LO_DST2_ADDR_31_0(x) (((x) & SDMA_PKT_COPY_BROADCAST_LINEAR_DST2_ADDR_LO_dst2_addr_31_0_mask) << SDMA_PKT_COPY_BROADCAST_LINEAR_DST2_ADDR_LO_dst2_addr_31_0_shift) 506*90df1d55SAlex Deucher 507*90df1d55SAlex Deucher /*define for DST2_ADDR_HI word*/ 508*90df1d55SAlex Deucher /*define for dst2_addr_63_32 field*/ 509*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_DST2_ADDR_HI_dst2_addr_63_32_offset 8 510*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_DST2_ADDR_HI_dst2_addr_63_32_mask 0xFFFFFFFF 511*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_DST2_ADDR_HI_dst2_addr_63_32_shift 0 512*90df1d55SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_DST2_ADDR_HI_DST2_ADDR_63_32(x) (((x) & SDMA_PKT_COPY_BROADCAST_LINEAR_DST2_ADDR_HI_dst2_addr_63_32_mask) << SDMA_PKT_COPY_BROADCAST_LINEAR_DST2_ADDR_HI_dst2_addr_63_32_shift) 513*90df1d55SAlex Deucher 514*90df1d55SAlex Deucher 515*90df1d55SAlex Deucher /* 516*90df1d55SAlex Deucher ** Definitions for SDMA_PKT_COPY_LINEAR_SUBWIN packet 517*90df1d55SAlex Deucher */ 518*90df1d55SAlex Deucher 519*90df1d55SAlex Deucher /*define for HEADER word*/ 520*90df1d55SAlex Deucher /*define for op field*/ 521*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_HEADER_op_offset 0 522*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_HEADER_op_mask 0x000000FF 523*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_HEADER_op_shift 0 524*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_HEADER_OP(x) (((x) & SDMA_PKT_COPY_LINEAR_SUBWIN_HEADER_op_mask) << SDMA_PKT_COPY_LINEAR_SUBWIN_HEADER_op_shift) 525*90df1d55SAlex Deucher 526*90df1d55SAlex Deucher /*define for sub_op field*/ 527*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_HEADER_sub_op_offset 0 528*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_HEADER_sub_op_mask 0x000000FF 529*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_HEADER_sub_op_shift 8 530*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_HEADER_SUB_OP(x) (((x) & SDMA_PKT_COPY_LINEAR_SUBWIN_HEADER_sub_op_mask) << SDMA_PKT_COPY_LINEAR_SUBWIN_HEADER_sub_op_shift) 531*90df1d55SAlex Deucher 532*90df1d55SAlex Deucher /*define for tmz field*/ 533*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_HEADER_tmz_offset 0 534*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_HEADER_tmz_mask 0x00000001 535*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_HEADER_tmz_shift 18 536*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_HEADER_TMZ(x) (((x) & SDMA_PKT_COPY_LINEAR_SUBWIN_HEADER_tmz_mask) << SDMA_PKT_COPY_LINEAR_SUBWIN_HEADER_tmz_shift) 537*90df1d55SAlex Deucher 538*90df1d55SAlex Deucher /*define for elementsize field*/ 539*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_HEADER_elementsize_offset 0 540*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_HEADER_elementsize_mask 0x00000007 541*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_HEADER_elementsize_shift 29 542*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_HEADER_ELEMENTSIZE(x) (((x) & SDMA_PKT_COPY_LINEAR_SUBWIN_HEADER_elementsize_mask) << SDMA_PKT_COPY_LINEAR_SUBWIN_HEADER_elementsize_shift) 543*90df1d55SAlex Deucher 544*90df1d55SAlex Deucher /*define for SRC_ADDR_LO word*/ 545*90df1d55SAlex Deucher /*define for src_addr_31_0 field*/ 546*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_SRC_ADDR_LO_src_addr_31_0_offset 1 547*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_SRC_ADDR_LO_src_addr_31_0_mask 0xFFFFFFFF 548*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_SRC_ADDR_LO_src_addr_31_0_shift 0 549*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_SRC_ADDR_LO_SRC_ADDR_31_0(x) (((x) & SDMA_PKT_COPY_LINEAR_SUBWIN_SRC_ADDR_LO_src_addr_31_0_mask) << SDMA_PKT_COPY_LINEAR_SUBWIN_SRC_ADDR_LO_src_addr_31_0_shift) 550*90df1d55SAlex Deucher 551*90df1d55SAlex Deucher /*define for SRC_ADDR_HI word*/ 552*90df1d55SAlex Deucher /*define for src_addr_63_32 field*/ 553*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_SRC_ADDR_HI_src_addr_63_32_offset 2 554*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_SRC_ADDR_HI_src_addr_63_32_mask 0xFFFFFFFF 555*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_SRC_ADDR_HI_src_addr_63_32_shift 0 556*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_SRC_ADDR_HI_SRC_ADDR_63_32(x) (((x) & SDMA_PKT_COPY_LINEAR_SUBWIN_SRC_ADDR_HI_src_addr_63_32_mask) << SDMA_PKT_COPY_LINEAR_SUBWIN_SRC_ADDR_HI_src_addr_63_32_shift) 557*90df1d55SAlex Deucher 558*90df1d55SAlex Deucher /*define for DW_3 word*/ 559*90df1d55SAlex Deucher /*define for src_x field*/ 560*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_3_src_x_offset 3 561*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_3_src_x_mask 0x00003FFF 562*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_3_src_x_shift 0 563*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_3_SRC_X(x) (((x) & SDMA_PKT_COPY_LINEAR_SUBWIN_DW_3_src_x_mask) << SDMA_PKT_COPY_LINEAR_SUBWIN_DW_3_src_x_shift) 564*90df1d55SAlex Deucher 565*90df1d55SAlex Deucher /*define for src_y field*/ 566*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_3_src_y_offset 3 567*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_3_src_y_mask 0x00003FFF 568*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_3_src_y_shift 16 569*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_3_SRC_Y(x) (((x) & SDMA_PKT_COPY_LINEAR_SUBWIN_DW_3_src_y_mask) << SDMA_PKT_COPY_LINEAR_SUBWIN_DW_3_src_y_shift) 570*90df1d55SAlex Deucher 571*90df1d55SAlex Deucher /*define for DW_4 word*/ 572*90df1d55SAlex Deucher /*define for src_z field*/ 573*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_4_src_z_offset 4 574*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_4_src_z_mask 0x000007FF 575*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_4_src_z_shift 0 576*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_4_SRC_Z(x) (((x) & SDMA_PKT_COPY_LINEAR_SUBWIN_DW_4_src_z_mask) << SDMA_PKT_COPY_LINEAR_SUBWIN_DW_4_src_z_shift) 577*90df1d55SAlex Deucher 578*90df1d55SAlex Deucher /*define for src_pitch field*/ 579*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_4_src_pitch_offset 4 580*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_4_src_pitch_mask 0x0007FFFF 581*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_4_src_pitch_shift 13 582*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_4_SRC_PITCH(x) (((x) & SDMA_PKT_COPY_LINEAR_SUBWIN_DW_4_src_pitch_mask) << SDMA_PKT_COPY_LINEAR_SUBWIN_DW_4_src_pitch_shift) 583*90df1d55SAlex Deucher 584*90df1d55SAlex Deucher /*define for DW_5 word*/ 585*90df1d55SAlex Deucher /*define for src_slice_pitch field*/ 586*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_5_src_slice_pitch_offset 5 587*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_5_src_slice_pitch_mask 0x0FFFFFFF 588*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_5_src_slice_pitch_shift 0 589*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_5_SRC_SLICE_PITCH(x) (((x) & SDMA_PKT_COPY_LINEAR_SUBWIN_DW_5_src_slice_pitch_mask) << SDMA_PKT_COPY_LINEAR_SUBWIN_DW_5_src_slice_pitch_shift) 590*90df1d55SAlex Deucher 591*90df1d55SAlex Deucher /*define for DST_ADDR_LO word*/ 592*90df1d55SAlex Deucher /*define for dst_addr_31_0 field*/ 593*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DST_ADDR_LO_dst_addr_31_0_offset 6 594*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DST_ADDR_LO_dst_addr_31_0_mask 0xFFFFFFFF 595*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DST_ADDR_LO_dst_addr_31_0_shift 0 596*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DST_ADDR_LO_DST_ADDR_31_0(x) (((x) & SDMA_PKT_COPY_LINEAR_SUBWIN_DST_ADDR_LO_dst_addr_31_0_mask) << SDMA_PKT_COPY_LINEAR_SUBWIN_DST_ADDR_LO_dst_addr_31_0_shift) 597*90df1d55SAlex Deucher 598*90df1d55SAlex Deucher /*define for DST_ADDR_HI word*/ 599*90df1d55SAlex Deucher /*define for dst_addr_63_32 field*/ 600*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DST_ADDR_HI_dst_addr_63_32_offset 7 601*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DST_ADDR_HI_dst_addr_63_32_mask 0xFFFFFFFF 602*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DST_ADDR_HI_dst_addr_63_32_shift 0 603*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DST_ADDR_HI_DST_ADDR_63_32(x) (((x) & SDMA_PKT_COPY_LINEAR_SUBWIN_DST_ADDR_HI_dst_addr_63_32_mask) << SDMA_PKT_COPY_LINEAR_SUBWIN_DST_ADDR_HI_dst_addr_63_32_shift) 604*90df1d55SAlex Deucher 605*90df1d55SAlex Deucher /*define for DW_8 word*/ 606*90df1d55SAlex Deucher /*define for dst_x field*/ 607*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_8_dst_x_offset 8 608*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_8_dst_x_mask 0x00003FFF 609*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_8_dst_x_shift 0 610*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_8_DST_X(x) (((x) & SDMA_PKT_COPY_LINEAR_SUBWIN_DW_8_dst_x_mask) << SDMA_PKT_COPY_LINEAR_SUBWIN_DW_8_dst_x_shift) 611*90df1d55SAlex Deucher 612*90df1d55SAlex Deucher /*define for dst_y field*/ 613*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_8_dst_y_offset 8 614*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_8_dst_y_mask 0x00003FFF 615*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_8_dst_y_shift 16 616*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_8_DST_Y(x) (((x) & SDMA_PKT_COPY_LINEAR_SUBWIN_DW_8_dst_y_mask) << SDMA_PKT_COPY_LINEAR_SUBWIN_DW_8_dst_y_shift) 617*90df1d55SAlex Deucher 618*90df1d55SAlex Deucher /*define for DW_9 word*/ 619*90df1d55SAlex Deucher /*define for dst_z field*/ 620*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_9_dst_z_offset 9 621*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_9_dst_z_mask 0x000007FF 622*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_9_dst_z_shift 0 623*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_9_DST_Z(x) (((x) & SDMA_PKT_COPY_LINEAR_SUBWIN_DW_9_dst_z_mask) << SDMA_PKT_COPY_LINEAR_SUBWIN_DW_9_dst_z_shift) 624*90df1d55SAlex Deucher 625*90df1d55SAlex Deucher /*define for dst_pitch field*/ 626*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_9_dst_pitch_offset 9 627*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_9_dst_pitch_mask 0x0007FFFF 628*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_9_dst_pitch_shift 13 629*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_9_DST_PITCH(x) (((x) & SDMA_PKT_COPY_LINEAR_SUBWIN_DW_9_dst_pitch_mask) << SDMA_PKT_COPY_LINEAR_SUBWIN_DW_9_dst_pitch_shift) 630*90df1d55SAlex Deucher 631*90df1d55SAlex Deucher /*define for DW_10 word*/ 632*90df1d55SAlex Deucher /*define for dst_slice_pitch field*/ 633*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_10_dst_slice_pitch_offset 10 634*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_10_dst_slice_pitch_mask 0x0FFFFFFF 635*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_10_dst_slice_pitch_shift 0 636*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_10_DST_SLICE_PITCH(x) (((x) & SDMA_PKT_COPY_LINEAR_SUBWIN_DW_10_dst_slice_pitch_mask) << SDMA_PKT_COPY_LINEAR_SUBWIN_DW_10_dst_slice_pitch_shift) 637*90df1d55SAlex Deucher 638*90df1d55SAlex Deucher /*define for DW_11 word*/ 639*90df1d55SAlex Deucher /*define for rect_x field*/ 640*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_11_rect_x_offset 11 641*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_11_rect_x_mask 0x00003FFF 642*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_11_rect_x_shift 0 643*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_11_RECT_X(x) (((x) & SDMA_PKT_COPY_LINEAR_SUBWIN_DW_11_rect_x_mask) << SDMA_PKT_COPY_LINEAR_SUBWIN_DW_11_rect_x_shift) 644*90df1d55SAlex Deucher 645*90df1d55SAlex Deucher /*define for rect_y field*/ 646*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_11_rect_y_offset 11 647*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_11_rect_y_mask 0x00003FFF 648*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_11_rect_y_shift 16 649*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_11_RECT_Y(x) (((x) & SDMA_PKT_COPY_LINEAR_SUBWIN_DW_11_rect_y_mask) << SDMA_PKT_COPY_LINEAR_SUBWIN_DW_11_rect_y_shift) 650*90df1d55SAlex Deucher 651*90df1d55SAlex Deucher /*define for DW_12 word*/ 652*90df1d55SAlex Deucher /*define for rect_z field*/ 653*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_12_rect_z_offset 12 654*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_12_rect_z_mask 0x000007FF 655*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_12_rect_z_shift 0 656*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_12_RECT_Z(x) (((x) & SDMA_PKT_COPY_LINEAR_SUBWIN_DW_12_rect_z_mask) << SDMA_PKT_COPY_LINEAR_SUBWIN_DW_12_rect_z_shift) 657*90df1d55SAlex Deucher 658*90df1d55SAlex Deucher /*define for dst_sw field*/ 659*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_12_dst_sw_offset 12 660*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_12_dst_sw_mask 0x00000003 661*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_12_dst_sw_shift 16 662*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_12_DST_SW(x) (((x) & SDMA_PKT_COPY_LINEAR_SUBWIN_DW_12_dst_sw_mask) << SDMA_PKT_COPY_LINEAR_SUBWIN_DW_12_dst_sw_shift) 663*90df1d55SAlex Deucher 664*90df1d55SAlex Deucher /*define for src_sw field*/ 665*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_12_src_sw_offset 12 666*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_12_src_sw_mask 0x00000003 667*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_12_src_sw_shift 24 668*90df1d55SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_12_SRC_SW(x) (((x) & SDMA_PKT_COPY_LINEAR_SUBWIN_DW_12_src_sw_mask) << SDMA_PKT_COPY_LINEAR_SUBWIN_DW_12_src_sw_shift) 669*90df1d55SAlex Deucher 670*90df1d55SAlex Deucher 671*90df1d55SAlex Deucher /* 672*90df1d55SAlex Deucher ** Definitions for SDMA_PKT_COPY_TILED packet 673*90df1d55SAlex Deucher */ 674*90df1d55SAlex Deucher 675*90df1d55SAlex Deucher /*define for HEADER word*/ 676*90df1d55SAlex Deucher /*define for op field*/ 677*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_HEADER_op_offset 0 678*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_HEADER_op_mask 0x000000FF 679*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_HEADER_op_shift 0 680*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_HEADER_OP(x) (((x) & SDMA_PKT_COPY_TILED_HEADER_op_mask) << SDMA_PKT_COPY_TILED_HEADER_op_shift) 681*90df1d55SAlex Deucher 682*90df1d55SAlex Deucher /*define for sub_op field*/ 683*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_HEADER_sub_op_offset 0 684*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_HEADER_sub_op_mask 0x000000FF 685*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_HEADER_sub_op_shift 8 686*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_HEADER_SUB_OP(x) (((x) & SDMA_PKT_COPY_TILED_HEADER_sub_op_mask) << SDMA_PKT_COPY_TILED_HEADER_sub_op_shift) 687*90df1d55SAlex Deucher 688*90df1d55SAlex Deucher /*define for encrypt field*/ 689*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_HEADER_encrypt_offset 0 690*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_HEADER_encrypt_mask 0x00000001 691*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_HEADER_encrypt_shift 16 692*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_HEADER_ENCRYPT(x) (((x) & SDMA_PKT_COPY_TILED_HEADER_encrypt_mask) << SDMA_PKT_COPY_TILED_HEADER_encrypt_shift) 693*90df1d55SAlex Deucher 694*90df1d55SAlex Deucher /*define for tmz field*/ 695*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_HEADER_tmz_offset 0 696*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_HEADER_tmz_mask 0x00000001 697*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_HEADER_tmz_shift 18 698*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_HEADER_TMZ(x) (((x) & SDMA_PKT_COPY_TILED_HEADER_tmz_mask) << SDMA_PKT_COPY_TILED_HEADER_tmz_shift) 699*90df1d55SAlex Deucher 700*90df1d55SAlex Deucher /*define for mip_max field*/ 701*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_HEADER_mip_max_offset 0 702*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_HEADER_mip_max_mask 0x0000000F 703*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_HEADER_mip_max_shift 20 704*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_HEADER_MIP_MAX(x) (((x) & SDMA_PKT_COPY_TILED_HEADER_mip_max_mask) << SDMA_PKT_COPY_TILED_HEADER_mip_max_shift) 705*90df1d55SAlex Deucher 706*90df1d55SAlex Deucher /*define for detile field*/ 707*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_HEADER_detile_offset 0 708*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_HEADER_detile_mask 0x00000001 709*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_HEADER_detile_shift 31 710*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_HEADER_DETILE(x) (((x) & SDMA_PKT_COPY_TILED_HEADER_detile_mask) << SDMA_PKT_COPY_TILED_HEADER_detile_shift) 711*90df1d55SAlex Deucher 712*90df1d55SAlex Deucher /*define for TILED_ADDR_LO word*/ 713*90df1d55SAlex Deucher /*define for tiled_addr_31_0 field*/ 714*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_TILED_ADDR_LO_tiled_addr_31_0_offset 1 715*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_TILED_ADDR_LO_tiled_addr_31_0_mask 0xFFFFFFFF 716*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_TILED_ADDR_LO_tiled_addr_31_0_shift 0 717*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_TILED_ADDR_LO_TILED_ADDR_31_0(x) (((x) & SDMA_PKT_COPY_TILED_TILED_ADDR_LO_tiled_addr_31_0_mask) << SDMA_PKT_COPY_TILED_TILED_ADDR_LO_tiled_addr_31_0_shift) 718*90df1d55SAlex Deucher 719*90df1d55SAlex Deucher /*define for TILED_ADDR_HI word*/ 720*90df1d55SAlex Deucher /*define for tiled_addr_63_32 field*/ 721*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_TILED_ADDR_HI_tiled_addr_63_32_offset 2 722*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_TILED_ADDR_HI_tiled_addr_63_32_mask 0xFFFFFFFF 723*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_TILED_ADDR_HI_tiled_addr_63_32_shift 0 724*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_TILED_ADDR_HI_TILED_ADDR_63_32(x) (((x) & SDMA_PKT_COPY_TILED_TILED_ADDR_HI_tiled_addr_63_32_mask) << SDMA_PKT_COPY_TILED_TILED_ADDR_HI_tiled_addr_63_32_shift) 725*90df1d55SAlex Deucher 726*90df1d55SAlex Deucher /*define for DW_3 word*/ 727*90df1d55SAlex Deucher /*define for width field*/ 728*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_3_width_offset 3 729*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_3_width_mask 0x00003FFF 730*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_3_width_shift 0 731*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_3_WIDTH(x) (((x) & SDMA_PKT_COPY_TILED_DW_3_width_mask) << SDMA_PKT_COPY_TILED_DW_3_width_shift) 732*90df1d55SAlex Deucher 733*90df1d55SAlex Deucher /*define for DW_4 word*/ 734*90df1d55SAlex Deucher /*define for height field*/ 735*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_4_height_offset 4 736*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_4_height_mask 0x00003FFF 737*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_4_height_shift 0 738*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_4_HEIGHT(x) (((x) & SDMA_PKT_COPY_TILED_DW_4_height_mask) << SDMA_PKT_COPY_TILED_DW_4_height_shift) 739*90df1d55SAlex Deucher 740*90df1d55SAlex Deucher /*define for depth field*/ 741*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_4_depth_offset 4 742*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_4_depth_mask 0x000007FF 743*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_4_depth_shift 16 744*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_4_DEPTH(x) (((x) & SDMA_PKT_COPY_TILED_DW_4_depth_mask) << SDMA_PKT_COPY_TILED_DW_4_depth_shift) 745*90df1d55SAlex Deucher 746*90df1d55SAlex Deucher /*define for DW_5 word*/ 747*90df1d55SAlex Deucher /*define for element_size field*/ 748*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_element_size_offset 5 749*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_element_size_mask 0x00000007 750*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_element_size_shift 0 751*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_ELEMENT_SIZE(x) (((x) & SDMA_PKT_COPY_TILED_DW_5_element_size_mask) << SDMA_PKT_COPY_TILED_DW_5_element_size_shift) 752*90df1d55SAlex Deucher 753*90df1d55SAlex Deucher /*define for swizzle_mode field*/ 754*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_swizzle_mode_offset 5 755*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_swizzle_mode_mask 0x0000001F 756*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_swizzle_mode_shift 3 757*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_SWIZZLE_MODE(x) (((x) & SDMA_PKT_COPY_TILED_DW_5_swizzle_mode_mask) << SDMA_PKT_COPY_TILED_DW_5_swizzle_mode_shift) 758*90df1d55SAlex Deucher 759*90df1d55SAlex Deucher /*define for dimension field*/ 760*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_dimension_offset 5 761*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_dimension_mask 0x00000003 762*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_dimension_shift 9 763*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_DIMENSION(x) (((x) & SDMA_PKT_COPY_TILED_DW_5_dimension_mask) << SDMA_PKT_COPY_TILED_DW_5_dimension_shift) 764*90df1d55SAlex Deucher 765*90df1d55SAlex Deucher /*define for epitch field*/ 766*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_epitch_offset 5 767*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_epitch_mask 0x0000FFFF 768*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_epitch_shift 16 769*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_EPITCH(x) (((x) & SDMA_PKT_COPY_TILED_DW_5_epitch_mask) << SDMA_PKT_COPY_TILED_DW_5_epitch_shift) 770*90df1d55SAlex Deucher 771*90df1d55SAlex Deucher /*define for DW_6 word*/ 772*90df1d55SAlex Deucher /*define for x field*/ 773*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_6_x_offset 6 774*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_6_x_mask 0x00003FFF 775*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_6_x_shift 0 776*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_6_X(x) (((x) & SDMA_PKT_COPY_TILED_DW_6_x_mask) << SDMA_PKT_COPY_TILED_DW_6_x_shift) 777*90df1d55SAlex Deucher 778*90df1d55SAlex Deucher /*define for y field*/ 779*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_6_y_offset 6 780*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_6_y_mask 0x00003FFF 781*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_6_y_shift 16 782*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_6_Y(x) (((x) & SDMA_PKT_COPY_TILED_DW_6_y_mask) << SDMA_PKT_COPY_TILED_DW_6_y_shift) 783*90df1d55SAlex Deucher 784*90df1d55SAlex Deucher /*define for DW_7 word*/ 785*90df1d55SAlex Deucher /*define for z field*/ 786*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_7_z_offset 7 787*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_7_z_mask 0x000007FF 788*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_7_z_shift 0 789*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_7_Z(x) (((x) & SDMA_PKT_COPY_TILED_DW_7_z_mask) << SDMA_PKT_COPY_TILED_DW_7_z_shift) 790*90df1d55SAlex Deucher 791*90df1d55SAlex Deucher /*define for linear_sw field*/ 792*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_7_linear_sw_offset 7 793*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_7_linear_sw_mask 0x00000003 794*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_7_linear_sw_shift 16 795*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_7_LINEAR_SW(x) (((x) & SDMA_PKT_COPY_TILED_DW_7_linear_sw_mask) << SDMA_PKT_COPY_TILED_DW_7_linear_sw_shift) 796*90df1d55SAlex Deucher 797*90df1d55SAlex Deucher /*define for tile_sw field*/ 798*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_7_tile_sw_offset 7 799*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_7_tile_sw_mask 0x00000003 800*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_7_tile_sw_shift 24 801*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_7_TILE_SW(x) (((x) & SDMA_PKT_COPY_TILED_DW_7_tile_sw_mask) << SDMA_PKT_COPY_TILED_DW_7_tile_sw_shift) 802*90df1d55SAlex Deucher 803*90df1d55SAlex Deucher /*define for LINEAR_ADDR_LO word*/ 804*90df1d55SAlex Deucher /*define for linear_addr_31_0 field*/ 805*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_LINEAR_ADDR_LO_linear_addr_31_0_offset 8 806*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_LINEAR_ADDR_LO_linear_addr_31_0_mask 0xFFFFFFFF 807*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_LINEAR_ADDR_LO_linear_addr_31_0_shift 0 808*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_LINEAR_ADDR_LO_LINEAR_ADDR_31_0(x) (((x) & SDMA_PKT_COPY_TILED_LINEAR_ADDR_LO_linear_addr_31_0_mask) << SDMA_PKT_COPY_TILED_LINEAR_ADDR_LO_linear_addr_31_0_shift) 809*90df1d55SAlex Deucher 810*90df1d55SAlex Deucher /*define for LINEAR_ADDR_HI word*/ 811*90df1d55SAlex Deucher /*define for linear_addr_63_32 field*/ 812*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_LINEAR_ADDR_HI_linear_addr_63_32_offset 9 813*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_LINEAR_ADDR_HI_linear_addr_63_32_mask 0xFFFFFFFF 814*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_LINEAR_ADDR_HI_linear_addr_63_32_shift 0 815*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_LINEAR_ADDR_HI_LINEAR_ADDR_63_32(x) (((x) & SDMA_PKT_COPY_TILED_LINEAR_ADDR_HI_linear_addr_63_32_mask) << SDMA_PKT_COPY_TILED_LINEAR_ADDR_HI_linear_addr_63_32_shift) 816*90df1d55SAlex Deucher 817*90df1d55SAlex Deucher /*define for LINEAR_PITCH word*/ 818*90df1d55SAlex Deucher /*define for linear_pitch field*/ 819*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_LINEAR_PITCH_linear_pitch_offset 10 820*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_LINEAR_PITCH_linear_pitch_mask 0x0007FFFF 821*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_LINEAR_PITCH_linear_pitch_shift 0 822*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_LINEAR_PITCH_LINEAR_PITCH(x) (((x) & SDMA_PKT_COPY_TILED_LINEAR_PITCH_linear_pitch_mask) << SDMA_PKT_COPY_TILED_LINEAR_PITCH_linear_pitch_shift) 823*90df1d55SAlex Deucher 824*90df1d55SAlex Deucher /*define for LINEAR_SLICE_PITCH word*/ 825*90df1d55SAlex Deucher /*define for linear_slice_pitch field*/ 826*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_LINEAR_SLICE_PITCH_linear_slice_pitch_offset 11 827*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_LINEAR_SLICE_PITCH_linear_slice_pitch_mask 0xFFFFFFFF 828*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_LINEAR_SLICE_PITCH_linear_slice_pitch_shift 0 829*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_LINEAR_SLICE_PITCH_LINEAR_SLICE_PITCH(x) (((x) & SDMA_PKT_COPY_TILED_LINEAR_SLICE_PITCH_linear_slice_pitch_mask) << SDMA_PKT_COPY_TILED_LINEAR_SLICE_PITCH_linear_slice_pitch_shift) 830*90df1d55SAlex Deucher 831*90df1d55SAlex Deucher /*define for COUNT word*/ 832*90df1d55SAlex Deucher /*define for count field*/ 833*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_COUNT_count_offset 12 834*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_COUNT_count_mask 0x000FFFFF 835*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_COUNT_count_shift 0 836*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_COUNT_COUNT(x) (((x) & SDMA_PKT_COPY_TILED_COUNT_count_mask) << SDMA_PKT_COPY_TILED_COUNT_count_shift) 837*90df1d55SAlex Deucher 838*90df1d55SAlex Deucher 839*90df1d55SAlex Deucher /* 840*90df1d55SAlex Deucher ** Definitions for SDMA_PKT_COPY_L2T_BROADCAST packet 841*90df1d55SAlex Deucher */ 842*90df1d55SAlex Deucher 843*90df1d55SAlex Deucher /*define for HEADER word*/ 844*90df1d55SAlex Deucher /*define for op field*/ 845*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_HEADER_op_offset 0 846*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_HEADER_op_mask 0x000000FF 847*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_HEADER_op_shift 0 848*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_HEADER_OP(x) (((x) & SDMA_PKT_COPY_L2T_BROADCAST_HEADER_op_mask) << SDMA_PKT_COPY_L2T_BROADCAST_HEADER_op_shift) 849*90df1d55SAlex Deucher 850*90df1d55SAlex Deucher /*define for sub_op field*/ 851*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_HEADER_sub_op_offset 0 852*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_HEADER_sub_op_mask 0x000000FF 853*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_HEADER_sub_op_shift 8 854*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_HEADER_SUB_OP(x) (((x) & SDMA_PKT_COPY_L2T_BROADCAST_HEADER_sub_op_mask) << SDMA_PKT_COPY_L2T_BROADCAST_HEADER_sub_op_shift) 855*90df1d55SAlex Deucher 856*90df1d55SAlex Deucher /*define for encrypt field*/ 857*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_HEADER_encrypt_offset 0 858*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_HEADER_encrypt_mask 0x00000001 859*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_HEADER_encrypt_shift 16 860*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_HEADER_ENCRYPT(x) (((x) & SDMA_PKT_COPY_L2T_BROADCAST_HEADER_encrypt_mask) << SDMA_PKT_COPY_L2T_BROADCAST_HEADER_encrypt_shift) 861*90df1d55SAlex Deucher 862*90df1d55SAlex Deucher /*define for tmz field*/ 863*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_HEADER_tmz_offset 0 864*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_HEADER_tmz_mask 0x00000001 865*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_HEADER_tmz_shift 18 866*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_HEADER_TMZ(x) (((x) & SDMA_PKT_COPY_L2T_BROADCAST_HEADER_tmz_mask) << SDMA_PKT_COPY_L2T_BROADCAST_HEADER_tmz_shift) 867*90df1d55SAlex Deucher 868*90df1d55SAlex Deucher /*define for mip_max field*/ 869*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_HEADER_mip_max_offset 0 870*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_HEADER_mip_max_mask 0x0000000F 871*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_HEADER_mip_max_shift 20 872*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_HEADER_MIP_MAX(x) (((x) & SDMA_PKT_COPY_L2T_BROADCAST_HEADER_mip_max_mask) << SDMA_PKT_COPY_L2T_BROADCAST_HEADER_mip_max_shift) 873*90df1d55SAlex Deucher 874*90df1d55SAlex Deucher /*define for videocopy field*/ 875*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_HEADER_videocopy_offset 0 876*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_HEADER_videocopy_mask 0x00000001 877*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_HEADER_videocopy_shift 26 878*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_HEADER_VIDEOCOPY(x) (((x) & SDMA_PKT_COPY_L2T_BROADCAST_HEADER_videocopy_mask) << SDMA_PKT_COPY_L2T_BROADCAST_HEADER_videocopy_shift) 879*90df1d55SAlex Deucher 880*90df1d55SAlex Deucher /*define for broadcast field*/ 881*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_HEADER_broadcast_offset 0 882*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_HEADER_broadcast_mask 0x00000001 883*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_HEADER_broadcast_shift 27 884*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_HEADER_BROADCAST(x) (((x) & SDMA_PKT_COPY_L2T_BROADCAST_HEADER_broadcast_mask) << SDMA_PKT_COPY_L2T_BROADCAST_HEADER_broadcast_shift) 885*90df1d55SAlex Deucher 886*90df1d55SAlex Deucher /*define for TILED_ADDR_LO_0 word*/ 887*90df1d55SAlex Deucher /*define for tiled_addr0_31_0 field*/ 888*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_TILED_ADDR_LO_0_tiled_addr0_31_0_offset 1 889*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_TILED_ADDR_LO_0_tiled_addr0_31_0_mask 0xFFFFFFFF 890*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_TILED_ADDR_LO_0_tiled_addr0_31_0_shift 0 891*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_TILED_ADDR_LO_0_TILED_ADDR0_31_0(x) (((x) & SDMA_PKT_COPY_L2T_BROADCAST_TILED_ADDR_LO_0_tiled_addr0_31_0_mask) << SDMA_PKT_COPY_L2T_BROADCAST_TILED_ADDR_LO_0_tiled_addr0_31_0_shift) 892*90df1d55SAlex Deucher 893*90df1d55SAlex Deucher /*define for TILED_ADDR_HI_0 word*/ 894*90df1d55SAlex Deucher /*define for tiled_addr0_63_32 field*/ 895*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_TILED_ADDR_HI_0_tiled_addr0_63_32_offset 2 896*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_TILED_ADDR_HI_0_tiled_addr0_63_32_mask 0xFFFFFFFF 897*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_TILED_ADDR_HI_0_tiled_addr0_63_32_shift 0 898*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_TILED_ADDR_HI_0_TILED_ADDR0_63_32(x) (((x) & SDMA_PKT_COPY_L2T_BROADCAST_TILED_ADDR_HI_0_tiled_addr0_63_32_mask) << SDMA_PKT_COPY_L2T_BROADCAST_TILED_ADDR_HI_0_tiled_addr0_63_32_shift) 899*90df1d55SAlex Deucher 900*90df1d55SAlex Deucher /*define for TILED_ADDR_LO_1 word*/ 901*90df1d55SAlex Deucher /*define for tiled_addr1_31_0 field*/ 902*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_TILED_ADDR_LO_1_tiled_addr1_31_0_offset 3 903*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_TILED_ADDR_LO_1_tiled_addr1_31_0_mask 0xFFFFFFFF 904*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_TILED_ADDR_LO_1_tiled_addr1_31_0_shift 0 905*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_TILED_ADDR_LO_1_TILED_ADDR1_31_0(x) (((x) & SDMA_PKT_COPY_L2T_BROADCAST_TILED_ADDR_LO_1_tiled_addr1_31_0_mask) << SDMA_PKT_COPY_L2T_BROADCAST_TILED_ADDR_LO_1_tiled_addr1_31_0_shift) 906*90df1d55SAlex Deucher 907*90df1d55SAlex Deucher /*define for TILED_ADDR_HI_1 word*/ 908*90df1d55SAlex Deucher /*define for tiled_addr1_63_32 field*/ 909*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_TILED_ADDR_HI_1_tiled_addr1_63_32_offset 4 910*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_TILED_ADDR_HI_1_tiled_addr1_63_32_mask 0xFFFFFFFF 911*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_TILED_ADDR_HI_1_tiled_addr1_63_32_shift 0 912*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_TILED_ADDR_HI_1_TILED_ADDR1_63_32(x) (((x) & SDMA_PKT_COPY_L2T_BROADCAST_TILED_ADDR_HI_1_tiled_addr1_63_32_mask) << SDMA_PKT_COPY_L2T_BROADCAST_TILED_ADDR_HI_1_tiled_addr1_63_32_shift) 913*90df1d55SAlex Deucher 914*90df1d55SAlex Deucher /*define for DW_5 word*/ 915*90df1d55SAlex Deucher /*define for width field*/ 916*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_5_width_offset 5 917*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_5_width_mask 0x00003FFF 918*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_5_width_shift 0 919*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_5_WIDTH(x) (((x) & SDMA_PKT_COPY_L2T_BROADCAST_DW_5_width_mask) << SDMA_PKT_COPY_L2T_BROADCAST_DW_5_width_shift) 920*90df1d55SAlex Deucher 921*90df1d55SAlex Deucher /*define for DW_6 word*/ 922*90df1d55SAlex Deucher /*define for height field*/ 923*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_6_height_offset 6 924*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_6_height_mask 0x00003FFF 925*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_6_height_shift 0 926*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_6_HEIGHT(x) (((x) & SDMA_PKT_COPY_L2T_BROADCAST_DW_6_height_mask) << SDMA_PKT_COPY_L2T_BROADCAST_DW_6_height_shift) 927*90df1d55SAlex Deucher 928*90df1d55SAlex Deucher /*define for depth field*/ 929*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_6_depth_offset 6 930*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_6_depth_mask 0x000007FF 931*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_6_depth_shift 16 932*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_6_DEPTH(x) (((x) & SDMA_PKT_COPY_L2T_BROADCAST_DW_6_depth_mask) << SDMA_PKT_COPY_L2T_BROADCAST_DW_6_depth_shift) 933*90df1d55SAlex Deucher 934*90df1d55SAlex Deucher /*define for DW_7 word*/ 935*90df1d55SAlex Deucher /*define for element_size field*/ 936*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_element_size_offset 7 937*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_element_size_mask 0x00000007 938*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_element_size_shift 0 939*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_ELEMENT_SIZE(x) (((x) & SDMA_PKT_COPY_L2T_BROADCAST_DW_7_element_size_mask) << SDMA_PKT_COPY_L2T_BROADCAST_DW_7_element_size_shift) 940*90df1d55SAlex Deucher 941*90df1d55SAlex Deucher /*define for swizzle_mode field*/ 942*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_swizzle_mode_offset 7 943*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_swizzle_mode_mask 0x0000001F 944*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_swizzle_mode_shift 3 945*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_SWIZZLE_MODE(x) (((x) & SDMA_PKT_COPY_L2T_BROADCAST_DW_7_swizzle_mode_mask) << SDMA_PKT_COPY_L2T_BROADCAST_DW_7_swizzle_mode_shift) 946*90df1d55SAlex Deucher 947*90df1d55SAlex Deucher /*define for dimension field*/ 948*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_dimension_offset 7 949*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_dimension_mask 0x00000003 950*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_dimension_shift 9 951*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_DIMENSION(x) (((x) & SDMA_PKT_COPY_L2T_BROADCAST_DW_7_dimension_mask) << SDMA_PKT_COPY_L2T_BROADCAST_DW_7_dimension_shift) 952*90df1d55SAlex Deucher 953*90df1d55SAlex Deucher /*define for epitch field*/ 954*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_epitch_offset 7 955*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_epitch_mask 0x0000FFFF 956*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_epitch_shift 16 957*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_EPITCH(x) (((x) & SDMA_PKT_COPY_L2T_BROADCAST_DW_7_epitch_mask) << SDMA_PKT_COPY_L2T_BROADCAST_DW_7_epitch_shift) 958*90df1d55SAlex Deucher 959*90df1d55SAlex Deucher /*define for DW_8 word*/ 960*90df1d55SAlex Deucher /*define for x field*/ 961*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_8_x_offset 8 962*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_8_x_mask 0x00003FFF 963*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_8_x_shift 0 964*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_8_X(x) (((x) & SDMA_PKT_COPY_L2T_BROADCAST_DW_8_x_mask) << SDMA_PKT_COPY_L2T_BROADCAST_DW_8_x_shift) 965*90df1d55SAlex Deucher 966*90df1d55SAlex Deucher /*define for y field*/ 967*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_8_y_offset 8 968*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_8_y_mask 0x00003FFF 969*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_8_y_shift 16 970*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_8_Y(x) (((x) & SDMA_PKT_COPY_L2T_BROADCAST_DW_8_y_mask) << SDMA_PKT_COPY_L2T_BROADCAST_DW_8_y_shift) 971*90df1d55SAlex Deucher 972*90df1d55SAlex Deucher /*define for DW_9 word*/ 973*90df1d55SAlex Deucher /*define for z field*/ 974*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_9_z_offset 9 975*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_9_z_mask 0x000007FF 976*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_9_z_shift 0 977*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_9_Z(x) (((x) & SDMA_PKT_COPY_L2T_BROADCAST_DW_9_z_mask) << SDMA_PKT_COPY_L2T_BROADCAST_DW_9_z_shift) 978*90df1d55SAlex Deucher 979*90df1d55SAlex Deucher /*define for DW_10 word*/ 980*90df1d55SAlex Deucher /*define for dst2_sw field*/ 981*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_10_dst2_sw_offset 10 982*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_10_dst2_sw_mask 0x00000003 983*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_10_dst2_sw_shift 8 984*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_10_DST2_SW(x) (((x) & SDMA_PKT_COPY_L2T_BROADCAST_DW_10_dst2_sw_mask) << SDMA_PKT_COPY_L2T_BROADCAST_DW_10_dst2_sw_shift) 985*90df1d55SAlex Deucher 986*90df1d55SAlex Deucher /*define for linear_sw field*/ 987*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_10_linear_sw_offset 10 988*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_10_linear_sw_mask 0x00000003 989*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_10_linear_sw_shift 16 990*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_10_LINEAR_SW(x) (((x) & SDMA_PKT_COPY_L2T_BROADCAST_DW_10_linear_sw_mask) << SDMA_PKT_COPY_L2T_BROADCAST_DW_10_linear_sw_shift) 991*90df1d55SAlex Deucher 992*90df1d55SAlex Deucher /*define for tile_sw field*/ 993*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_10_tile_sw_offset 10 994*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_10_tile_sw_mask 0x00000003 995*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_10_tile_sw_shift 24 996*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_10_TILE_SW(x) (((x) & SDMA_PKT_COPY_L2T_BROADCAST_DW_10_tile_sw_mask) << SDMA_PKT_COPY_L2T_BROADCAST_DW_10_tile_sw_shift) 997*90df1d55SAlex Deucher 998*90df1d55SAlex Deucher /*define for LINEAR_ADDR_LO word*/ 999*90df1d55SAlex Deucher /*define for linear_addr_31_0 field*/ 1000*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_LINEAR_ADDR_LO_linear_addr_31_0_offset 11 1001*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_LINEAR_ADDR_LO_linear_addr_31_0_mask 0xFFFFFFFF 1002*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_LINEAR_ADDR_LO_linear_addr_31_0_shift 0 1003*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_LINEAR_ADDR_LO_LINEAR_ADDR_31_0(x) (((x) & SDMA_PKT_COPY_L2T_BROADCAST_LINEAR_ADDR_LO_linear_addr_31_0_mask) << SDMA_PKT_COPY_L2T_BROADCAST_LINEAR_ADDR_LO_linear_addr_31_0_shift) 1004*90df1d55SAlex Deucher 1005*90df1d55SAlex Deucher /*define for LINEAR_ADDR_HI word*/ 1006*90df1d55SAlex Deucher /*define for linear_addr_63_32 field*/ 1007*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_LINEAR_ADDR_HI_linear_addr_63_32_offset 12 1008*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_LINEAR_ADDR_HI_linear_addr_63_32_mask 0xFFFFFFFF 1009*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_LINEAR_ADDR_HI_linear_addr_63_32_shift 0 1010*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_LINEAR_ADDR_HI_LINEAR_ADDR_63_32(x) (((x) & SDMA_PKT_COPY_L2T_BROADCAST_LINEAR_ADDR_HI_linear_addr_63_32_mask) << SDMA_PKT_COPY_L2T_BROADCAST_LINEAR_ADDR_HI_linear_addr_63_32_shift) 1011*90df1d55SAlex Deucher 1012*90df1d55SAlex Deucher /*define for LINEAR_PITCH word*/ 1013*90df1d55SAlex Deucher /*define for linear_pitch field*/ 1014*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_LINEAR_PITCH_linear_pitch_offset 13 1015*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_LINEAR_PITCH_linear_pitch_mask 0x0007FFFF 1016*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_LINEAR_PITCH_linear_pitch_shift 0 1017*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_LINEAR_PITCH_LINEAR_PITCH(x) (((x) & SDMA_PKT_COPY_L2T_BROADCAST_LINEAR_PITCH_linear_pitch_mask) << SDMA_PKT_COPY_L2T_BROADCAST_LINEAR_PITCH_linear_pitch_shift) 1018*90df1d55SAlex Deucher 1019*90df1d55SAlex Deucher /*define for LINEAR_SLICE_PITCH word*/ 1020*90df1d55SAlex Deucher /*define for linear_slice_pitch field*/ 1021*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_LINEAR_SLICE_PITCH_linear_slice_pitch_offset 14 1022*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_LINEAR_SLICE_PITCH_linear_slice_pitch_mask 0xFFFFFFFF 1023*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_LINEAR_SLICE_PITCH_linear_slice_pitch_shift 0 1024*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_LINEAR_SLICE_PITCH_LINEAR_SLICE_PITCH(x) (((x) & SDMA_PKT_COPY_L2T_BROADCAST_LINEAR_SLICE_PITCH_linear_slice_pitch_mask) << SDMA_PKT_COPY_L2T_BROADCAST_LINEAR_SLICE_PITCH_linear_slice_pitch_shift) 1025*90df1d55SAlex Deucher 1026*90df1d55SAlex Deucher /*define for COUNT word*/ 1027*90df1d55SAlex Deucher /*define for count field*/ 1028*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_COUNT_count_offset 15 1029*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_COUNT_count_mask 0x000FFFFF 1030*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_COUNT_count_shift 0 1031*90df1d55SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_COUNT_COUNT(x) (((x) & SDMA_PKT_COPY_L2T_BROADCAST_COUNT_count_mask) << SDMA_PKT_COPY_L2T_BROADCAST_COUNT_count_shift) 1032*90df1d55SAlex Deucher 1033*90df1d55SAlex Deucher 1034*90df1d55SAlex Deucher /* 1035*90df1d55SAlex Deucher ** Definitions for SDMA_PKT_COPY_T2T packet 1036*90df1d55SAlex Deucher */ 1037*90df1d55SAlex Deucher 1038*90df1d55SAlex Deucher /*define for HEADER word*/ 1039*90df1d55SAlex Deucher /*define for op field*/ 1040*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_HEADER_op_offset 0 1041*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_HEADER_op_mask 0x000000FF 1042*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_HEADER_op_shift 0 1043*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_HEADER_OP(x) (((x) & SDMA_PKT_COPY_T2T_HEADER_op_mask) << SDMA_PKT_COPY_T2T_HEADER_op_shift) 1044*90df1d55SAlex Deucher 1045*90df1d55SAlex Deucher /*define for sub_op field*/ 1046*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_HEADER_sub_op_offset 0 1047*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_HEADER_sub_op_mask 0x000000FF 1048*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_HEADER_sub_op_shift 8 1049*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_HEADER_SUB_OP(x) (((x) & SDMA_PKT_COPY_T2T_HEADER_sub_op_mask) << SDMA_PKT_COPY_T2T_HEADER_sub_op_shift) 1050*90df1d55SAlex Deucher 1051*90df1d55SAlex Deucher /*define for tmz field*/ 1052*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_HEADER_tmz_offset 0 1053*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_HEADER_tmz_mask 0x00000001 1054*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_HEADER_tmz_shift 18 1055*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_HEADER_TMZ(x) (((x) & SDMA_PKT_COPY_T2T_HEADER_tmz_mask) << SDMA_PKT_COPY_T2T_HEADER_tmz_shift) 1056*90df1d55SAlex Deucher 1057*90df1d55SAlex Deucher /*define for mip_max field*/ 1058*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_HEADER_mip_max_offset 0 1059*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_HEADER_mip_max_mask 0x0000000F 1060*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_HEADER_mip_max_shift 20 1061*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_HEADER_MIP_MAX(x) (((x) & SDMA_PKT_COPY_T2T_HEADER_mip_max_mask) << SDMA_PKT_COPY_T2T_HEADER_mip_max_shift) 1062*90df1d55SAlex Deucher 1063*90df1d55SAlex Deucher /*define for SRC_ADDR_LO word*/ 1064*90df1d55SAlex Deucher /*define for src_addr_31_0 field*/ 1065*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_SRC_ADDR_LO_src_addr_31_0_offset 1 1066*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_SRC_ADDR_LO_src_addr_31_0_mask 0xFFFFFFFF 1067*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_SRC_ADDR_LO_src_addr_31_0_shift 0 1068*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_SRC_ADDR_LO_SRC_ADDR_31_0(x) (((x) & SDMA_PKT_COPY_T2T_SRC_ADDR_LO_src_addr_31_0_mask) << SDMA_PKT_COPY_T2T_SRC_ADDR_LO_src_addr_31_0_shift) 1069*90df1d55SAlex Deucher 1070*90df1d55SAlex Deucher /*define for SRC_ADDR_HI word*/ 1071*90df1d55SAlex Deucher /*define for src_addr_63_32 field*/ 1072*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_SRC_ADDR_HI_src_addr_63_32_offset 2 1073*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_SRC_ADDR_HI_src_addr_63_32_mask 0xFFFFFFFF 1074*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_SRC_ADDR_HI_src_addr_63_32_shift 0 1075*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_SRC_ADDR_HI_SRC_ADDR_63_32(x) (((x) & SDMA_PKT_COPY_T2T_SRC_ADDR_HI_src_addr_63_32_mask) << SDMA_PKT_COPY_T2T_SRC_ADDR_HI_src_addr_63_32_shift) 1076*90df1d55SAlex Deucher 1077*90df1d55SAlex Deucher /*define for DW_3 word*/ 1078*90df1d55SAlex Deucher /*define for src_x field*/ 1079*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_3_src_x_offset 3 1080*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_3_src_x_mask 0x00003FFF 1081*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_3_src_x_shift 0 1082*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_3_SRC_X(x) (((x) & SDMA_PKT_COPY_T2T_DW_3_src_x_mask) << SDMA_PKT_COPY_T2T_DW_3_src_x_shift) 1083*90df1d55SAlex Deucher 1084*90df1d55SAlex Deucher /*define for src_y field*/ 1085*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_3_src_y_offset 3 1086*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_3_src_y_mask 0x00003FFF 1087*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_3_src_y_shift 16 1088*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_3_SRC_Y(x) (((x) & SDMA_PKT_COPY_T2T_DW_3_src_y_mask) << SDMA_PKT_COPY_T2T_DW_3_src_y_shift) 1089*90df1d55SAlex Deucher 1090*90df1d55SAlex Deucher /*define for DW_4 word*/ 1091*90df1d55SAlex Deucher /*define for src_z field*/ 1092*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_4_src_z_offset 4 1093*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_4_src_z_mask 0x000007FF 1094*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_4_src_z_shift 0 1095*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_4_SRC_Z(x) (((x) & SDMA_PKT_COPY_T2T_DW_4_src_z_mask) << SDMA_PKT_COPY_T2T_DW_4_src_z_shift) 1096*90df1d55SAlex Deucher 1097*90df1d55SAlex Deucher /*define for src_width field*/ 1098*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_4_src_width_offset 4 1099*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_4_src_width_mask 0x00003FFF 1100*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_4_src_width_shift 16 1101*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_4_SRC_WIDTH(x) (((x) & SDMA_PKT_COPY_T2T_DW_4_src_width_mask) << SDMA_PKT_COPY_T2T_DW_4_src_width_shift) 1102*90df1d55SAlex Deucher 1103*90df1d55SAlex Deucher /*define for DW_5 word*/ 1104*90df1d55SAlex Deucher /*define for src_height field*/ 1105*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_5_src_height_offset 5 1106*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_5_src_height_mask 0x00003FFF 1107*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_5_src_height_shift 0 1108*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_5_SRC_HEIGHT(x) (((x) & SDMA_PKT_COPY_T2T_DW_5_src_height_mask) << SDMA_PKT_COPY_T2T_DW_5_src_height_shift) 1109*90df1d55SAlex Deucher 1110*90df1d55SAlex Deucher /*define for src_depth field*/ 1111*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_5_src_depth_offset 5 1112*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_5_src_depth_mask 0x000007FF 1113*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_5_src_depth_shift 16 1114*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_5_SRC_DEPTH(x) (((x) & SDMA_PKT_COPY_T2T_DW_5_src_depth_mask) << SDMA_PKT_COPY_T2T_DW_5_src_depth_shift) 1115*90df1d55SAlex Deucher 1116*90df1d55SAlex Deucher /*define for DW_6 word*/ 1117*90df1d55SAlex Deucher /*define for src_element_size field*/ 1118*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_src_element_size_offset 6 1119*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_src_element_size_mask 0x00000007 1120*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_src_element_size_shift 0 1121*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_SRC_ELEMENT_SIZE(x) (((x) & SDMA_PKT_COPY_T2T_DW_6_src_element_size_mask) << SDMA_PKT_COPY_T2T_DW_6_src_element_size_shift) 1122*90df1d55SAlex Deucher 1123*90df1d55SAlex Deucher /*define for src_swizzle_mode field*/ 1124*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_src_swizzle_mode_offset 6 1125*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_src_swizzle_mode_mask 0x0000001F 1126*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_src_swizzle_mode_shift 3 1127*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_SRC_SWIZZLE_MODE(x) (((x) & SDMA_PKT_COPY_T2T_DW_6_src_swizzle_mode_mask) << SDMA_PKT_COPY_T2T_DW_6_src_swizzle_mode_shift) 1128*90df1d55SAlex Deucher 1129*90df1d55SAlex Deucher /*define for src_dimension field*/ 1130*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_src_dimension_offset 6 1131*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_src_dimension_mask 0x00000003 1132*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_src_dimension_shift 9 1133*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_SRC_DIMENSION(x) (((x) & SDMA_PKT_COPY_T2T_DW_6_src_dimension_mask) << SDMA_PKT_COPY_T2T_DW_6_src_dimension_shift) 1134*90df1d55SAlex Deucher 1135*90df1d55SAlex Deucher /*define for src_epitch field*/ 1136*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_src_epitch_offset 6 1137*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_src_epitch_mask 0x0000FFFF 1138*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_src_epitch_shift 16 1139*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_SRC_EPITCH(x) (((x) & SDMA_PKT_COPY_T2T_DW_6_src_epitch_mask) << SDMA_PKT_COPY_T2T_DW_6_src_epitch_shift) 1140*90df1d55SAlex Deucher 1141*90df1d55SAlex Deucher /*define for DST_ADDR_LO word*/ 1142*90df1d55SAlex Deucher /*define for dst_addr_31_0 field*/ 1143*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DST_ADDR_LO_dst_addr_31_0_offset 7 1144*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DST_ADDR_LO_dst_addr_31_0_mask 0xFFFFFFFF 1145*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DST_ADDR_LO_dst_addr_31_0_shift 0 1146*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DST_ADDR_LO_DST_ADDR_31_0(x) (((x) & SDMA_PKT_COPY_T2T_DST_ADDR_LO_dst_addr_31_0_mask) << SDMA_PKT_COPY_T2T_DST_ADDR_LO_dst_addr_31_0_shift) 1147*90df1d55SAlex Deucher 1148*90df1d55SAlex Deucher /*define for DST_ADDR_HI word*/ 1149*90df1d55SAlex Deucher /*define for dst_addr_63_32 field*/ 1150*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DST_ADDR_HI_dst_addr_63_32_offset 8 1151*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DST_ADDR_HI_dst_addr_63_32_mask 0xFFFFFFFF 1152*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DST_ADDR_HI_dst_addr_63_32_shift 0 1153*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DST_ADDR_HI_DST_ADDR_63_32(x) (((x) & SDMA_PKT_COPY_T2T_DST_ADDR_HI_dst_addr_63_32_mask) << SDMA_PKT_COPY_T2T_DST_ADDR_HI_dst_addr_63_32_shift) 1154*90df1d55SAlex Deucher 1155*90df1d55SAlex Deucher /*define for DW_9 word*/ 1156*90df1d55SAlex Deucher /*define for dst_x field*/ 1157*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_9_dst_x_offset 9 1158*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_9_dst_x_mask 0x00003FFF 1159*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_9_dst_x_shift 0 1160*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_9_DST_X(x) (((x) & SDMA_PKT_COPY_T2T_DW_9_dst_x_mask) << SDMA_PKT_COPY_T2T_DW_9_dst_x_shift) 1161*90df1d55SAlex Deucher 1162*90df1d55SAlex Deucher /*define for dst_y field*/ 1163*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_9_dst_y_offset 9 1164*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_9_dst_y_mask 0x00003FFF 1165*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_9_dst_y_shift 16 1166*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_9_DST_Y(x) (((x) & SDMA_PKT_COPY_T2T_DW_9_dst_y_mask) << SDMA_PKT_COPY_T2T_DW_9_dst_y_shift) 1167*90df1d55SAlex Deucher 1168*90df1d55SAlex Deucher /*define for DW_10 word*/ 1169*90df1d55SAlex Deucher /*define for dst_z field*/ 1170*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_10_dst_z_offset 10 1171*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_10_dst_z_mask 0x000007FF 1172*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_10_dst_z_shift 0 1173*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_10_DST_Z(x) (((x) & SDMA_PKT_COPY_T2T_DW_10_dst_z_mask) << SDMA_PKT_COPY_T2T_DW_10_dst_z_shift) 1174*90df1d55SAlex Deucher 1175*90df1d55SAlex Deucher /*define for dst_width field*/ 1176*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_10_dst_width_offset 10 1177*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_10_dst_width_mask 0x00003FFF 1178*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_10_dst_width_shift 16 1179*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_10_DST_WIDTH(x) (((x) & SDMA_PKT_COPY_T2T_DW_10_dst_width_mask) << SDMA_PKT_COPY_T2T_DW_10_dst_width_shift) 1180*90df1d55SAlex Deucher 1181*90df1d55SAlex Deucher /*define for DW_11 word*/ 1182*90df1d55SAlex Deucher /*define for dst_height field*/ 1183*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_11_dst_height_offset 11 1184*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_11_dst_height_mask 0x00003FFF 1185*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_11_dst_height_shift 0 1186*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_11_DST_HEIGHT(x) (((x) & SDMA_PKT_COPY_T2T_DW_11_dst_height_mask) << SDMA_PKT_COPY_T2T_DW_11_dst_height_shift) 1187*90df1d55SAlex Deucher 1188*90df1d55SAlex Deucher /*define for dst_depth field*/ 1189*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_11_dst_depth_offset 11 1190*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_11_dst_depth_mask 0x000007FF 1191*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_11_dst_depth_shift 16 1192*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_11_DST_DEPTH(x) (((x) & SDMA_PKT_COPY_T2T_DW_11_dst_depth_mask) << SDMA_PKT_COPY_T2T_DW_11_dst_depth_shift) 1193*90df1d55SAlex Deucher 1194*90df1d55SAlex Deucher /*define for DW_12 word*/ 1195*90df1d55SAlex Deucher /*define for dst_element_size field*/ 1196*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_dst_element_size_offset 12 1197*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_dst_element_size_mask 0x00000007 1198*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_dst_element_size_shift 0 1199*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_DST_ELEMENT_SIZE(x) (((x) & SDMA_PKT_COPY_T2T_DW_12_dst_element_size_mask) << SDMA_PKT_COPY_T2T_DW_12_dst_element_size_shift) 1200*90df1d55SAlex Deucher 1201*90df1d55SAlex Deucher /*define for dst_swizzle_mode field*/ 1202*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_dst_swizzle_mode_offset 12 1203*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_dst_swizzle_mode_mask 0x0000001F 1204*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_dst_swizzle_mode_shift 3 1205*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_DST_SWIZZLE_MODE(x) (((x) & SDMA_PKT_COPY_T2T_DW_12_dst_swizzle_mode_mask) << SDMA_PKT_COPY_T2T_DW_12_dst_swizzle_mode_shift) 1206*90df1d55SAlex Deucher 1207*90df1d55SAlex Deucher /*define for dst_dimension field*/ 1208*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_dst_dimension_offset 12 1209*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_dst_dimension_mask 0x00000003 1210*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_dst_dimension_shift 9 1211*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_DST_DIMENSION(x) (((x) & SDMA_PKT_COPY_T2T_DW_12_dst_dimension_mask) << SDMA_PKT_COPY_T2T_DW_12_dst_dimension_shift) 1212*90df1d55SAlex Deucher 1213*90df1d55SAlex Deucher /*define for dst_epitch field*/ 1214*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_dst_epitch_offset 12 1215*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_dst_epitch_mask 0x0000FFFF 1216*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_dst_epitch_shift 16 1217*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_DST_EPITCH(x) (((x) & SDMA_PKT_COPY_T2T_DW_12_dst_epitch_mask) << SDMA_PKT_COPY_T2T_DW_12_dst_epitch_shift) 1218*90df1d55SAlex Deucher 1219*90df1d55SAlex Deucher /*define for DW_13 word*/ 1220*90df1d55SAlex Deucher /*define for rect_x field*/ 1221*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_13_rect_x_offset 13 1222*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_13_rect_x_mask 0x00003FFF 1223*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_13_rect_x_shift 0 1224*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_13_RECT_X(x) (((x) & SDMA_PKT_COPY_T2T_DW_13_rect_x_mask) << SDMA_PKT_COPY_T2T_DW_13_rect_x_shift) 1225*90df1d55SAlex Deucher 1226*90df1d55SAlex Deucher /*define for rect_y field*/ 1227*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_13_rect_y_offset 13 1228*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_13_rect_y_mask 0x00003FFF 1229*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_13_rect_y_shift 16 1230*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_13_RECT_Y(x) (((x) & SDMA_PKT_COPY_T2T_DW_13_rect_y_mask) << SDMA_PKT_COPY_T2T_DW_13_rect_y_shift) 1231*90df1d55SAlex Deucher 1232*90df1d55SAlex Deucher /*define for DW_14 word*/ 1233*90df1d55SAlex Deucher /*define for rect_z field*/ 1234*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_14_rect_z_offset 14 1235*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_14_rect_z_mask 0x000007FF 1236*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_14_rect_z_shift 0 1237*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_14_RECT_Z(x) (((x) & SDMA_PKT_COPY_T2T_DW_14_rect_z_mask) << SDMA_PKT_COPY_T2T_DW_14_rect_z_shift) 1238*90df1d55SAlex Deucher 1239*90df1d55SAlex Deucher /*define for dst_sw field*/ 1240*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_14_dst_sw_offset 14 1241*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_14_dst_sw_mask 0x00000003 1242*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_14_dst_sw_shift 16 1243*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_14_DST_SW(x) (((x) & SDMA_PKT_COPY_T2T_DW_14_dst_sw_mask) << SDMA_PKT_COPY_T2T_DW_14_dst_sw_shift) 1244*90df1d55SAlex Deucher 1245*90df1d55SAlex Deucher /*define for src_sw field*/ 1246*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_14_src_sw_offset 14 1247*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_14_src_sw_mask 0x00000003 1248*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_14_src_sw_shift 24 1249*90df1d55SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_14_SRC_SW(x) (((x) & SDMA_PKT_COPY_T2T_DW_14_src_sw_mask) << SDMA_PKT_COPY_T2T_DW_14_src_sw_shift) 1250*90df1d55SAlex Deucher 1251*90df1d55SAlex Deucher 1252*90df1d55SAlex Deucher /* 1253*90df1d55SAlex Deucher ** Definitions for SDMA_PKT_COPY_TILED_SUBWIN packet 1254*90df1d55SAlex Deucher */ 1255*90df1d55SAlex Deucher 1256*90df1d55SAlex Deucher /*define for HEADER word*/ 1257*90df1d55SAlex Deucher /*define for op field*/ 1258*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_HEADER_op_offset 0 1259*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_HEADER_op_mask 0x000000FF 1260*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_HEADER_op_shift 0 1261*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_HEADER_OP(x) (((x) & SDMA_PKT_COPY_TILED_SUBWIN_HEADER_op_mask) << SDMA_PKT_COPY_TILED_SUBWIN_HEADER_op_shift) 1262*90df1d55SAlex Deucher 1263*90df1d55SAlex Deucher /*define for sub_op field*/ 1264*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_HEADER_sub_op_offset 0 1265*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_HEADER_sub_op_mask 0x000000FF 1266*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_HEADER_sub_op_shift 8 1267*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_HEADER_SUB_OP(x) (((x) & SDMA_PKT_COPY_TILED_SUBWIN_HEADER_sub_op_mask) << SDMA_PKT_COPY_TILED_SUBWIN_HEADER_sub_op_shift) 1268*90df1d55SAlex Deucher 1269*90df1d55SAlex Deucher /*define for tmz field*/ 1270*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_HEADER_tmz_offset 0 1271*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_HEADER_tmz_mask 0x00000001 1272*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_HEADER_tmz_shift 18 1273*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_HEADER_TMZ(x) (((x) & SDMA_PKT_COPY_TILED_SUBWIN_HEADER_tmz_mask) << SDMA_PKT_COPY_TILED_SUBWIN_HEADER_tmz_shift) 1274*90df1d55SAlex Deucher 1275*90df1d55SAlex Deucher /*define for mip_max field*/ 1276*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_HEADER_mip_max_offset 0 1277*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_HEADER_mip_max_mask 0x0000000F 1278*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_HEADER_mip_max_shift 20 1279*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_HEADER_MIP_MAX(x) (((x) & SDMA_PKT_COPY_TILED_SUBWIN_HEADER_mip_max_mask) << SDMA_PKT_COPY_TILED_SUBWIN_HEADER_mip_max_shift) 1280*90df1d55SAlex Deucher 1281*90df1d55SAlex Deucher /*define for mip_id field*/ 1282*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_HEADER_mip_id_offset 0 1283*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_HEADER_mip_id_mask 0x0000000F 1284*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_HEADER_mip_id_shift 24 1285*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_HEADER_MIP_ID(x) (((x) & SDMA_PKT_COPY_TILED_SUBWIN_HEADER_mip_id_mask) << SDMA_PKT_COPY_TILED_SUBWIN_HEADER_mip_id_shift) 1286*90df1d55SAlex Deucher 1287*90df1d55SAlex Deucher /*define for detile field*/ 1288*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_HEADER_detile_offset 0 1289*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_HEADER_detile_mask 0x00000001 1290*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_HEADER_detile_shift 31 1291*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_HEADER_DETILE(x) (((x) & SDMA_PKT_COPY_TILED_SUBWIN_HEADER_detile_mask) << SDMA_PKT_COPY_TILED_SUBWIN_HEADER_detile_shift) 1292*90df1d55SAlex Deucher 1293*90df1d55SAlex Deucher /*define for TILED_ADDR_LO word*/ 1294*90df1d55SAlex Deucher /*define for tiled_addr_31_0 field*/ 1295*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_TILED_ADDR_LO_tiled_addr_31_0_offset 1 1296*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_TILED_ADDR_LO_tiled_addr_31_0_mask 0xFFFFFFFF 1297*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_TILED_ADDR_LO_tiled_addr_31_0_shift 0 1298*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_TILED_ADDR_LO_TILED_ADDR_31_0(x) (((x) & SDMA_PKT_COPY_TILED_SUBWIN_TILED_ADDR_LO_tiled_addr_31_0_mask) << SDMA_PKT_COPY_TILED_SUBWIN_TILED_ADDR_LO_tiled_addr_31_0_shift) 1299*90df1d55SAlex Deucher 1300*90df1d55SAlex Deucher /*define for TILED_ADDR_HI word*/ 1301*90df1d55SAlex Deucher /*define for tiled_addr_63_32 field*/ 1302*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_TILED_ADDR_HI_tiled_addr_63_32_offset 2 1303*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_TILED_ADDR_HI_tiled_addr_63_32_mask 0xFFFFFFFF 1304*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_TILED_ADDR_HI_tiled_addr_63_32_shift 0 1305*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_TILED_ADDR_HI_TILED_ADDR_63_32(x) (((x) & SDMA_PKT_COPY_TILED_SUBWIN_TILED_ADDR_HI_tiled_addr_63_32_mask) << SDMA_PKT_COPY_TILED_SUBWIN_TILED_ADDR_HI_tiled_addr_63_32_shift) 1306*90df1d55SAlex Deucher 1307*90df1d55SAlex Deucher /*define for DW_3 word*/ 1308*90df1d55SAlex Deucher /*define for tiled_x field*/ 1309*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_3_tiled_x_offset 3 1310*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_3_tiled_x_mask 0x00003FFF 1311*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_3_tiled_x_shift 0 1312*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_3_TILED_X(x) (((x) & SDMA_PKT_COPY_TILED_SUBWIN_DW_3_tiled_x_mask) << SDMA_PKT_COPY_TILED_SUBWIN_DW_3_tiled_x_shift) 1313*90df1d55SAlex Deucher 1314*90df1d55SAlex Deucher /*define for tiled_y field*/ 1315*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_3_tiled_y_offset 3 1316*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_3_tiled_y_mask 0x00003FFF 1317*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_3_tiled_y_shift 16 1318*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_3_TILED_Y(x) (((x) & SDMA_PKT_COPY_TILED_SUBWIN_DW_3_tiled_y_mask) << SDMA_PKT_COPY_TILED_SUBWIN_DW_3_tiled_y_shift) 1319*90df1d55SAlex Deucher 1320*90df1d55SAlex Deucher /*define for DW_4 word*/ 1321*90df1d55SAlex Deucher /*define for tiled_z field*/ 1322*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_4_tiled_z_offset 4 1323*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_4_tiled_z_mask 0x000007FF 1324*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_4_tiled_z_shift 0 1325*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_4_TILED_Z(x) (((x) & SDMA_PKT_COPY_TILED_SUBWIN_DW_4_tiled_z_mask) << SDMA_PKT_COPY_TILED_SUBWIN_DW_4_tiled_z_shift) 1326*90df1d55SAlex Deucher 1327*90df1d55SAlex Deucher /*define for width field*/ 1328*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_4_width_offset 4 1329*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_4_width_mask 0x00003FFF 1330*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_4_width_shift 16 1331*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_4_WIDTH(x) (((x) & SDMA_PKT_COPY_TILED_SUBWIN_DW_4_width_mask) << SDMA_PKT_COPY_TILED_SUBWIN_DW_4_width_shift) 1332*90df1d55SAlex Deucher 1333*90df1d55SAlex Deucher /*define for DW_5 word*/ 1334*90df1d55SAlex Deucher /*define for height field*/ 1335*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_5_height_offset 5 1336*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_5_height_mask 0x00003FFF 1337*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_5_height_shift 0 1338*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_5_HEIGHT(x) (((x) & SDMA_PKT_COPY_TILED_SUBWIN_DW_5_height_mask) << SDMA_PKT_COPY_TILED_SUBWIN_DW_5_height_shift) 1339*90df1d55SAlex Deucher 1340*90df1d55SAlex Deucher /*define for depth field*/ 1341*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_5_depth_offset 5 1342*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_5_depth_mask 0x000007FF 1343*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_5_depth_shift 16 1344*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_5_DEPTH(x) (((x) & SDMA_PKT_COPY_TILED_SUBWIN_DW_5_depth_mask) << SDMA_PKT_COPY_TILED_SUBWIN_DW_5_depth_shift) 1345*90df1d55SAlex Deucher 1346*90df1d55SAlex Deucher /*define for DW_6 word*/ 1347*90df1d55SAlex Deucher /*define for element_size field*/ 1348*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_element_size_offset 6 1349*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_element_size_mask 0x00000007 1350*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_element_size_shift 0 1351*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_ELEMENT_SIZE(x) (((x) & SDMA_PKT_COPY_TILED_SUBWIN_DW_6_element_size_mask) << SDMA_PKT_COPY_TILED_SUBWIN_DW_6_element_size_shift) 1352*90df1d55SAlex Deucher 1353*90df1d55SAlex Deucher /*define for swizzle_mode field*/ 1354*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_swizzle_mode_offset 6 1355*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_swizzle_mode_mask 0x0000001F 1356*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_swizzle_mode_shift 3 1357*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_SWIZZLE_MODE(x) (((x) & SDMA_PKT_COPY_TILED_SUBWIN_DW_6_swizzle_mode_mask) << SDMA_PKT_COPY_TILED_SUBWIN_DW_6_swizzle_mode_shift) 1358*90df1d55SAlex Deucher 1359*90df1d55SAlex Deucher /*define for dimension field*/ 1360*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_dimension_offset 6 1361*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_dimension_mask 0x00000003 1362*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_dimension_shift 9 1363*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_DIMENSION(x) (((x) & SDMA_PKT_COPY_TILED_SUBWIN_DW_6_dimension_mask) << SDMA_PKT_COPY_TILED_SUBWIN_DW_6_dimension_shift) 1364*90df1d55SAlex Deucher 1365*90df1d55SAlex Deucher /*define for epitch field*/ 1366*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_epitch_offset 6 1367*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_epitch_mask 0x0000FFFF 1368*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_epitch_shift 16 1369*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_EPITCH(x) (((x) & SDMA_PKT_COPY_TILED_SUBWIN_DW_6_epitch_mask) << SDMA_PKT_COPY_TILED_SUBWIN_DW_6_epitch_shift) 1370*90df1d55SAlex Deucher 1371*90df1d55SAlex Deucher /*define for LINEAR_ADDR_LO word*/ 1372*90df1d55SAlex Deucher /*define for linear_addr_31_0 field*/ 1373*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_LINEAR_ADDR_LO_linear_addr_31_0_offset 7 1374*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_LINEAR_ADDR_LO_linear_addr_31_0_mask 0xFFFFFFFF 1375*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_LINEAR_ADDR_LO_linear_addr_31_0_shift 0 1376*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_LINEAR_ADDR_LO_LINEAR_ADDR_31_0(x) (((x) & SDMA_PKT_COPY_TILED_SUBWIN_LINEAR_ADDR_LO_linear_addr_31_0_mask) << SDMA_PKT_COPY_TILED_SUBWIN_LINEAR_ADDR_LO_linear_addr_31_0_shift) 1377*90df1d55SAlex Deucher 1378*90df1d55SAlex Deucher /*define for LINEAR_ADDR_HI word*/ 1379*90df1d55SAlex Deucher /*define for linear_addr_63_32 field*/ 1380*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_LINEAR_ADDR_HI_linear_addr_63_32_offset 8 1381*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_LINEAR_ADDR_HI_linear_addr_63_32_mask 0xFFFFFFFF 1382*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_LINEAR_ADDR_HI_linear_addr_63_32_shift 0 1383*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_LINEAR_ADDR_HI_LINEAR_ADDR_63_32(x) (((x) & SDMA_PKT_COPY_TILED_SUBWIN_LINEAR_ADDR_HI_linear_addr_63_32_mask) << SDMA_PKT_COPY_TILED_SUBWIN_LINEAR_ADDR_HI_linear_addr_63_32_shift) 1384*90df1d55SAlex Deucher 1385*90df1d55SAlex Deucher /*define for DW_9 word*/ 1386*90df1d55SAlex Deucher /*define for linear_x field*/ 1387*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_9_linear_x_offset 9 1388*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_9_linear_x_mask 0x00003FFF 1389*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_9_linear_x_shift 0 1390*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_9_LINEAR_X(x) (((x) & SDMA_PKT_COPY_TILED_SUBWIN_DW_9_linear_x_mask) << SDMA_PKT_COPY_TILED_SUBWIN_DW_9_linear_x_shift) 1391*90df1d55SAlex Deucher 1392*90df1d55SAlex Deucher /*define for linear_y field*/ 1393*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_9_linear_y_offset 9 1394*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_9_linear_y_mask 0x00003FFF 1395*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_9_linear_y_shift 16 1396*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_9_LINEAR_Y(x) (((x) & SDMA_PKT_COPY_TILED_SUBWIN_DW_9_linear_y_mask) << SDMA_PKT_COPY_TILED_SUBWIN_DW_9_linear_y_shift) 1397*90df1d55SAlex Deucher 1398*90df1d55SAlex Deucher /*define for DW_10 word*/ 1399*90df1d55SAlex Deucher /*define for linear_z field*/ 1400*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_10_linear_z_offset 10 1401*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_10_linear_z_mask 0x000007FF 1402*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_10_linear_z_shift 0 1403*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_10_LINEAR_Z(x) (((x) & SDMA_PKT_COPY_TILED_SUBWIN_DW_10_linear_z_mask) << SDMA_PKT_COPY_TILED_SUBWIN_DW_10_linear_z_shift) 1404*90df1d55SAlex Deucher 1405*90df1d55SAlex Deucher /*define for linear_pitch field*/ 1406*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_10_linear_pitch_offset 10 1407*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_10_linear_pitch_mask 0x00003FFF 1408*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_10_linear_pitch_shift 16 1409*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_10_LINEAR_PITCH(x) (((x) & SDMA_PKT_COPY_TILED_SUBWIN_DW_10_linear_pitch_mask) << SDMA_PKT_COPY_TILED_SUBWIN_DW_10_linear_pitch_shift) 1410*90df1d55SAlex Deucher 1411*90df1d55SAlex Deucher /*define for DW_11 word*/ 1412*90df1d55SAlex Deucher /*define for linear_slice_pitch field*/ 1413*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_11_linear_slice_pitch_offset 11 1414*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_11_linear_slice_pitch_mask 0x0FFFFFFF 1415*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_11_linear_slice_pitch_shift 0 1416*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_11_LINEAR_SLICE_PITCH(x) (((x) & SDMA_PKT_COPY_TILED_SUBWIN_DW_11_linear_slice_pitch_mask) << SDMA_PKT_COPY_TILED_SUBWIN_DW_11_linear_slice_pitch_shift) 1417*90df1d55SAlex Deucher 1418*90df1d55SAlex Deucher /*define for DW_12 word*/ 1419*90df1d55SAlex Deucher /*define for rect_x field*/ 1420*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_12_rect_x_offset 12 1421*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_12_rect_x_mask 0x00003FFF 1422*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_12_rect_x_shift 0 1423*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_12_RECT_X(x) (((x) & SDMA_PKT_COPY_TILED_SUBWIN_DW_12_rect_x_mask) << SDMA_PKT_COPY_TILED_SUBWIN_DW_12_rect_x_shift) 1424*90df1d55SAlex Deucher 1425*90df1d55SAlex Deucher /*define for rect_y field*/ 1426*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_12_rect_y_offset 12 1427*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_12_rect_y_mask 0x00003FFF 1428*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_12_rect_y_shift 16 1429*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_12_RECT_Y(x) (((x) & SDMA_PKT_COPY_TILED_SUBWIN_DW_12_rect_y_mask) << SDMA_PKT_COPY_TILED_SUBWIN_DW_12_rect_y_shift) 1430*90df1d55SAlex Deucher 1431*90df1d55SAlex Deucher /*define for DW_13 word*/ 1432*90df1d55SAlex Deucher /*define for rect_z field*/ 1433*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_13_rect_z_offset 13 1434*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_13_rect_z_mask 0x000007FF 1435*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_13_rect_z_shift 0 1436*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_13_RECT_Z(x) (((x) & SDMA_PKT_COPY_TILED_SUBWIN_DW_13_rect_z_mask) << SDMA_PKT_COPY_TILED_SUBWIN_DW_13_rect_z_shift) 1437*90df1d55SAlex Deucher 1438*90df1d55SAlex Deucher /*define for linear_sw field*/ 1439*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_13_linear_sw_offset 13 1440*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_13_linear_sw_mask 0x00000003 1441*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_13_linear_sw_shift 16 1442*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_13_LINEAR_SW(x) (((x) & SDMA_PKT_COPY_TILED_SUBWIN_DW_13_linear_sw_mask) << SDMA_PKT_COPY_TILED_SUBWIN_DW_13_linear_sw_shift) 1443*90df1d55SAlex Deucher 1444*90df1d55SAlex Deucher /*define for tile_sw field*/ 1445*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_13_tile_sw_offset 13 1446*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_13_tile_sw_mask 0x00000003 1447*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_13_tile_sw_shift 24 1448*90df1d55SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_13_TILE_SW(x) (((x) & SDMA_PKT_COPY_TILED_SUBWIN_DW_13_tile_sw_mask) << SDMA_PKT_COPY_TILED_SUBWIN_DW_13_tile_sw_shift) 1449*90df1d55SAlex Deucher 1450*90df1d55SAlex Deucher 1451*90df1d55SAlex Deucher /* 1452*90df1d55SAlex Deucher ** Definitions for SDMA_PKT_COPY_STRUCT packet 1453*90df1d55SAlex Deucher */ 1454*90df1d55SAlex Deucher 1455*90df1d55SAlex Deucher /*define for HEADER word*/ 1456*90df1d55SAlex Deucher /*define for op field*/ 1457*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_HEADER_op_offset 0 1458*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_HEADER_op_mask 0x000000FF 1459*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_HEADER_op_shift 0 1460*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_HEADER_OP(x) (((x) & SDMA_PKT_COPY_STRUCT_HEADER_op_mask) << SDMA_PKT_COPY_STRUCT_HEADER_op_shift) 1461*90df1d55SAlex Deucher 1462*90df1d55SAlex Deucher /*define for sub_op field*/ 1463*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_HEADER_sub_op_offset 0 1464*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_HEADER_sub_op_mask 0x000000FF 1465*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_HEADER_sub_op_shift 8 1466*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_HEADER_SUB_OP(x) (((x) & SDMA_PKT_COPY_STRUCT_HEADER_sub_op_mask) << SDMA_PKT_COPY_STRUCT_HEADER_sub_op_shift) 1467*90df1d55SAlex Deucher 1468*90df1d55SAlex Deucher /*define for tmz field*/ 1469*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_HEADER_tmz_offset 0 1470*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_HEADER_tmz_mask 0x00000001 1471*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_HEADER_tmz_shift 18 1472*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_HEADER_TMZ(x) (((x) & SDMA_PKT_COPY_STRUCT_HEADER_tmz_mask) << SDMA_PKT_COPY_STRUCT_HEADER_tmz_shift) 1473*90df1d55SAlex Deucher 1474*90df1d55SAlex Deucher /*define for detile field*/ 1475*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_HEADER_detile_offset 0 1476*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_HEADER_detile_mask 0x00000001 1477*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_HEADER_detile_shift 31 1478*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_HEADER_DETILE(x) (((x) & SDMA_PKT_COPY_STRUCT_HEADER_detile_mask) << SDMA_PKT_COPY_STRUCT_HEADER_detile_shift) 1479*90df1d55SAlex Deucher 1480*90df1d55SAlex Deucher /*define for SB_ADDR_LO word*/ 1481*90df1d55SAlex Deucher /*define for sb_addr_31_0 field*/ 1482*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_SB_ADDR_LO_sb_addr_31_0_offset 1 1483*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_SB_ADDR_LO_sb_addr_31_0_mask 0xFFFFFFFF 1484*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_SB_ADDR_LO_sb_addr_31_0_shift 0 1485*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_SB_ADDR_LO_SB_ADDR_31_0(x) (((x) & SDMA_PKT_COPY_STRUCT_SB_ADDR_LO_sb_addr_31_0_mask) << SDMA_PKT_COPY_STRUCT_SB_ADDR_LO_sb_addr_31_0_shift) 1486*90df1d55SAlex Deucher 1487*90df1d55SAlex Deucher /*define for SB_ADDR_HI word*/ 1488*90df1d55SAlex Deucher /*define for sb_addr_63_32 field*/ 1489*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_SB_ADDR_HI_sb_addr_63_32_offset 2 1490*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_SB_ADDR_HI_sb_addr_63_32_mask 0xFFFFFFFF 1491*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_SB_ADDR_HI_sb_addr_63_32_shift 0 1492*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_SB_ADDR_HI_SB_ADDR_63_32(x) (((x) & SDMA_PKT_COPY_STRUCT_SB_ADDR_HI_sb_addr_63_32_mask) << SDMA_PKT_COPY_STRUCT_SB_ADDR_HI_sb_addr_63_32_shift) 1493*90df1d55SAlex Deucher 1494*90df1d55SAlex Deucher /*define for START_INDEX word*/ 1495*90df1d55SAlex Deucher /*define for start_index field*/ 1496*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_START_INDEX_start_index_offset 3 1497*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_START_INDEX_start_index_mask 0xFFFFFFFF 1498*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_START_INDEX_start_index_shift 0 1499*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_START_INDEX_START_INDEX(x) (((x) & SDMA_PKT_COPY_STRUCT_START_INDEX_start_index_mask) << SDMA_PKT_COPY_STRUCT_START_INDEX_start_index_shift) 1500*90df1d55SAlex Deucher 1501*90df1d55SAlex Deucher /*define for COUNT word*/ 1502*90df1d55SAlex Deucher /*define for count field*/ 1503*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_COUNT_count_offset 4 1504*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_COUNT_count_mask 0xFFFFFFFF 1505*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_COUNT_count_shift 0 1506*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_COUNT_COUNT(x) (((x) & SDMA_PKT_COPY_STRUCT_COUNT_count_mask) << SDMA_PKT_COPY_STRUCT_COUNT_count_shift) 1507*90df1d55SAlex Deucher 1508*90df1d55SAlex Deucher /*define for DW_5 word*/ 1509*90df1d55SAlex Deucher /*define for stride field*/ 1510*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_DW_5_stride_offset 5 1511*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_DW_5_stride_mask 0x000007FF 1512*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_DW_5_stride_shift 0 1513*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_DW_5_STRIDE(x) (((x) & SDMA_PKT_COPY_STRUCT_DW_5_stride_mask) << SDMA_PKT_COPY_STRUCT_DW_5_stride_shift) 1514*90df1d55SAlex Deucher 1515*90df1d55SAlex Deucher /*define for linear_sw field*/ 1516*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_DW_5_linear_sw_offset 5 1517*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_DW_5_linear_sw_mask 0x00000003 1518*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_DW_5_linear_sw_shift 16 1519*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_DW_5_LINEAR_SW(x) (((x) & SDMA_PKT_COPY_STRUCT_DW_5_linear_sw_mask) << SDMA_PKT_COPY_STRUCT_DW_5_linear_sw_shift) 1520*90df1d55SAlex Deucher 1521*90df1d55SAlex Deucher /*define for struct_sw field*/ 1522*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_DW_5_struct_sw_offset 5 1523*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_DW_5_struct_sw_mask 0x00000003 1524*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_DW_5_struct_sw_shift 24 1525*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_DW_5_STRUCT_SW(x) (((x) & SDMA_PKT_COPY_STRUCT_DW_5_struct_sw_mask) << SDMA_PKT_COPY_STRUCT_DW_5_struct_sw_shift) 1526*90df1d55SAlex Deucher 1527*90df1d55SAlex Deucher /*define for LINEAR_ADDR_LO word*/ 1528*90df1d55SAlex Deucher /*define for linear_addr_31_0 field*/ 1529*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_LINEAR_ADDR_LO_linear_addr_31_0_offset 6 1530*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_LINEAR_ADDR_LO_linear_addr_31_0_mask 0xFFFFFFFF 1531*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_LINEAR_ADDR_LO_linear_addr_31_0_shift 0 1532*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_LINEAR_ADDR_LO_LINEAR_ADDR_31_0(x) (((x) & SDMA_PKT_COPY_STRUCT_LINEAR_ADDR_LO_linear_addr_31_0_mask) << SDMA_PKT_COPY_STRUCT_LINEAR_ADDR_LO_linear_addr_31_0_shift) 1533*90df1d55SAlex Deucher 1534*90df1d55SAlex Deucher /*define for LINEAR_ADDR_HI word*/ 1535*90df1d55SAlex Deucher /*define for linear_addr_63_32 field*/ 1536*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_LINEAR_ADDR_HI_linear_addr_63_32_offset 7 1537*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_LINEAR_ADDR_HI_linear_addr_63_32_mask 0xFFFFFFFF 1538*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_LINEAR_ADDR_HI_linear_addr_63_32_shift 0 1539*90df1d55SAlex Deucher #define SDMA_PKT_COPY_STRUCT_LINEAR_ADDR_HI_LINEAR_ADDR_63_32(x) (((x) & SDMA_PKT_COPY_STRUCT_LINEAR_ADDR_HI_linear_addr_63_32_mask) << SDMA_PKT_COPY_STRUCT_LINEAR_ADDR_HI_linear_addr_63_32_shift) 1540*90df1d55SAlex Deucher 1541*90df1d55SAlex Deucher 1542*90df1d55SAlex Deucher /* 1543*90df1d55SAlex Deucher ** Definitions for SDMA_PKT_WRITE_UNTILED packet 1544*90df1d55SAlex Deucher */ 1545*90df1d55SAlex Deucher 1546*90df1d55SAlex Deucher /*define for HEADER word*/ 1547*90df1d55SAlex Deucher /*define for op field*/ 1548*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_HEADER_op_offset 0 1549*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_HEADER_op_mask 0x000000FF 1550*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_HEADER_op_shift 0 1551*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_HEADER_OP(x) (((x) & SDMA_PKT_WRITE_UNTILED_HEADER_op_mask) << SDMA_PKT_WRITE_UNTILED_HEADER_op_shift) 1552*90df1d55SAlex Deucher 1553*90df1d55SAlex Deucher /*define for sub_op field*/ 1554*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_HEADER_sub_op_offset 0 1555*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_HEADER_sub_op_mask 0x000000FF 1556*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_HEADER_sub_op_shift 8 1557*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_HEADER_SUB_OP(x) (((x) & SDMA_PKT_WRITE_UNTILED_HEADER_sub_op_mask) << SDMA_PKT_WRITE_UNTILED_HEADER_sub_op_shift) 1558*90df1d55SAlex Deucher 1559*90df1d55SAlex Deucher /*define for encrypt field*/ 1560*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_HEADER_encrypt_offset 0 1561*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_HEADER_encrypt_mask 0x00000001 1562*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_HEADER_encrypt_shift 16 1563*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_HEADER_ENCRYPT(x) (((x) & SDMA_PKT_WRITE_UNTILED_HEADER_encrypt_mask) << SDMA_PKT_WRITE_UNTILED_HEADER_encrypt_shift) 1564*90df1d55SAlex Deucher 1565*90df1d55SAlex Deucher /*define for tmz field*/ 1566*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_HEADER_tmz_offset 0 1567*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_HEADER_tmz_mask 0x00000001 1568*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_HEADER_tmz_shift 18 1569*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_HEADER_TMZ(x) (((x) & SDMA_PKT_WRITE_UNTILED_HEADER_tmz_mask) << SDMA_PKT_WRITE_UNTILED_HEADER_tmz_shift) 1570*90df1d55SAlex Deucher 1571*90df1d55SAlex Deucher /*define for DST_ADDR_LO word*/ 1572*90df1d55SAlex Deucher /*define for dst_addr_31_0 field*/ 1573*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_DST_ADDR_LO_dst_addr_31_0_offset 1 1574*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_DST_ADDR_LO_dst_addr_31_0_mask 0xFFFFFFFF 1575*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_DST_ADDR_LO_dst_addr_31_0_shift 0 1576*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_DST_ADDR_LO_DST_ADDR_31_0(x) (((x) & SDMA_PKT_WRITE_UNTILED_DST_ADDR_LO_dst_addr_31_0_mask) << SDMA_PKT_WRITE_UNTILED_DST_ADDR_LO_dst_addr_31_0_shift) 1577*90df1d55SAlex Deucher 1578*90df1d55SAlex Deucher /*define for DST_ADDR_HI word*/ 1579*90df1d55SAlex Deucher /*define for dst_addr_63_32 field*/ 1580*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_DST_ADDR_HI_dst_addr_63_32_offset 2 1581*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_DST_ADDR_HI_dst_addr_63_32_mask 0xFFFFFFFF 1582*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_DST_ADDR_HI_dst_addr_63_32_shift 0 1583*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_DST_ADDR_HI_DST_ADDR_63_32(x) (((x) & SDMA_PKT_WRITE_UNTILED_DST_ADDR_HI_dst_addr_63_32_mask) << SDMA_PKT_WRITE_UNTILED_DST_ADDR_HI_dst_addr_63_32_shift) 1584*90df1d55SAlex Deucher 1585*90df1d55SAlex Deucher /*define for DW_3 word*/ 1586*90df1d55SAlex Deucher /*define for count field*/ 1587*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_DW_3_count_offset 3 1588*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_DW_3_count_mask 0x000FFFFF 1589*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_DW_3_count_shift 0 1590*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_DW_3_COUNT(x) (((x) & SDMA_PKT_WRITE_UNTILED_DW_3_count_mask) << SDMA_PKT_WRITE_UNTILED_DW_3_count_shift) 1591*90df1d55SAlex Deucher 1592*90df1d55SAlex Deucher /*define for sw field*/ 1593*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_DW_3_sw_offset 3 1594*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_DW_3_sw_mask 0x00000003 1595*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_DW_3_sw_shift 24 1596*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_DW_3_SW(x) (((x) & SDMA_PKT_WRITE_UNTILED_DW_3_sw_mask) << SDMA_PKT_WRITE_UNTILED_DW_3_sw_shift) 1597*90df1d55SAlex Deucher 1598*90df1d55SAlex Deucher /*define for DATA0 word*/ 1599*90df1d55SAlex Deucher /*define for data0 field*/ 1600*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_DATA0_data0_offset 4 1601*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_DATA0_data0_mask 0xFFFFFFFF 1602*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_DATA0_data0_shift 0 1603*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_DATA0_DATA0(x) (((x) & SDMA_PKT_WRITE_UNTILED_DATA0_data0_mask) << SDMA_PKT_WRITE_UNTILED_DATA0_data0_shift) 1604*90df1d55SAlex Deucher 1605*90df1d55SAlex Deucher 1606*90df1d55SAlex Deucher /* 1607*90df1d55SAlex Deucher ** Definitions for SDMA_PKT_WRITE_TILED packet 1608*90df1d55SAlex Deucher */ 1609*90df1d55SAlex Deucher 1610*90df1d55SAlex Deucher /*define for HEADER word*/ 1611*90df1d55SAlex Deucher /*define for op field*/ 1612*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_HEADER_op_offset 0 1613*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_HEADER_op_mask 0x000000FF 1614*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_HEADER_op_shift 0 1615*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_HEADER_OP(x) (((x) & SDMA_PKT_WRITE_TILED_HEADER_op_mask) << SDMA_PKT_WRITE_TILED_HEADER_op_shift) 1616*90df1d55SAlex Deucher 1617*90df1d55SAlex Deucher /*define for sub_op field*/ 1618*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_HEADER_sub_op_offset 0 1619*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_HEADER_sub_op_mask 0x000000FF 1620*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_HEADER_sub_op_shift 8 1621*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_HEADER_SUB_OP(x) (((x) & SDMA_PKT_WRITE_TILED_HEADER_sub_op_mask) << SDMA_PKT_WRITE_TILED_HEADER_sub_op_shift) 1622*90df1d55SAlex Deucher 1623*90df1d55SAlex Deucher /*define for encrypt field*/ 1624*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_HEADER_encrypt_offset 0 1625*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_HEADER_encrypt_mask 0x00000001 1626*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_HEADER_encrypt_shift 16 1627*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_HEADER_ENCRYPT(x) (((x) & SDMA_PKT_WRITE_TILED_HEADER_encrypt_mask) << SDMA_PKT_WRITE_TILED_HEADER_encrypt_shift) 1628*90df1d55SAlex Deucher 1629*90df1d55SAlex Deucher /*define for tmz field*/ 1630*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_HEADER_tmz_offset 0 1631*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_HEADER_tmz_mask 0x00000001 1632*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_HEADER_tmz_shift 18 1633*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_HEADER_TMZ(x) (((x) & SDMA_PKT_WRITE_TILED_HEADER_tmz_mask) << SDMA_PKT_WRITE_TILED_HEADER_tmz_shift) 1634*90df1d55SAlex Deucher 1635*90df1d55SAlex Deucher /*define for mip_max field*/ 1636*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_HEADER_mip_max_offset 0 1637*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_HEADER_mip_max_mask 0x0000000F 1638*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_HEADER_mip_max_shift 20 1639*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_HEADER_MIP_MAX(x) (((x) & SDMA_PKT_WRITE_TILED_HEADER_mip_max_mask) << SDMA_PKT_WRITE_TILED_HEADER_mip_max_shift) 1640*90df1d55SAlex Deucher 1641*90df1d55SAlex Deucher /*define for DST_ADDR_LO word*/ 1642*90df1d55SAlex Deucher /*define for dst_addr_31_0 field*/ 1643*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DST_ADDR_LO_dst_addr_31_0_offset 1 1644*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DST_ADDR_LO_dst_addr_31_0_mask 0xFFFFFFFF 1645*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DST_ADDR_LO_dst_addr_31_0_shift 0 1646*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DST_ADDR_LO_DST_ADDR_31_0(x) (((x) & SDMA_PKT_WRITE_TILED_DST_ADDR_LO_dst_addr_31_0_mask) << SDMA_PKT_WRITE_TILED_DST_ADDR_LO_dst_addr_31_0_shift) 1647*90df1d55SAlex Deucher 1648*90df1d55SAlex Deucher /*define for DST_ADDR_HI word*/ 1649*90df1d55SAlex Deucher /*define for dst_addr_63_32 field*/ 1650*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DST_ADDR_HI_dst_addr_63_32_offset 2 1651*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DST_ADDR_HI_dst_addr_63_32_mask 0xFFFFFFFF 1652*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DST_ADDR_HI_dst_addr_63_32_shift 0 1653*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DST_ADDR_HI_DST_ADDR_63_32(x) (((x) & SDMA_PKT_WRITE_TILED_DST_ADDR_HI_dst_addr_63_32_mask) << SDMA_PKT_WRITE_TILED_DST_ADDR_HI_dst_addr_63_32_shift) 1654*90df1d55SAlex Deucher 1655*90df1d55SAlex Deucher /*define for DW_3 word*/ 1656*90df1d55SAlex Deucher /*define for width field*/ 1657*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_3_width_offset 3 1658*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_3_width_mask 0x00003FFF 1659*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_3_width_shift 0 1660*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_3_WIDTH(x) (((x) & SDMA_PKT_WRITE_TILED_DW_3_width_mask) << SDMA_PKT_WRITE_TILED_DW_3_width_shift) 1661*90df1d55SAlex Deucher 1662*90df1d55SAlex Deucher /*define for DW_4 word*/ 1663*90df1d55SAlex Deucher /*define for height field*/ 1664*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_4_height_offset 4 1665*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_4_height_mask 0x00003FFF 1666*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_4_height_shift 0 1667*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_4_HEIGHT(x) (((x) & SDMA_PKT_WRITE_TILED_DW_4_height_mask) << SDMA_PKT_WRITE_TILED_DW_4_height_shift) 1668*90df1d55SAlex Deucher 1669*90df1d55SAlex Deucher /*define for depth field*/ 1670*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_4_depth_offset 4 1671*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_4_depth_mask 0x000007FF 1672*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_4_depth_shift 16 1673*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_4_DEPTH(x) (((x) & SDMA_PKT_WRITE_TILED_DW_4_depth_mask) << SDMA_PKT_WRITE_TILED_DW_4_depth_shift) 1674*90df1d55SAlex Deucher 1675*90df1d55SAlex Deucher /*define for DW_5 word*/ 1676*90df1d55SAlex Deucher /*define for element_size field*/ 1677*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_element_size_offset 5 1678*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_element_size_mask 0x00000007 1679*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_element_size_shift 0 1680*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_ELEMENT_SIZE(x) (((x) & SDMA_PKT_WRITE_TILED_DW_5_element_size_mask) << SDMA_PKT_WRITE_TILED_DW_5_element_size_shift) 1681*90df1d55SAlex Deucher 1682*90df1d55SAlex Deucher /*define for swizzle_mode field*/ 1683*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_swizzle_mode_offset 5 1684*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_swizzle_mode_mask 0x0000001F 1685*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_swizzle_mode_shift 3 1686*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_SWIZZLE_MODE(x) (((x) & SDMA_PKT_WRITE_TILED_DW_5_swizzle_mode_mask) << SDMA_PKT_WRITE_TILED_DW_5_swizzle_mode_shift) 1687*90df1d55SAlex Deucher 1688*90df1d55SAlex Deucher /*define for dimension field*/ 1689*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_dimension_offset 5 1690*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_dimension_mask 0x00000003 1691*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_dimension_shift 9 1692*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_DIMENSION(x) (((x) & SDMA_PKT_WRITE_TILED_DW_5_dimension_mask) << SDMA_PKT_WRITE_TILED_DW_5_dimension_shift) 1693*90df1d55SAlex Deucher 1694*90df1d55SAlex Deucher /*define for epitch field*/ 1695*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_epitch_offset 5 1696*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_epitch_mask 0x0000FFFF 1697*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_epitch_shift 16 1698*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_EPITCH(x) (((x) & SDMA_PKT_WRITE_TILED_DW_5_epitch_mask) << SDMA_PKT_WRITE_TILED_DW_5_epitch_shift) 1699*90df1d55SAlex Deucher 1700*90df1d55SAlex Deucher /*define for DW_6 word*/ 1701*90df1d55SAlex Deucher /*define for x field*/ 1702*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_6_x_offset 6 1703*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_6_x_mask 0x00003FFF 1704*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_6_x_shift 0 1705*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_6_X(x) (((x) & SDMA_PKT_WRITE_TILED_DW_6_x_mask) << SDMA_PKT_WRITE_TILED_DW_6_x_shift) 1706*90df1d55SAlex Deucher 1707*90df1d55SAlex Deucher /*define for y field*/ 1708*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_6_y_offset 6 1709*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_6_y_mask 0x00003FFF 1710*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_6_y_shift 16 1711*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_6_Y(x) (((x) & SDMA_PKT_WRITE_TILED_DW_6_y_mask) << SDMA_PKT_WRITE_TILED_DW_6_y_shift) 1712*90df1d55SAlex Deucher 1713*90df1d55SAlex Deucher /*define for DW_7 word*/ 1714*90df1d55SAlex Deucher /*define for z field*/ 1715*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_7_z_offset 7 1716*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_7_z_mask 0x000007FF 1717*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_7_z_shift 0 1718*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_7_Z(x) (((x) & SDMA_PKT_WRITE_TILED_DW_7_z_mask) << SDMA_PKT_WRITE_TILED_DW_7_z_shift) 1719*90df1d55SAlex Deucher 1720*90df1d55SAlex Deucher /*define for sw field*/ 1721*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_7_sw_offset 7 1722*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_7_sw_mask 0x00000003 1723*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_7_sw_shift 24 1724*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_7_SW(x) (((x) & SDMA_PKT_WRITE_TILED_DW_7_sw_mask) << SDMA_PKT_WRITE_TILED_DW_7_sw_shift) 1725*90df1d55SAlex Deucher 1726*90df1d55SAlex Deucher /*define for COUNT word*/ 1727*90df1d55SAlex Deucher /*define for count field*/ 1728*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_COUNT_count_offset 8 1729*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_COUNT_count_mask 0x000FFFFF 1730*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_COUNT_count_shift 0 1731*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_COUNT_COUNT(x) (((x) & SDMA_PKT_WRITE_TILED_COUNT_count_mask) << SDMA_PKT_WRITE_TILED_COUNT_count_shift) 1732*90df1d55SAlex Deucher 1733*90df1d55SAlex Deucher /*define for DATA0 word*/ 1734*90df1d55SAlex Deucher /*define for data0 field*/ 1735*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DATA0_data0_offset 9 1736*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DATA0_data0_mask 0xFFFFFFFF 1737*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DATA0_data0_shift 0 1738*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_TILED_DATA0_DATA0(x) (((x) & SDMA_PKT_WRITE_TILED_DATA0_data0_mask) << SDMA_PKT_WRITE_TILED_DATA0_data0_shift) 1739*90df1d55SAlex Deucher 1740*90df1d55SAlex Deucher 1741*90df1d55SAlex Deucher /* 1742*90df1d55SAlex Deucher ** Definitions for SDMA_PKT_PTEPDE_COPY packet 1743*90df1d55SAlex Deucher */ 1744*90df1d55SAlex Deucher 1745*90df1d55SAlex Deucher /*define for HEADER word*/ 1746*90df1d55SAlex Deucher /*define for op field*/ 1747*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_HEADER_op_offset 0 1748*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_HEADER_op_mask 0x000000FF 1749*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_HEADER_op_shift 0 1750*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_HEADER_OP(x) (((x) & SDMA_PKT_PTEPDE_COPY_HEADER_op_mask) << SDMA_PKT_PTEPDE_COPY_HEADER_op_shift) 1751*90df1d55SAlex Deucher 1752*90df1d55SAlex Deucher /*define for sub_op field*/ 1753*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_HEADER_sub_op_offset 0 1754*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_HEADER_sub_op_mask 0x000000FF 1755*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_HEADER_sub_op_shift 8 1756*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_HEADER_SUB_OP(x) (((x) & SDMA_PKT_PTEPDE_COPY_HEADER_sub_op_mask) << SDMA_PKT_PTEPDE_COPY_HEADER_sub_op_shift) 1757*90df1d55SAlex Deucher 1758*90df1d55SAlex Deucher /*define for ptepde_op field*/ 1759*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_HEADER_ptepde_op_offset 0 1760*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_HEADER_ptepde_op_mask 0x00000001 1761*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_HEADER_ptepde_op_shift 31 1762*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_HEADER_PTEPDE_OP(x) (((x) & SDMA_PKT_PTEPDE_COPY_HEADER_ptepde_op_mask) << SDMA_PKT_PTEPDE_COPY_HEADER_ptepde_op_shift) 1763*90df1d55SAlex Deucher 1764*90df1d55SAlex Deucher /*define for SRC_ADDR_LO word*/ 1765*90df1d55SAlex Deucher /*define for src_addr_31_0 field*/ 1766*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_SRC_ADDR_LO_src_addr_31_0_offset 1 1767*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_SRC_ADDR_LO_src_addr_31_0_mask 0xFFFFFFFF 1768*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_SRC_ADDR_LO_src_addr_31_0_shift 0 1769*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_SRC_ADDR_LO_SRC_ADDR_31_0(x) (((x) & SDMA_PKT_PTEPDE_COPY_SRC_ADDR_LO_src_addr_31_0_mask) << SDMA_PKT_PTEPDE_COPY_SRC_ADDR_LO_src_addr_31_0_shift) 1770*90df1d55SAlex Deucher 1771*90df1d55SAlex Deucher /*define for SRC_ADDR_HI word*/ 1772*90df1d55SAlex Deucher /*define for src_addr_63_32 field*/ 1773*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_SRC_ADDR_HI_src_addr_63_32_offset 2 1774*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_SRC_ADDR_HI_src_addr_63_32_mask 0xFFFFFFFF 1775*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_SRC_ADDR_HI_src_addr_63_32_shift 0 1776*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_SRC_ADDR_HI_SRC_ADDR_63_32(x) (((x) & SDMA_PKT_PTEPDE_COPY_SRC_ADDR_HI_src_addr_63_32_mask) << SDMA_PKT_PTEPDE_COPY_SRC_ADDR_HI_src_addr_63_32_shift) 1777*90df1d55SAlex Deucher 1778*90df1d55SAlex Deucher /*define for DST_ADDR_LO word*/ 1779*90df1d55SAlex Deucher /*define for dst_addr_31_0 field*/ 1780*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_DST_ADDR_LO_dst_addr_31_0_offset 3 1781*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_DST_ADDR_LO_dst_addr_31_0_mask 0xFFFFFFFF 1782*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_DST_ADDR_LO_dst_addr_31_0_shift 0 1783*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_DST_ADDR_LO_DST_ADDR_31_0(x) (((x) & SDMA_PKT_PTEPDE_COPY_DST_ADDR_LO_dst_addr_31_0_mask) << SDMA_PKT_PTEPDE_COPY_DST_ADDR_LO_dst_addr_31_0_shift) 1784*90df1d55SAlex Deucher 1785*90df1d55SAlex Deucher /*define for DST_ADDR_HI word*/ 1786*90df1d55SAlex Deucher /*define for dst_addr_63_32 field*/ 1787*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_DST_ADDR_HI_dst_addr_63_32_offset 4 1788*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_DST_ADDR_HI_dst_addr_63_32_mask 0xFFFFFFFF 1789*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_DST_ADDR_HI_dst_addr_63_32_shift 0 1790*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_DST_ADDR_HI_DST_ADDR_63_32(x) (((x) & SDMA_PKT_PTEPDE_COPY_DST_ADDR_HI_dst_addr_63_32_mask) << SDMA_PKT_PTEPDE_COPY_DST_ADDR_HI_dst_addr_63_32_shift) 1791*90df1d55SAlex Deucher 1792*90df1d55SAlex Deucher /*define for MASK_DW0 word*/ 1793*90df1d55SAlex Deucher /*define for mask_dw0 field*/ 1794*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_MASK_DW0_mask_dw0_offset 5 1795*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_MASK_DW0_mask_dw0_mask 0xFFFFFFFF 1796*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_MASK_DW0_mask_dw0_shift 0 1797*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_MASK_DW0_MASK_DW0(x) (((x) & SDMA_PKT_PTEPDE_COPY_MASK_DW0_mask_dw0_mask) << SDMA_PKT_PTEPDE_COPY_MASK_DW0_mask_dw0_shift) 1798*90df1d55SAlex Deucher 1799*90df1d55SAlex Deucher /*define for MASK_DW1 word*/ 1800*90df1d55SAlex Deucher /*define for mask_dw1 field*/ 1801*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_MASK_DW1_mask_dw1_offset 6 1802*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_MASK_DW1_mask_dw1_mask 0xFFFFFFFF 1803*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_MASK_DW1_mask_dw1_shift 0 1804*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_MASK_DW1_MASK_DW1(x) (((x) & SDMA_PKT_PTEPDE_COPY_MASK_DW1_mask_dw1_mask) << SDMA_PKT_PTEPDE_COPY_MASK_DW1_mask_dw1_shift) 1805*90df1d55SAlex Deucher 1806*90df1d55SAlex Deucher /*define for COUNT word*/ 1807*90df1d55SAlex Deucher /*define for count field*/ 1808*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_COUNT_count_offset 7 1809*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_COUNT_count_mask 0x0007FFFF 1810*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_COUNT_count_shift 0 1811*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_COUNT_COUNT(x) (((x) & SDMA_PKT_PTEPDE_COPY_COUNT_count_mask) << SDMA_PKT_PTEPDE_COPY_COUNT_count_shift) 1812*90df1d55SAlex Deucher 1813*90df1d55SAlex Deucher 1814*90df1d55SAlex Deucher /* 1815*90df1d55SAlex Deucher ** Definitions for SDMA_PKT_PTEPDE_COPY_BACKWARDS packet 1816*90df1d55SAlex Deucher */ 1817*90df1d55SAlex Deucher 1818*90df1d55SAlex Deucher /*define for HEADER word*/ 1819*90df1d55SAlex Deucher /*define for op field*/ 1820*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_HEADER_op_offset 0 1821*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_HEADER_op_mask 0x000000FF 1822*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_HEADER_op_shift 0 1823*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_HEADER_OP(x) (((x) & SDMA_PKT_PTEPDE_COPY_BACKWARDS_HEADER_op_mask) << SDMA_PKT_PTEPDE_COPY_BACKWARDS_HEADER_op_shift) 1824*90df1d55SAlex Deucher 1825*90df1d55SAlex Deucher /*define for sub_op field*/ 1826*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_HEADER_sub_op_offset 0 1827*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_HEADER_sub_op_mask 0x000000FF 1828*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_HEADER_sub_op_shift 8 1829*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_HEADER_SUB_OP(x) (((x) & SDMA_PKT_PTEPDE_COPY_BACKWARDS_HEADER_sub_op_mask) << SDMA_PKT_PTEPDE_COPY_BACKWARDS_HEADER_sub_op_shift) 1830*90df1d55SAlex Deucher 1831*90df1d55SAlex Deucher /*define for pte_size field*/ 1832*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_HEADER_pte_size_offset 0 1833*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_HEADER_pte_size_mask 0x00000003 1834*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_HEADER_pte_size_shift 28 1835*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_HEADER_PTE_SIZE(x) (((x) & SDMA_PKT_PTEPDE_COPY_BACKWARDS_HEADER_pte_size_mask) << SDMA_PKT_PTEPDE_COPY_BACKWARDS_HEADER_pte_size_shift) 1836*90df1d55SAlex Deucher 1837*90df1d55SAlex Deucher /*define for direction field*/ 1838*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_HEADER_direction_offset 0 1839*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_HEADER_direction_mask 0x00000001 1840*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_HEADER_direction_shift 30 1841*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_HEADER_DIRECTION(x) (((x) & SDMA_PKT_PTEPDE_COPY_BACKWARDS_HEADER_direction_mask) << SDMA_PKT_PTEPDE_COPY_BACKWARDS_HEADER_direction_shift) 1842*90df1d55SAlex Deucher 1843*90df1d55SAlex Deucher /*define for ptepde_op field*/ 1844*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_HEADER_ptepde_op_offset 0 1845*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_HEADER_ptepde_op_mask 0x00000001 1846*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_HEADER_ptepde_op_shift 31 1847*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_HEADER_PTEPDE_OP(x) (((x) & SDMA_PKT_PTEPDE_COPY_BACKWARDS_HEADER_ptepde_op_mask) << SDMA_PKT_PTEPDE_COPY_BACKWARDS_HEADER_ptepde_op_shift) 1848*90df1d55SAlex Deucher 1849*90df1d55SAlex Deucher /*define for SRC_ADDR_LO word*/ 1850*90df1d55SAlex Deucher /*define for src_addr_31_0 field*/ 1851*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_SRC_ADDR_LO_src_addr_31_0_offset 1 1852*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_SRC_ADDR_LO_src_addr_31_0_mask 0xFFFFFFFF 1853*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_SRC_ADDR_LO_src_addr_31_0_shift 0 1854*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_SRC_ADDR_LO_SRC_ADDR_31_0(x) (((x) & SDMA_PKT_PTEPDE_COPY_BACKWARDS_SRC_ADDR_LO_src_addr_31_0_mask) << SDMA_PKT_PTEPDE_COPY_BACKWARDS_SRC_ADDR_LO_src_addr_31_0_shift) 1855*90df1d55SAlex Deucher 1856*90df1d55SAlex Deucher /*define for SRC_ADDR_HI word*/ 1857*90df1d55SAlex Deucher /*define for src_addr_63_32 field*/ 1858*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_SRC_ADDR_HI_src_addr_63_32_offset 2 1859*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_SRC_ADDR_HI_src_addr_63_32_mask 0xFFFFFFFF 1860*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_SRC_ADDR_HI_src_addr_63_32_shift 0 1861*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_SRC_ADDR_HI_SRC_ADDR_63_32(x) (((x) & SDMA_PKT_PTEPDE_COPY_BACKWARDS_SRC_ADDR_HI_src_addr_63_32_mask) << SDMA_PKT_PTEPDE_COPY_BACKWARDS_SRC_ADDR_HI_src_addr_63_32_shift) 1862*90df1d55SAlex Deucher 1863*90df1d55SAlex Deucher /*define for DST_ADDR_LO word*/ 1864*90df1d55SAlex Deucher /*define for dst_addr_31_0 field*/ 1865*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_DST_ADDR_LO_dst_addr_31_0_offset 3 1866*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_DST_ADDR_LO_dst_addr_31_0_mask 0xFFFFFFFF 1867*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_DST_ADDR_LO_dst_addr_31_0_shift 0 1868*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_DST_ADDR_LO_DST_ADDR_31_0(x) (((x) & SDMA_PKT_PTEPDE_COPY_BACKWARDS_DST_ADDR_LO_dst_addr_31_0_mask) << SDMA_PKT_PTEPDE_COPY_BACKWARDS_DST_ADDR_LO_dst_addr_31_0_shift) 1869*90df1d55SAlex Deucher 1870*90df1d55SAlex Deucher /*define for DST_ADDR_HI word*/ 1871*90df1d55SAlex Deucher /*define for dst_addr_63_32 field*/ 1872*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_DST_ADDR_HI_dst_addr_63_32_offset 4 1873*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_DST_ADDR_HI_dst_addr_63_32_mask 0xFFFFFFFF 1874*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_DST_ADDR_HI_dst_addr_63_32_shift 0 1875*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_DST_ADDR_HI_DST_ADDR_63_32(x) (((x) & SDMA_PKT_PTEPDE_COPY_BACKWARDS_DST_ADDR_HI_dst_addr_63_32_mask) << SDMA_PKT_PTEPDE_COPY_BACKWARDS_DST_ADDR_HI_dst_addr_63_32_shift) 1876*90df1d55SAlex Deucher 1877*90df1d55SAlex Deucher /*define for MASK_BIT_FOR_DW word*/ 1878*90df1d55SAlex Deucher /*define for mask_first_xfer field*/ 1879*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_MASK_BIT_FOR_DW_mask_first_xfer_offset 5 1880*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_MASK_BIT_FOR_DW_mask_first_xfer_mask 0x000000FF 1881*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_MASK_BIT_FOR_DW_mask_first_xfer_shift 0 1882*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_MASK_BIT_FOR_DW_MASK_FIRST_XFER(x) (((x) & SDMA_PKT_PTEPDE_COPY_BACKWARDS_MASK_BIT_FOR_DW_mask_first_xfer_mask) << SDMA_PKT_PTEPDE_COPY_BACKWARDS_MASK_BIT_FOR_DW_mask_first_xfer_shift) 1883*90df1d55SAlex Deucher 1884*90df1d55SAlex Deucher /*define for mask_last_xfer field*/ 1885*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_MASK_BIT_FOR_DW_mask_last_xfer_offset 5 1886*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_MASK_BIT_FOR_DW_mask_last_xfer_mask 0x000000FF 1887*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_MASK_BIT_FOR_DW_mask_last_xfer_shift 8 1888*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_MASK_BIT_FOR_DW_MASK_LAST_XFER(x) (((x) & SDMA_PKT_PTEPDE_COPY_BACKWARDS_MASK_BIT_FOR_DW_mask_last_xfer_mask) << SDMA_PKT_PTEPDE_COPY_BACKWARDS_MASK_BIT_FOR_DW_mask_last_xfer_shift) 1889*90df1d55SAlex Deucher 1890*90df1d55SAlex Deucher /*define for COUNT_IN_32B_XFER word*/ 1891*90df1d55SAlex Deucher /*define for count field*/ 1892*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_COUNT_IN_32B_XFER_count_offset 6 1893*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_COUNT_IN_32B_XFER_count_mask 0x0001FFFF 1894*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_COUNT_IN_32B_XFER_count_shift 0 1895*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_COPY_BACKWARDS_COUNT_IN_32B_XFER_COUNT(x) (((x) & SDMA_PKT_PTEPDE_COPY_BACKWARDS_COUNT_IN_32B_XFER_count_mask) << SDMA_PKT_PTEPDE_COPY_BACKWARDS_COUNT_IN_32B_XFER_count_shift) 1896*90df1d55SAlex Deucher 1897*90df1d55SAlex Deucher 1898*90df1d55SAlex Deucher /* 1899*90df1d55SAlex Deucher ** Definitions for SDMA_PKT_PTEPDE_RMW packet 1900*90df1d55SAlex Deucher */ 1901*90df1d55SAlex Deucher 1902*90df1d55SAlex Deucher /*define for HEADER word*/ 1903*90df1d55SAlex Deucher /*define for op field*/ 1904*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_HEADER_op_offset 0 1905*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_HEADER_op_mask 0x000000FF 1906*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_HEADER_op_shift 0 1907*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_HEADER_OP(x) (((x) & SDMA_PKT_PTEPDE_RMW_HEADER_op_mask) << SDMA_PKT_PTEPDE_RMW_HEADER_op_shift) 1908*90df1d55SAlex Deucher 1909*90df1d55SAlex Deucher /*define for sub_op field*/ 1910*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_HEADER_sub_op_offset 0 1911*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_HEADER_sub_op_mask 0x000000FF 1912*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_HEADER_sub_op_shift 8 1913*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_HEADER_SUB_OP(x) (((x) & SDMA_PKT_PTEPDE_RMW_HEADER_sub_op_mask) << SDMA_PKT_PTEPDE_RMW_HEADER_sub_op_shift) 1914*90df1d55SAlex Deucher 1915*90df1d55SAlex Deucher /*define for gcc field*/ 1916*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_HEADER_gcc_offset 0 1917*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_HEADER_gcc_mask 0x00000001 1918*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_HEADER_gcc_shift 19 1919*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_HEADER_GCC(x) (((x) & SDMA_PKT_PTEPDE_RMW_HEADER_gcc_mask) << SDMA_PKT_PTEPDE_RMW_HEADER_gcc_shift) 1920*90df1d55SAlex Deucher 1921*90df1d55SAlex Deucher /*define for sys field*/ 1922*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_HEADER_sys_offset 0 1923*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_HEADER_sys_mask 0x00000001 1924*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_HEADER_sys_shift 20 1925*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_HEADER_SYS(x) (((x) & SDMA_PKT_PTEPDE_RMW_HEADER_sys_mask) << SDMA_PKT_PTEPDE_RMW_HEADER_sys_shift) 1926*90df1d55SAlex Deucher 1927*90df1d55SAlex Deucher /*define for snp field*/ 1928*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_HEADER_snp_offset 0 1929*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_HEADER_snp_mask 0x00000001 1930*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_HEADER_snp_shift 22 1931*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_HEADER_SNP(x) (((x) & SDMA_PKT_PTEPDE_RMW_HEADER_snp_mask) << SDMA_PKT_PTEPDE_RMW_HEADER_snp_shift) 1932*90df1d55SAlex Deucher 1933*90df1d55SAlex Deucher /*define for gpa field*/ 1934*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_HEADER_gpa_offset 0 1935*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_HEADER_gpa_mask 0x00000001 1936*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_HEADER_gpa_shift 23 1937*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_HEADER_GPA(x) (((x) & SDMA_PKT_PTEPDE_RMW_HEADER_gpa_mask) << SDMA_PKT_PTEPDE_RMW_HEADER_gpa_shift) 1938*90df1d55SAlex Deucher 1939*90df1d55SAlex Deucher /*define for ADDR_LO word*/ 1940*90df1d55SAlex Deucher /*define for addr_31_0 field*/ 1941*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_ADDR_LO_addr_31_0_offset 1 1942*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_ADDR_LO_addr_31_0_mask 0xFFFFFFFF 1943*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_ADDR_LO_addr_31_0_shift 0 1944*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_ADDR_LO_ADDR_31_0(x) (((x) & SDMA_PKT_PTEPDE_RMW_ADDR_LO_addr_31_0_mask) << SDMA_PKT_PTEPDE_RMW_ADDR_LO_addr_31_0_shift) 1945*90df1d55SAlex Deucher 1946*90df1d55SAlex Deucher /*define for ADDR_HI word*/ 1947*90df1d55SAlex Deucher /*define for addr_63_32 field*/ 1948*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_ADDR_HI_addr_63_32_offset 2 1949*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_ADDR_HI_addr_63_32_mask 0xFFFFFFFF 1950*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_ADDR_HI_addr_63_32_shift 0 1951*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_ADDR_HI_ADDR_63_32(x) (((x) & SDMA_PKT_PTEPDE_RMW_ADDR_HI_addr_63_32_mask) << SDMA_PKT_PTEPDE_RMW_ADDR_HI_addr_63_32_shift) 1952*90df1d55SAlex Deucher 1953*90df1d55SAlex Deucher /*define for MASK_LO word*/ 1954*90df1d55SAlex Deucher /*define for mask_31_0 field*/ 1955*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_MASK_LO_mask_31_0_offset 3 1956*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_MASK_LO_mask_31_0_mask 0xFFFFFFFF 1957*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_MASK_LO_mask_31_0_shift 0 1958*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_MASK_LO_MASK_31_0(x) (((x) & SDMA_PKT_PTEPDE_RMW_MASK_LO_mask_31_0_mask) << SDMA_PKT_PTEPDE_RMW_MASK_LO_mask_31_0_shift) 1959*90df1d55SAlex Deucher 1960*90df1d55SAlex Deucher /*define for MASK_HI word*/ 1961*90df1d55SAlex Deucher /*define for mask_63_32 field*/ 1962*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_MASK_HI_mask_63_32_offset 4 1963*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_MASK_HI_mask_63_32_mask 0xFFFFFFFF 1964*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_MASK_HI_mask_63_32_shift 0 1965*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_MASK_HI_MASK_63_32(x) (((x) & SDMA_PKT_PTEPDE_RMW_MASK_HI_mask_63_32_mask) << SDMA_PKT_PTEPDE_RMW_MASK_HI_mask_63_32_shift) 1966*90df1d55SAlex Deucher 1967*90df1d55SAlex Deucher /*define for VALUE_LO word*/ 1968*90df1d55SAlex Deucher /*define for value_31_0 field*/ 1969*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_VALUE_LO_value_31_0_offset 5 1970*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_VALUE_LO_value_31_0_mask 0xFFFFFFFF 1971*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_VALUE_LO_value_31_0_shift 0 1972*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_VALUE_LO_VALUE_31_0(x) (((x) & SDMA_PKT_PTEPDE_RMW_VALUE_LO_value_31_0_mask) << SDMA_PKT_PTEPDE_RMW_VALUE_LO_value_31_0_shift) 1973*90df1d55SAlex Deucher 1974*90df1d55SAlex Deucher /*define for VALUE_HI word*/ 1975*90df1d55SAlex Deucher /*define for value_63_32 field*/ 1976*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_VALUE_HI_value_63_32_offset 6 1977*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_VALUE_HI_value_63_32_mask 0xFFFFFFFF 1978*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_VALUE_HI_value_63_32_shift 0 1979*90df1d55SAlex Deucher #define SDMA_PKT_PTEPDE_RMW_VALUE_HI_VALUE_63_32(x) (((x) & SDMA_PKT_PTEPDE_RMW_VALUE_HI_value_63_32_mask) << SDMA_PKT_PTEPDE_RMW_VALUE_HI_value_63_32_shift) 1980*90df1d55SAlex Deucher 1981*90df1d55SAlex Deucher 1982*90df1d55SAlex Deucher /* 1983*90df1d55SAlex Deucher ** Definitions for SDMA_PKT_WRITE_INCR packet 1984*90df1d55SAlex Deucher */ 1985*90df1d55SAlex Deucher 1986*90df1d55SAlex Deucher /*define for HEADER word*/ 1987*90df1d55SAlex Deucher /*define for op field*/ 1988*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_HEADER_op_offset 0 1989*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_HEADER_op_mask 0x000000FF 1990*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_HEADER_op_shift 0 1991*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_HEADER_OP(x) (((x) & SDMA_PKT_WRITE_INCR_HEADER_op_mask) << SDMA_PKT_WRITE_INCR_HEADER_op_shift) 1992*90df1d55SAlex Deucher 1993*90df1d55SAlex Deucher /*define for sub_op field*/ 1994*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_HEADER_sub_op_offset 0 1995*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_HEADER_sub_op_mask 0x000000FF 1996*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_HEADER_sub_op_shift 8 1997*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_HEADER_SUB_OP(x) (((x) & SDMA_PKT_WRITE_INCR_HEADER_sub_op_mask) << SDMA_PKT_WRITE_INCR_HEADER_sub_op_shift) 1998*90df1d55SAlex Deucher 1999*90df1d55SAlex Deucher /*define for DST_ADDR_LO word*/ 2000*90df1d55SAlex Deucher /*define for dst_addr_31_0 field*/ 2001*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_DST_ADDR_LO_dst_addr_31_0_offset 1 2002*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_DST_ADDR_LO_dst_addr_31_0_mask 0xFFFFFFFF 2003*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_DST_ADDR_LO_dst_addr_31_0_shift 0 2004*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_DST_ADDR_LO_DST_ADDR_31_0(x) (((x) & SDMA_PKT_WRITE_INCR_DST_ADDR_LO_dst_addr_31_0_mask) << SDMA_PKT_WRITE_INCR_DST_ADDR_LO_dst_addr_31_0_shift) 2005*90df1d55SAlex Deucher 2006*90df1d55SAlex Deucher /*define for DST_ADDR_HI word*/ 2007*90df1d55SAlex Deucher /*define for dst_addr_63_32 field*/ 2008*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_DST_ADDR_HI_dst_addr_63_32_offset 2 2009*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_DST_ADDR_HI_dst_addr_63_32_mask 0xFFFFFFFF 2010*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_DST_ADDR_HI_dst_addr_63_32_shift 0 2011*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_DST_ADDR_HI_DST_ADDR_63_32(x) (((x) & SDMA_PKT_WRITE_INCR_DST_ADDR_HI_dst_addr_63_32_mask) << SDMA_PKT_WRITE_INCR_DST_ADDR_HI_dst_addr_63_32_shift) 2012*90df1d55SAlex Deucher 2013*90df1d55SAlex Deucher /*define for MASK_DW0 word*/ 2014*90df1d55SAlex Deucher /*define for mask_dw0 field*/ 2015*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_MASK_DW0_mask_dw0_offset 3 2016*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_MASK_DW0_mask_dw0_mask 0xFFFFFFFF 2017*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_MASK_DW0_mask_dw0_shift 0 2018*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_MASK_DW0_MASK_DW0(x) (((x) & SDMA_PKT_WRITE_INCR_MASK_DW0_mask_dw0_mask) << SDMA_PKT_WRITE_INCR_MASK_DW0_mask_dw0_shift) 2019*90df1d55SAlex Deucher 2020*90df1d55SAlex Deucher /*define for MASK_DW1 word*/ 2021*90df1d55SAlex Deucher /*define for mask_dw1 field*/ 2022*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_MASK_DW1_mask_dw1_offset 4 2023*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_MASK_DW1_mask_dw1_mask 0xFFFFFFFF 2024*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_MASK_DW1_mask_dw1_shift 0 2025*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_MASK_DW1_MASK_DW1(x) (((x) & SDMA_PKT_WRITE_INCR_MASK_DW1_mask_dw1_mask) << SDMA_PKT_WRITE_INCR_MASK_DW1_mask_dw1_shift) 2026*90df1d55SAlex Deucher 2027*90df1d55SAlex Deucher /*define for INIT_DW0 word*/ 2028*90df1d55SAlex Deucher /*define for init_dw0 field*/ 2029*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_INIT_DW0_init_dw0_offset 5 2030*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_INIT_DW0_init_dw0_mask 0xFFFFFFFF 2031*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_INIT_DW0_init_dw0_shift 0 2032*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_INIT_DW0_INIT_DW0(x) (((x) & SDMA_PKT_WRITE_INCR_INIT_DW0_init_dw0_mask) << SDMA_PKT_WRITE_INCR_INIT_DW0_init_dw0_shift) 2033*90df1d55SAlex Deucher 2034*90df1d55SAlex Deucher /*define for INIT_DW1 word*/ 2035*90df1d55SAlex Deucher /*define for init_dw1 field*/ 2036*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_INIT_DW1_init_dw1_offset 6 2037*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_INIT_DW1_init_dw1_mask 0xFFFFFFFF 2038*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_INIT_DW1_init_dw1_shift 0 2039*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_INIT_DW1_INIT_DW1(x) (((x) & SDMA_PKT_WRITE_INCR_INIT_DW1_init_dw1_mask) << SDMA_PKT_WRITE_INCR_INIT_DW1_init_dw1_shift) 2040*90df1d55SAlex Deucher 2041*90df1d55SAlex Deucher /*define for INCR_DW0 word*/ 2042*90df1d55SAlex Deucher /*define for incr_dw0 field*/ 2043*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_INCR_DW0_incr_dw0_offset 7 2044*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_INCR_DW0_incr_dw0_mask 0xFFFFFFFF 2045*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_INCR_DW0_incr_dw0_shift 0 2046*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_INCR_DW0_INCR_DW0(x) (((x) & SDMA_PKT_WRITE_INCR_INCR_DW0_incr_dw0_mask) << SDMA_PKT_WRITE_INCR_INCR_DW0_incr_dw0_shift) 2047*90df1d55SAlex Deucher 2048*90df1d55SAlex Deucher /*define for INCR_DW1 word*/ 2049*90df1d55SAlex Deucher /*define for incr_dw1 field*/ 2050*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_INCR_DW1_incr_dw1_offset 8 2051*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_INCR_DW1_incr_dw1_mask 0xFFFFFFFF 2052*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_INCR_DW1_incr_dw1_shift 0 2053*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_INCR_DW1_INCR_DW1(x) (((x) & SDMA_PKT_WRITE_INCR_INCR_DW1_incr_dw1_mask) << SDMA_PKT_WRITE_INCR_INCR_DW1_incr_dw1_shift) 2054*90df1d55SAlex Deucher 2055*90df1d55SAlex Deucher /*define for COUNT word*/ 2056*90df1d55SAlex Deucher /*define for count field*/ 2057*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_COUNT_count_offset 9 2058*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_COUNT_count_mask 0x0007FFFF 2059*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_COUNT_count_shift 0 2060*90df1d55SAlex Deucher #define SDMA_PKT_WRITE_INCR_COUNT_COUNT(x) (((x) & SDMA_PKT_WRITE_INCR_COUNT_count_mask) << SDMA_PKT_WRITE_INCR_COUNT_count_shift) 2061*90df1d55SAlex Deucher 2062*90df1d55SAlex Deucher 2063*90df1d55SAlex Deucher /* 2064*90df1d55SAlex Deucher ** Definitions for SDMA_PKT_INDIRECT packet 2065*90df1d55SAlex Deucher */ 2066*90df1d55SAlex Deucher 2067*90df1d55SAlex Deucher /*define for HEADER word*/ 2068*90df1d55SAlex Deucher /*define for op field*/ 2069*90df1d55SAlex Deucher #define SDMA_PKT_INDIRECT_HEADER_op_offset 0 2070*90df1d55SAlex Deucher #define SDMA_PKT_INDIRECT_HEADER_op_mask 0x000000FF 2071*90df1d55SAlex Deucher #define SDMA_PKT_INDIRECT_HEADER_op_shift 0 2072*90df1d55SAlex Deucher #define SDMA_PKT_INDIRECT_HEADER_OP(x) (((x) & SDMA_PKT_INDIRECT_HEADER_op_mask) << SDMA_PKT_INDIRECT_HEADER_op_shift) 2073*90df1d55SAlex Deucher 2074*90df1d55SAlex Deucher /*define for sub_op field*/ 2075*90df1d55SAlex Deucher #define SDMA_PKT_INDIRECT_HEADER_sub_op_offset 0 2076*90df1d55SAlex Deucher #define SDMA_PKT_INDIRECT_HEADER_sub_op_mask 0x000000FF 2077*90df1d55SAlex Deucher #define SDMA_PKT_INDIRECT_HEADER_sub_op_shift 8 2078*90df1d55SAlex Deucher #define SDMA_PKT_INDIRECT_HEADER_SUB_OP(x) (((x) & SDMA_PKT_INDIRECT_HEADER_sub_op_mask) << SDMA_PKT_INDIRECT_HEADER_sub_op_shift) 2079*90df1d55SAlex Deucher 2080*90df1d55SAlex Deucher /*define for vmid field*/ 2081*90df1d55SAlex Deucher #define SDMA_PKT_INDIRECT_HEADER_vmid_offset 0 2082*90df1d55SAlex Deucher #define SDMA_PKT_INDIRECT_HEADER_vmid_mask 0x0000000F 2083*90df1d55SAlex Deucher #define SDMA_PKT_INDIRECT_HEADER_vmid_shift 16 2084*90df1d55SAlex Deucher #define SDMA_PKT_INDIRECT_HEADER_VMID(x) (((x) & SDMA_PKT_INDIRECT_HEADER_vmid_mask) << SDMA_PKT_INDIRECT_HEADER_vmid_shift) 2085*90df1d55SAlex Deucher 2086*90df1d55SAlex Deucher /*define for BASE_LO word*/ 2087*90df1d55SAlex Deucher /*define for ib_base_31_0 field*/ 2088*90df1d55SAlex Deucher #define SDMA_PKT_INDIRECT_BASE_LO_ib_base_31_0_offset 1 2089*90df1d55SAlex Deucher #define SDMA_PKT_INDIRECT_BASE_LO_ib_base_31_0_mask 0xFFFFFFFF 2090*90df1d55SAlex Deucher #define SDMA_PKT_INDIRECT_BASE_LO_ib_base_31_0_shift 0 2091*90df1d55SAlex Deucher #define SDMA_PKT_INDIRECT_BASE_LO_IB_BASE_31_0(x) (((x) & SDMA_PKT_INDIRECT_BASE_LO_ib_base_31_0_mask) << SDMA_PKT_INDIRECT_BASE_LO_ib_base_31_0_shift) 2092*90df1d55SAlex Deucher 2093*90df1d55SAlex Deucher /*define for BASE_HI word*/ 2094*90df1d55SAlex Deucher /*define for ib_base_63_32 field*/ 2095*90df1d55SAlex Deucher #define SDMA_PKT_INDIRECT_BASE_HI_ib_base_63_32_offset 2 2096*90df1d55SAlex Deucher #define SDMA_PKT_INDIRECT_BASE_HI_ib_base_63_32_mask 0xFFFFFFFF 2097*90df1d55SAlex Deucher #define SDMA_PKT_INDIRECT_BASE_HI_ib_base_63_32_shift 0 2098*90df1d55SAlex Deucher #define SDMA_PKT_INDIRECT_BASE_HI_IB_BASE_63_32(x) (((x) & SDMA_PKT_INDIRECT_BASE_HI_ib_base_63_32_mask) << SDMA_PKT_INDIRECT_BASE_HI_ib_base_63_32_shift) 2099*90df1d55SAlex Deucher 2100*90df1d55SAlex Deucher /*define for IB_SIZE word*/ 2101*90df1d55SAlex Deucher /*define for ib_size field*/ 2102*90df1d55SAlex Deucher #define SDMA_PKT_INDIRECT_IB_SIZE_ib_size_offset 3 2103*90df1d55SAlex Deucher #define SDMA_PKT_INDIRECT_IB_SIZE_ib_size_mask 0x000FFFFF 2104*90df1d55SAlex Deucher #define SDMA_PKT_INDIRECT_IB_SIZE_ib_size_shift 0 2105*90df1d55SAlex Deucher #define SDMA_PKT_INDIRECT_IB_SIZE_IB_SIZE(x) (((x) & SDMA_PKT_INDIRECT_IB_SIZE_ib_size_mask) << SDMA_PKT_INDIRECT_IB_SIZE_ib_size_shift) 2106*90df1d55SAlex Deucher 2107*90df1d55SAlex Deucher /*define for CSA_ADDR_LO word*/ 2108*90df1d55SAlex Deucher /*define for csa_addr_31_0 field*/ 2109*90df1d55SAlex Deucher #define SDMA_PKT_INDIRECT_CSA_ADDR_LO_csa_addr_31_0_offset 4 2110*90df1d55SAlex Deucher #define SDMA_PKT_INDIRECT_CSA_ADDR_LO_csa_addr_31_0_mask 0xFFFFFFFF 2111*90df1d55SAlex Deucher #define SDMA_PKT_INDIRECT_CSA_ADDR_LO_csa_addr_31_0_shift 0 2112*90df1d55SAlex Deucher #define SDMA_PKT_INDIRECT_CSA_ADDR_LO_CSA_ADDR_31_0(x) (((x) & SDMA_PKT_INDIRECT_CSA_ADDR_LO_csa_addr_31_0_mask) << SDMA_PKT_INDIRECT_CSA_ADDR_LO_csa_addr_31_0_shift) 2113*90df1d55SAlex Deucher 2114*90df1d55SAlex Deucher /*define for CSA_ADDR_HI word*/ 2115*90df1d55SAlex Deucher /*define for csa_addr_63_32 field*/ 2116*90df1d55SAlex Deucher #define SDMA_PKT_INDIRECT_CSA_ADDR_HI_csa_addr_63_32_offset 5 2117*90df1d55SAlex Deucher #define SDMA_PKT_INDIRECT_CSA_ADDR_HI_csa_addr_63_32_mask 0xFFFFFFFF 2118*90df1d55SAlex Deucher #define SDMA_PKT_INDIRECT_CSA_ADDR_HI_csa_addr_63_32_shift 0 2119*90df1d55SAlex Deucher #define SDMA_PKT_INDIRECT_CSA_ADDR_HI_CSA_ADDR_63_32(x) (((x) & SDMA_PKT_INDIRECT_CSA_ADDR_HI_csa_addr_63_32_mask) << SDMA_PKT_INDIRECT_CSA_ADDR_HI_csa_addr_63_32_shift) 2120*90df1d55SAlex Deucher 2121*90df1d55SAlex Deucher 2122*90df1d55SAlex Deucher /* 2123*90df1d55SAlex Deucher ** Definitions for SDMA_PKT_SEMAPHORE packet 2124*90df1d55SAlex Deucher */ 2125*90df1d55SAlex Deucher 2126*90df1d55SAlex Deucher /*define for HEADER word*/ 2127*90df1d55SAlex Deucher /*define for op field*/ 2128*90df1d55SAlex Deucher #define SDMA_PKT_SEMAPHORE_HEADER_op_offset 0 2129*90df1d55SAlex Deucher #define SDMA_PKT_SEMAPHORE_HEADER_op_mask 0x000000FF 2130*90df1d55SAlex Deucher #define SDMA_PKT_SEMAPHORE_HEADER_op_shift 0 2131*90df1d55SAlex Deucher #define SDMA_PKT_SEMAPHORE_HEADER_OP(x) (((x) & SDMA_PKT_SEMAPHORE_HEADER_op_mask) << SDMA_PKT_SEMAPHORE_HEADER_op_shift) 2132*90df1d55SAlex Deucher 2133*90df1d55SAlex Deucher /*define for sub_op field*/ 2134*90df1d55SAlex Deucher #define SDMA_PKT_SEMAPHORE_HEADER_sub_op_offset 0 2135*90df1d55SAlex Deucher #define SDMA_PKT_SEMAPHORE_HEADER_sub_op_mask 0x000000FF 2136*90df1d55SAlex Deucher #define SDMA_PKT_SEMAPHORE_HEADER_sub_op_shift 8 2137*90df1d55SAlex Deucher #define SDMA_PKT_SEMAPHORE_HEADER_SUB_OP(x) (((x) & SDMA_PKT_SEMAPHORE_HEADER_sub_op_mask) << SDMA_PKT_SEMAPHORE_HEADER_sub_op_shift) 2138*90df1d55SAlex Deucher 2139*90df1d55SAlex Deucher /*define for write_one field*/ 2140*90df1d55SAlex Deucher #define SDMA_PKT_SEMAPHORE_HEADER_write_one_offset 0 2141*90df1d55SAlex Deucher #define SDMA_PKT_SEMAPHORE_HEADER_write_one_mask 0x00000001 2142*90df1d55SAlex Deucher #define SDMA_PKT_SEMAPHORE_HEADER_write_one_shift 29 2143*90df1d55SAlex Deucher #define SDMA_PKT_SEMAPHORE_HEADER_WRITE_ONE(x) (((x) & SDMA_PKT_SEMAPHORE_HEADER_write_one_mask) << SDMA_PKT_SEMAPHORE_HEADER_write_one_shift) 2144*90df1d55SAlex Deucher 2145*90df1d55SAlex Deucher /*define for signal field*/ 2146*90df1d55SAlex Deucher #define SDMA_PKT_SEMAPHORE_HEADER_signal_offset 0 2147*90df1d55SAlex Deucher #define SDMA_PKT_SEMAPHORE_HEADER_signal_mask 0x00000001 2148*90df1d55SAlex Deucher #define SDMA_PKT_SEMAPHORE_HEADER_signal_shift 30 2149*90df1d55SAlex Deucher #define SDMA_PKT_SEMAPHORE_HEADER_SIGNAL(x) (((x) & SDMA_PKT_SEMAPHORE_HEADER_signal_mask) << SDMA_PKT_SEMAPHORE_HEADER_signal_shift) 2150*90df1d55SAlex Deucher 2151*90df1d55SAlex Deucher /*define for mailbox field*/ 2152*90df1d55SAlex Deucher #define SDMA_PKT_SEMAPHORE_HEADER_mailbox_offset 0 2153*90df1d55SAlex Deucher #define SDMA_PKT_SEMAPHORE_HEADER_mailbox_mask 0x00000001 2154*90df1d55SAlex Deucher #define SDMA_PKT_SEMAPHORE_HEADER_mailbox_shift 31 2155*90df1d55SAlex Deucher #define SDMA_PKT_SEMAPHORE_HEADER_MAILBOX(x) (((x) & SDMA_PKT_SEMAPHORE_HEADER_mailbox_mask) << SDMA_PKT_SEMAPHORE_HEADER_mailbox_shift) 2156*90df1d55SAlex Deucher 2157*90df1d55SAlex Deucher /*define for ADDR_LO word*/ 2158*90df1d55SAlex Deucher /*define for addr_31_0 field*/ 2159*90df1d55SAlex Deucher #define SDMA_PKT_SEMAPHORE_ADDR_LO_addr_31_0_offset 1 2160*90df1d55SAlex Deucher #define SDMA_PKT_SEMAPHORE_ADDR_LO_addr_31_0_mask 0xFFFFFFFF 2161*90df1d55SAlex Deucher #define SDMA_PKT_SEMAPHORE_ADDR_LO_addr_31_0_shift 0 2162*90df1d55SAlex Deucher #define SDMA_PKT_SEMAPHORE_ADDR_LO_ADDR_31_0(x) (((x) & SDMA_PKT_SEMAPHORE_ADDR_LO_addr_31_0_mask) << SDMA_PKT_SEMAPHORE_ADDR_LO_addr_31_0_shift) 2163*90df1d55SAlex Deucher 2164*90df1d55SAlex Deucher /*define for ADDR_HI word*/ 2165*90df1d55SAlex Deucher /*define for addr_63_32 field*/ 2166*90df1d55SAlex Deucher #define SDMA_PKT_SEMAPHORE_ADDR_HI_addr_63_32_offset 2 2167*90df1d55SAlex Deucher #define SDMA_PKT_SEMAPHORE_ADDR_HI_addr_63_32_mask 0xFFFFFFFF 2168*90df1d55SAlex Deucher #define SDMA_PKT_SEMAPHORE_ADDR_HI_addr_63_32_shift 0 2169*90df1d55SAlex Deucher #define SDMA_PKT_SEMAPHORE_ADDR_HI_ADDR_63_32(x) (((x) & SDMA_PKT_SEMAPHORE_ADDR_HI_addr_63_32_mask) << SDMA_PKT_SEMAPHORE_ADDR_HI_addr_63_32_shift) 2170*90df1d55SAlex Deucher 2171*90df1d55SAlex Deucher 2172*90df1d55SAlex Deucher /* 2173*90df1d55SAlex Deucher ** Definitions for SDMA_PKT_FENCE packet 2174*90df1d55SAlex Deucher */ 2175*90df1d55SAlex Deucher 2176*90df1d55SAlex Deucher /*define for HEADER word*/ 2177*90df1d55SAlex Deucher /*define for op field*/ 2178*90df1d55SAlex Deucher #define SDMA_PKT_FENCE_HEADER_op_offset 0 2179*90df1d55SAlex Deucher #define SDMA_PKT_FENCE_HEADER_op_mask 0x000000FF 2180*90df1d55SAlex Deucher #define SDMA_PKT_FENCE_HEADER_op_shift 0 2181*90df1d55SAlex Deucher #define SDMA_PKT_FENCE_HEADER_OP(x) (((x) & SDMA_PKT_FENCE_HEADER_op_mask) << SDMA_PKT_FENCE_HEADER_op_shift) 2182*90df1d55SAlex Deucher 2183*90df1d55SAlex Deucher /*define for sub_op field*/ 2184*90df1d55SAlex Deucher #define SDMA_PKT_FENCE_HEADER_sub_op_offset 0 2185*90df1d55SAlex Deucher #define SDMA_PKT_FENCE_HEADER_sub_op_mask 0x000000FF 2186*90df1d55SAlex Deucher #define SDMA_PKT_FENCE_HEADER_sub_op_shift 8 2187*90df1d55SAlex Deucher #define SDMA_PKT_FENCE_HEADER_SUB_OP(x) (((x) & SDMA_PKT_FENCE_HEADER_sub_op_mask) << SDMA_PKT_FENCE_HEADER_sub_op_shift) 2188*90df1d55SAlex Deucher 2189*90df1d55SAlex Deucher /*define for ADDR_LO word*/ 2190*90df1d55SAlex Deucher /*define for addr_31_0 field*/ 2191*90df1d55SAlex Deucher #define SDMA_PKT_FENCE_ADDR_LO_addr_31_0_offset 1 2192*90df1d55SAlex Deucher #define SDMA_PKT_FENCE_ADDR_LO_addr_31_0_mask 0xFFFFFFFF 2193*90df1d55SAlex Deucher #define SDMA_PKT_FENCE_ADDR_LO_addr_31_0_shift 0 2194*90df1d55SAlex Deucher #define SDMA_PKT_FENCE_ADDR_LO_ADDR_31_0(x) (((x) & SDMA_PKT_FENCE_ADDR_LO_addr_31_0_mask) << SDMA_PKT_FENCE_ADDR_LO_addr_31_0_shift) 2195*90df1d55SAlex Deucher 2196*90df1d55SAlex Deucher /*define for ADDR_HI word*/ 2197*90df1d55SAlex Deucher /*define for addr_63_32 field*/ 2198*90df1d55SAlex Deucher #define SDMA_PKT_FENCE_ADDR_HI_addr_63_32_offset 2 2199*90df1d55SAlex Deucher #define SDMA_PKT_FENCE_ADDR_HI_addr_63_32_mask 0xFFFFFFFF 2200*90df1d55SAlex Deucher #define SDMA_PKT_FENCE_ADDR_HI_addr_63_32_shift 0 2201*90df1d55SAlex Deucher #define SDMA_PKT_FENCE_ADDR_HI_ADDR_63_32(x) (((x) & SDMA_PKT_FENCE_ADDR_HI_addr_63_32_mask) << SDMA_PKT_FENCE_ADDR_HI_addr_63_32_shift) 2202*90df1d55SAlex Deucher 2203*90df1d55SAlex Deucher /*define for DATA word*/ 2204*90df1d55SAlex Deucher /*define for data field*/ 2205*90df1d55SAlex Deucher #define SDMA_PKT_FENCE_DATA_data_offset 3 2206*90df1d55SAlex Deucher #define SDMA_PKT_FENCE_DATA_data_mask 0xFFFFFFFF 2207*90df1d55SAlex Deucher #define SDMA_PKT_FENCE_DATA_data_shift 0 2208*90df1d55SAlex Deucher #define SDMA_PKT_FENCE_DATA_DATA(x) (((x) & SDMA_PKT_FENCE_DATA_data_mask) << SDMA_PKT_FENCE_DATA_data_shift) 2209*90df1d55SAlex Deucher 2210*90df1d55SAlex Deucher 2211*90df1d55SAlex Deucher /* 2212*90df1d55SAlex Deucher ** Definitions for SDMA_PKT_SRBM_WRITE packet 2213*90df1d55SAlex Deucher */ 2214*90df1d55SAlex Deucher 2215*90df1d55SAlex Deucher /*define for HEADER word*/ 2216*90df1d55SAlex Deucher /*define for op field*/ 2217*90df1d55SAlex Deucher #define SDMA_PKT_SRBM_WRITE_HEADER_op_offset 0 2218*90df1d55SAlex Deucher #define SDMA_PKT_SRBM_WRITE_HEADER_op_mask 0x000000FF 2219*90df1d55SAlex Deucher #define SDMA_PKT_SRBM_WRITE_HEADER_op_shift 0 2220*90df1d55SAlex Deucher #define SDMA_PKT_SRBM_WRITE_HEADER_OP(x) (((x) & SDMA_PKT_SRBM_WRITE_HEADER_op_mask) << SDMA_PKT_SRBM_WRITE_HEADER_op_shift) 2221*90df1d55SAlex Deucher 2222*90df1d55SAlex Deucher /*define for sub_op field*/ 2223*90df1d55SAlex Deucher #define SDMA_PKT_SRBM_WRITE_HEADER_sub_op_offset 0 2224*90df1d55SAlex Deucher #define SDMA_PKT_SRBM_WRITE_HEADER_sub_op_mask 0x000000FF 2225*90df1d55SAlex Deucher #define SDMA_PKT_SRBM_WRITE_HEADER_sub_op_shift 8 2226*90df1d55SAlex Deucher #define SDMA_PKT_SRBM_WRITE_HEADER_SUB_OP(x) (((x) & SDMA_PKT_SRBM_WRITE_HEADER_sub_op_mask) << SDMA_PKT_SRBM_WRITE_HEADER_sub_op_shift) 2227*90df1d55SAlex Deucher 2228*90df1d55SAlex Deucher /*define for byte_en field*/ 2229*90df1d55SAlex Deucher #define SDMA_PKT_SRBM_WRITE_HEADER_byte_en_offset 0 2230*90df1d55SAlex Deucher #define SDMA_PKT_SRBM_WRITE_HEADER_byte_en_mask 0x0000000F 2231*90df1d55SAlex Deucher #define SDMA_PKT_SRBM_WRITE_HEADER_byte_en_shift 28 2232*90df1d55SAlex Deucher #define SDMA_PKT_SRBM_WRITE_HEADER_BYTE_EN(x) (((x) & SDMA_PKT_SRBM_WRITE_HEADER_byte_en_mask) << SDMA_PKT_SRBM_WRITE_HEADER_byte_en_shift) 2233*90df1d55SAlex Deucher 2234*90df1d55SAlex Deucher /*define for ADDR word*/ 2235*90df1d55SAlex Deucher /*define for addr field*/ 2236*90df1d55SAlex Deucher #define SDMA_PKT_SRBM_WRITE_ADDR_addr_offset 1 2237*90df1d55SAlex Deucher #define SDMA_PKT_SRBM_WRITE_ADDR_addr_mask 0x0003FFFF 2238*90df1d55SAlex Deucher #define SDMA_PKT_SRBM_WRITE_ADDR_addr_shift 0 2239*90df1d55SAlex Deucher #define SDMA_PKT_SRBM_WRITE_ADDR_ADDR(x) (((x) & SDMA_PKT_SRBM_WRITE_ADDR_addr_mask) << SDMA_PKT_SRBM_WRITE_ADDR_addr_shift) 2240*90df1d55SAlex Deucher 2241*90df1d55SAlex Deucher /*define for DATA word*/ 2242*90df1d55SAlex Deucher /*define for data field*/ 2243*90df1d55SAlex Deucher #define SDMA_PKT_SRBM_WRITE_DATA_data_offset 2 2244*90df1d55SAlex Deucher #define SDMA_PKT_SRBM_WRITE_DATA_data_mask 0xFFFFFFFF 2245*90df1d55SAlex Deucher #define SDMA_PKT_SRBM_WRITE_DATA_data_shift 0 2246*90df1d55SAlex Deucher #define SDMA_PKT_SRBM_WRITE_DATA_DATA(x) (((x) & SDMA_PKT_SRBM_WRITE_DATA_data_mask) << SDMA_PKT_SRBM_WRITE_DATA_data_shift) 2247*90df1d55SAlex Deucher 2248*90df1d55SAlex Deucher 2249*90df1d55SAlex Deucher /* 2250*90df1d55SAlex Deucher ** Definitions for SDMA_PKT_PRE_EXE packet 2251*90df1d55SAlex Deucher */ 2252*90df1d55SAlex Deucher 2253*90df1d55SAlex Deucher /*define for HEADER word*/ 2254*90df1d55SAlex Deucher /*define for op field*/ 2255*90df1d55SAlex Deucher #define SDMA_PKT_PRE_EXE_HEADER_op_offset 0 2256*90df1d55SAlex Deucher #define SDMA_PKT_PRE_EXE_HEADER_op_mask 0x000000FF 2257*90df1d55SAlex Deucher #define SDMA_PKT_PRE_EXE_HEADER_op_shift 0 2258*90df1d55SAlex Deucher #define SDMA_PKT_PRE_EXE_HEADER_OP(x) (((x) & SDMA_PKT_PRE_EXE_HEADER_op_mask) << SDMA_PKT_PRE_EXE_HEADER_op_shift) 2259*90df1d55SAlex Deucher 2260*90df1d55SAlex Deucher /*define for sub_op field*/ 2261*90df1d55SAlex Deucher #define SDMA_PKT_PRE_EXE_HEADER_sub_op_offset 0 2262*90df1d55SAlex Deucher #define SDMA_PKT_PRE_EXE_HEADER_sub_op_mask 0x000000FF 2263*90df1d55SAlex Deucher #define SDMA_PKT_PRE_EXE_HEADER_sub_op_shift 8 2264*90df1d55SAlex Deucher #define SDMA_PKT_PRE_EXE_HEADER_SUB_OP(x) (((x) & SDMA_PKT_PRE_EXE_HEADER_sub_op_mask) << SDMA_PKT_PRE_EXE_HEADER_sub_op_shift) 2265*90df1d55SAlex Deucher 2266*90df1d55SAlex Deucher /*define for dev_sel field*/ 2267*90df1d55SAlex Deucher #define SDMA_PKT_PRE_EXE_HEADER_dev_sel_offset 0 2268*90df1d55SAlex Deucher #define SDMA_PKT_PRE_EXE_HEADER_dev_sel_mask 0x000000FF 2269*90df1d55SAlex Deucher #define SDMA_PKT_PRE_EXE_HEADER_dev_sel_shift 16 2270*90df1d55SAlex Deucher #define SDMA_PKT_PRE_EXE_HEADER_DEV_SEL(x) (((x) & SDMA_PKT_PRE_EXE_HEADER_dev_sel_mask) << SDMA_PKT_PRE_EXE_HEADER_dev_sel_shift) 2271*90df1d55SAlex Deucher 2272*90df1d55SAlex Deucher /*define for EXEC_COUNT word*/ 2273*90df1d55SAlex Deucher /*define for exec_count field*/ 2274*90df1d55SAlex Deucher #define SDMA_PKT_PRE_EXE_EXEC_COUNT_exec_count_offset 1 2275*90df1d55SAlex Deucher #define SDMA_PKT_PRE_EXE_EXEC_COUNT_exec_count_mask 0x00003FFF 2276*90df1d55SAlex Deucher #define SDMA_PKT_PRE_EXE_EXEC_COUNT_exec_count_shift 0 2277*90df1d55SAlex Deucher #define SDMA_PKT_PRE_EXE_EXEC_COUNT_EXEC_COUNT(x) (((x) & SDMA_PKT_PRE_EXE_EXEC_COUNT_exec_count_mask) << SDMA_PKT_PRE_EXE_EXEC_COUNT_exec_count_shift) 2278*90df1d55SAlex Deucher 2279*90df1d55SAlex Deucher 2280*90df1d55SAlex Deucher /* 2281*90df1d55SAlex Deucher ** Definitions for SDMA_PKT_COND_EXE packet 2282*90df1d55SAlex Deucher */ 2283*90df1d55SAlex Deucher 2284*90df1d55SAlex Deucher /*define for HEADER word*/ 2285*90df1d55SAlex Deucher /*define for op field*/ 2286*90df1d55SAlex Deucher #define SDMA_PKT_COND_EXE_HEADER_op_offset 0 2287*90df1d55SAlex Deucher #define SDMA_PKT_COND_EXE_HEADER_op_mask 0x000000FF 2288*90df1d55SAlex Deucher #define SDMA_PKT_COND_EXE_HEADER_op_shift 0 2289*90df1d55SAlex Deucher #define SDMA_PKT_COND_EXE_HEADER_OP(x) (((x) & SDMA_PKT_COND_EXE_HEADER_op_mask) << SDMA_PKT_COND_EXE_HEADER_op_shift) 2290*90df1d55SAlex Deucher 2291*90df1d55SAlex Deucher /*define for sub_op field*/ 2292*90df1d55SAlex Deucher #define SDMA_PKT_COND_EXE_HEADER_sub_op_offset 0 2293*90df1d55SAlex Deucher #define SDMA_PKT_COND_EXE_HEADER_sub_op_mask 0x000000FF 2294*90df1d55SAlex Deucher #define SDMA_PKT_COND_EXE_HEADER_sub_op_shift 8 2295*90df1d55SAlex Deucher #define SDMA_PKT_COND_EXE_HEADER_SUB_OP(x) (((x) & SDMA_PKT_COND_EXE_HEADER_sub_op_mask) << SDMA_PKT_COND_EXE_HEADER_sub_op_shift) 2296*90df1d55SAlex Deucher 2297*90df1d55SAlex Deucher /*define for ADDR_LO word*/ 2298*90df1d55SAlex Deucher /*define for addr_31_0 field*/ 2299*90df1d55SAlex Deucher #define SDMA_PKT_COND_EXE_ADDR_LO_addr_31_0_offset 1 2300*90df1d55SAlex Deucher #define SDMA_PKT_COND_EXE_ADDR_LO_addr_31_0_mask 0xFFFFFFFF 2301*90df1d55SAlex Deucher #define SDMA_PKT_COND_EXE_ADDR_LO_addr_31_0_shift 0 2302*90df1d55SAlex Deucher #define SDMA_PKT_COND_EXE_ADDR_LO_ADDR_31_0(x) (((x) & SDMA_PKT_COND_EXE_ADDR_LO_addr_31_0_mask) << SDMA_PKT_COND_EXE_ADDR_LO_addr_31_0_shift) 2303*90df1d55SAlex Deucher 2304*90df1d55SAlex Deucher /*define for ADDR_HI word*/ 2305*90df1d55SAlex Deucher /*define for addr_63_32 field*/ 2306*90df1d55SAlex Deucher #define SDMA_PKT_COND_EXE_ADDR_HI_addr_63_32_offset 2 2307*90df1d55SAlex Deucher #define SDMA_PKT_COND_EXE_ADDR_HI_addr_63_32_mask 0xFFFFFFFF 2308*90df1d55SAlex Deucher #define SDMA_PKT_COND_EXE_ADDR_HI_addr_63_32_shift 0 2309*90df1d55SAlex Deucher #define SDMA_PKT_COND_EXE_ADDR_HI_ADDR_63_32(x) (((x) & SDMA_PKT_COND_EXE_ADDR_HI_addr_63_32_mask) << SDMA_PKT_COND_EXE_ADDR_HI_addr_63_32_shift) 2310*90df1d55SAlex Deucher 2311*90df1d55SAlex Deucher /*define for REFERENCE word*/ 2312*90df1d55SAlex Deucher /*define for reference field*/ 2313*90df1d55SAlex Deucher #define SDMA_PKT_COND_EXE_REFERENCE_reference_offset 3 2314*90df1d55SAlex Deucher #define SDMA_PKT_COND_EXE_REFERENCE_reference_mask 0xFFFFFFFF 2315*90df1d55SAlex Deucher #define SDMA_PKT_COND_EXE_REFERENCE_reference_shift 0 2316*90df1d55SAlex Deucher #define SDMA_PKT_COND_EXE_REFERENCE_REFERENCE(x) (((x) & SDMA_PKT_COND_EXE_REFERENCE_reference_mask) << SDMA_PKT_COND_EXE_REFERENCE_reference_shift) 2317*90df1d55SAlex Deucher 2318*90df1d55SAlex Deucher /*define for EXEC_COUNT word*/ 2319*90df1d55SAlex Deucher /*define for exec_count field*/ 2320*90df1d55SAlex Deucher #define SDMA_PKT_COND_EXE_EXEC_COUNT_exec_count_offset 4 2321*90df1d55SAlex Deucher #define SDMA_PKT_COND_EXE_EXEC_COUNT_exec_count_mask 0x00003FFF 2322*90df1d55SAlex Deucher #define SDMA_PKT_COND_EXE_EXEC_COUNT_exec_count_shift 0 2323*90df1d55SAlex Deucher #define SDMA_PKT_COND_EXE_EXEC_COUNT_EXEC_COUNT(x) (((x) & SDMA_PKT_COND_EXE_EXEC_COUNT_exec_count_mask) << SDMA_PKT_COND_EXE_EXEC_COUNT_exec_count_shift) 2324*90df1d55SAlex Deucher 2325*90df1d55SAlex Deucher 2326*90df1d55SAlex Deucher /* 2327*90df1d55SAlex Deucher ** Definitions for SDMA_PKT_CONSTANT_FILL packet 2328*90df1d55SAlex Deucher */ 2329*90df1d55SAlex Deucher 2330*90df1d55SAlex Deucher /*define for HEADER word*/ 2331*90df1d55SAlex Deucher /*define for op field*/ 2332*90df1d55SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_HEADER_op_offset 0 2333*90df1d55SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_HEADER_op_mask 0x000000FF 2334*90df1d55SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_HEADER_op_shift 0 2335*90df1d55SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_HEADER_OP(x) (((x) & SDMA_PKT_CONSTANT_FILL_HEADER_op_mask) << SDMA_PKT_CONSTANT_FILL_HEADER_op_shift) 2336*90df1d55SAlex Deucher 2337*90df1d55SAlex Deucher /*define for sub_op field*/ 2338*90df1d55SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_HEADER_sub_op_offset 0 2339*90df1d55SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_HEADER_sub_op_mask 0x000000FF 2340*90df1d55SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_HEADER_sub_op_shift 8 2341*90df1d55SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_HEADER_SUB_OP(x) (((x) & SDMA_PKT_CONSTANT_FILL_HEADER_sub_op_mask) << SDMA_PKT_CONSTANT_FILL_HEADER_sub_op_shift) 2342*90df1d55SAlex Deucher 2343*90df1d55SAlex Deucher /*define for sw field*/ 2344*90df1d55SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_HEADER_sw_offset 0 2345*90df1d55SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_HEADER_sw_mask 0x00000003 2346*90df1d55SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_HEADER_sw_shift 16 2347*90df1d55SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_HEADER_SW(x) (((x) & SDMA_PKT_CONSTANT_FILL_HEADER_sw_mask) << SDMA_PKT_CONSTANT_FILL_HEADER_sw_shift) 2348*90df1d55SAlex Deucher 2349*90df1d55SAlex Deucher /*define for fillsize field*/ 2350*90df1d55SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_HEADER_fillsize_offset 0 2351*90df1d55SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_HEADER_fillsize_mask 0x00000003 2352*90df1d55SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_HEADER_fillsize_shift 30 2353*90df1d55SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_HEADER_FILLSIZE(x) (((x) & SDMA_PKT_CONSTANT_FILL_HEADER_fillsize_mask) << SDMA_PKT_CONSTANT_FILL_HEADER_fillsize_shift) 2354*90df1d55SAlex Deucher 2355*90df1d55SAlex Deucher /*define for DST_ADDR_LO word*/ 2356*90df1d55SAlex Deucher /*define for dst_addr_31_0 field*/ 2357*90df1d55SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_DST_ADDR_LO_dst_addr_31_0_offset 1 2358*90df1d55SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_DST_ADDR_LO_dst_addr_31_0_mask 0xFFFFFFFF 2359*90df1d55SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_DST_ADDR_LO_dst_addr_31_0_shift 0 2360*90df1d55SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_DST_ADDR_LO_DST_ADDR_31_0(x) (((x) & SDMA_PKT_CONSTANT_FILL_DST_ADDR_LO_dst_addr_31_0_mask) << SDMA_PKT_CONSTANT_FILL_DST_ADDR_LO_dst_addr_31_0_shift) 2361*90df1d55SAlex Deucher 2362*90df1d55SAlex Deucher /*define for DST_ADDR_HI word*/ 2363*90df1d55SAlex Deucher /*define for dst_addr_63_32 field*/ 2364*90df1d55SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_DST_ADDR_HI_dst_addr_63_32_offset 2 2365*90df1d55SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_DST_ADDR_HI_dst_addr_63_32_mask 0xFFFFFFFF 2366*90df1d55SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_DST_ADDR_HI_dst_addr_63_32_shift 0 2367*90df1d55SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_DST_ADDR_HI_DST_ADDR_63_32(x) (((x) & SDMA_PKT_CONSTANT_FILL_DST_ADDR_HI_dst_addr_63_32_mask) << SDMA_PKT_CONSTANT_FILL_DST_ADDR_HI_dst_addr_63_32_shift) 2368*90df1d55SAlex Deucher 2369*90df1d55SAlex Deucher /*define for DATA word*/ 2370*90df1d55SAlex Deucher /*define for src_data_31_0 field*/ 2371*90df1d55SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_DATA_src_data_31_0_offset 3 2372*90df1d55SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_DATA_src_data_31_0_mask 0xFFFFFFFF 2373*90df1d55SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_DATA_src_data_31_0_shift 0 2374*90df1d55SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_DATA_SRC_DATA_31_0(x) (((x) & SDMA_PKT_CONSTANT_FILL_DATA_src_data_31_0_mask) << SDMA_PKT_CONSTANT_FILL_DATA_src_data_31_0_shift) 2375*90df1d55SAlex Deucher 2376*90df1d55SAlex Deucher /*define for COUNT word*/ 2377*90df1d55SAlex Deucher /*define for count field*/ 2378*90df1d55SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_COUNT_count_offset 4 2379*90df1d55SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_COUNT_count_mask 0x003FFFFF 2380*90df1d55SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_COUNT_count_shift 0 2381*90df1d55SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_COUNT_COUNT(x) (((x) & SDMA_PKT_CONSTANT_FILL_COUNT_count_mask) << SDMA_PKT_CONSTANT_FILL_COUNT_count_shift) 2382*90df1d55SAlex Deucher 2383*90df1d55SAlex Deucher 2384*90df1d55SAlex Deucher /* 2385*90df1d55SAlex Deucher ** Definitions for SDMA_PKT_DATA_FILL_MULTI packet 2386*90df1d55SAlex Deucher */ 2387*90df1d55SAlex Deucher 2388*90df1d55SAlex Deucher /*define for HEADER word*/ 2389*90df1d55SAlex Deucher /*define for op field*/ 2390*90df1d55SAlex Deucher #define SDMA_PKT_DATA_FILL_MULTI_HEADER_op_offset 0 2391*90df1d55SAlex Deucher #define SDMA_PKT_DATA_FILL_MULTI_HEADER_op_mask 0x000000FF 2392*90df1d55SAlex Deucher #define SDMA_PKT_DATA_FILL_MULTI_HEADER_op_shift 0 2393*90df1d55SAlex Deucher #define SDMA_PKT_DATA_FILL_MULTI_HEADER_OP(x) (((x) & SDMA_PKT_DATA_FILL_MULTI_HEADER_op_mask) << SDMA_PKT_DATA_FILL_MULTI_HEADER_op_shift) 2394*90df1d55SAlex Deucher 2395*90df1d55SAlex Deucher /*define for sub_op field*/ 2396*90df1d55SAlex Deucher #define SDMA_PKT_DATA_FILL_MULTI_HEADER_sub_op_offset 0 2397*90df1d55SAlex Deucher #define SDMA_PKT_DATA_FILL_MULTI_HEADER_sub_op_mask 0x000000FF 2398*90df1d55SAlex Deucher #define SDMA_PKT_DATA_FILL_MULTI_HEADER_sub_op_shift 8 2399*90df1d55SAlex Deucher #define SDMA_PKT_DATA_FILL_MULTI_HEADER_SUB_OP(x) (((x) & SDMA_PKT_DATA_FILL_MULTI_HEADER_sub_op_mask) << SDMA_PKT_DATA_FILL_MULTI_HEADER_sub_op_shift) 2400*90df1d55SAlex Deucher 2401*90df1d55SAlex Deucher /*define for memlog_clr field*/ 2402*90df1d55SAlex Deucher #define SDMA_PKT_DATA_FILL_MULTI_HEADER_memlog_clr_offset 0 2403*90df1d55SAlex Deucher #define SDMA_PKT_DATA_FILL_MULTI_HEADER_memlog_clr_mask 0x00000001 2404*90df1d55SAlex Deucher #define SDMA_PKT_DATA_FILL_MULTI_HEADER_memlog_clr_shift 31 2405*90df1d55SAlex Deucher #define SDMA_PKT_DATA_FILL_MULTI_HEADER_MEMLOG_CLR(x) (((x) & SDMA_PKT_DATA_FILL_MULTI_HEADER_memlog_clr_mask) << SDMA_PKT_DATA_FILL_MULTI_HEADER_memlog_clr_shift) 2406*90df1d55SAlex Deucher 2407*90df1d55SAlex Deucher /*define for BYTE_STRIDE word*/ 2408*90df1d55SAlex Deucher /*define for byte_stride field*/ 2409*90df1d55SAlex Deucher #define SDMA_PKT_DATA_FILL_MULTI_BYTE_STRIDE_byte_stride_offset 1 2410*90df1d55SAlex Deucher #define SDMA_PKT_DATA_FILL_MULTI_BYTE_STRIDE_byte_stride_mask 0xFFFFFFFF 2411*90df1d55SAlex Deucher #define SDMA_PKT_DATA_FILL_MULTI_BYTE_STRIDE_byte_stride_shift 0 2412*90df1d55SAlex Deucher #define SDMA_PKT_DATA_FILL_MULTI_BYTE_STRIDE_BYTE_STRIDE(x) (((x) & SDMA_PKT_DATA_FILL_MULTI_BYTE_STRIDE_byte_stride_mask) << SDMA_PKT_DATA_FILL_MULTI_BYTE_STRIDE_byte_stride_shift) 2413*90df1d55SAlex Deucher 2414*90df1d55SAlex Deucher /*define for DMA_COUNT word*/ 2415*90df1d55SAlex Deucher /*define for dma_count field*/ 2416*90df1d55SAlex Deucher #define SDMA_PKT_DATA_FILL_MULTI_DMA_COUNT_dma_count_offset 2 2417*90df1d55SAlex Deucher #define SDMA_PKT_DATA_FILL_MULTI_DMA_COUNT_dma_count_mask 0xFFFFFFFF 2418*90df1d55SAlex Deucher #define SDMA_PKT_DATA_FILL_MULTI_DMA_COUNT_dma_count_shift 0 2419*90df1d55SAlex Deucher #define SDMA_PKT_DATA_FILL_MULTI_DMA_COUNT_DMA_COUNT(x) (((x) & SDMA_PKT_DATA_FILL_MULTI_DMA_COUNT_dma_count_mask) << SDMA_PKT_DATA_FILL_MULTI_DMA_COUNT_dma_count_shift) 2420*90df1d55SAlex Deucher 2421*90df1d55SAlex Deucher /*define for DST_ADDR_LO word*/ 2422*90df1d55SAlex Deucher /*define for dst_addr_31_0 field*/ 2423*90df1d55SAlex Deucher #define SDMA_PKT_DATA_FILL_MULTI_DST_ADDR_LO_dst_addr_31_0_offset 3 2424*90df1d55SAlex Deucher #define SDMA_PKT_DATA_FILL_MULTI_DST_ADDR_LO_dst_addr_31_0_mask 0xFFFFFFFF 2425*90df1d55SAlex Deucher #define SDMA_PKT_DATA_FILL_MULTI_DST_ADDR_LO_dst_addr_31_0_shift 0 2426*90df1d55SAlex Deucher #define SDMA_PKT_DATA_FILL_MULTI_DST_ADDR_LO_DST_ADDR_31_0(x) (((x) & SDMA_PKT_DATA_FILL_MULTI_DST_ADDR_LO_dst_addr_31_0_mask) << SDMA_PKT_DATA_FILL_MULTI_DST_ADDR_LO_dst_addr_31_0_shift) 2427*90df1d55SAlex Deucher 2428*90df1d55SAlex Deucher /*define for DST_ADDR_HI word*/ 2429*90df1d55SAlex Deucher /*define for dst_addr_63_32 field*/ 2430*90df1d55SAlex Deucher #define SDMA_PKT_DATA_FILL_MULTI_DST_ADDR_HI_dst_addr_63_32_offset 4 2431*90df1d55SAlex Deucher #define SDMA_PKT_DATA_FILL_MULTI_DST_ADDR_HI_dst_addr_63_32_mask 0xFFFFFFFF 2432*90df1d55SAlex Deucher #define SDMA_PKT_DATA_FILL_MULTI_DST_ADDR_HI_dst_addr_63_32_shift 0 2433*90df1d55SAlex Deucher #define SDMA_PKT_DATA_FILL_MULTI_DST_ADDR_HI_DST_ADDR_63_32(x) (((x) & SDMA_PKT_DATA_FILL_MULTI_DST_ADDR_HI_dst_addr_63_32_mask) << SDMA_PKT_DATA_FILL_MULTI_DST_ADDR_HI_dst_addr_63_32_shift) 2434*90df1d55SAlex Deucher 2435*90df1d55SAlex Deucher /*define for BYTE_COUNT word*/ 2436*90df1d55SAlex Deucher /*define for count field*/ 2437*90df1d55SAlex Deucher #define SDMA_PKT_DATA_FILL_MULTI_BYTE_COUNT_count_offset 5 2438*90df1d55SAlex Deucher #define SDMA_PKT_DATA_FILL_MULTI_BYTE_COUNT_count_mask 0x03FFFFFF 2439*90df1d55SAlex Deucher #define SDMA_PKT_DATA_FILL_MULTI_BYTE_COUNT_count_shift 0 2440*90df1d55SAlex Deucher #define SDMA_PKT_DATA_FILL_MULTI_BYTE_COUNT_COUNT(x) (((x) & SDMA_PKT_DATA_FILL_MULTI_BYTE_COUNT_count_mask) << SDMA_PKT_DATA_FILL_MULTI_BYTE_COUNT_count_shift) 2441*90df1d55SAlex Deucher 2442*90df1d55SAlex Deucher 2443*90df1d55SAlex Deucher /* 2444*90df1d55SAlex Deucher ** Definitions for SDMA_PKT_POLL_REGMEM packet 2445*90df1d55SAlex Deucher */ 2446*90df1d55SAlex Deucher 2447*90df1d55SAlex Deucher /*define for HEADER word*/ 2448*90df1d55SAlex Deucher /*define for op field*/ 2449*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_HEADER_op_offset 0 2450*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_HEADER_op_mask 0x000000FF 2451*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_HEADER_op_shift 0 2452*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_HEADER_OP(x) (((x) & SDMA_PKT_POLL_REGMEM_HEADER_op_mask) << SDMA_PKT_POLL_REGMEM_HEADER_op_shift) 2453*90df1d55SAlex Deucher 2454*90df1d55SAlex Deucher /*define for sub_op field*/ 2455*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_HEADER_sub_op_offset 0 2456*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_HEADER_sub_op_mask 0x000000FF 2457*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_HEADER_sub_op_shift 8 2458*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_HEADER_SUB_OP(x) (((x) & SDMA_PKT_POLL_REGMEM_HEADER_sub_op_mask) << SDMA_PKT_POLL_REGMEM_HEADER_sub_op_shift) 2459*90df1d55SAlex Deucher 2460*90df1d55SAlex Deucher /*define for hdp_flush field*/ 2461*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_HEADER_hdp_flush_offset 0 2462*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_HEADER_hdp_flush_mask 0x00000001 2463*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_HEADER_hdp_flush_shift 26 2464*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_HEADER_HDP_FLUSH(x) (((x) & SDMA_PKT_POLL_REGMEM_HEADER_hdp_flush_mask) << SDMA_PKT_POLL_REGMEM_HEADER_hdp_flush_shift) 2465*90df1d55SAlex Deucher 2466*90df1d55SAlex Deucher /*define for func field*/ 2467*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_HEADER_func_offset 0 2468*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_HEADER_func_mask 0x00000007 2469*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_HEADER_func_shift 28 2470*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_HEADER_FUNC(x) (((x) & SDMA_PKT_POLL_REGMEM_HEADER_func_mask) << SDMA_PKT_POLL_REGMEM_HEADER_func_shift) 2471*90df1d55SAlex Deucher 2472*90df1d55SAlex Deucher /*define for mem_poll field*/ 2473*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_HEADER_mem_poll_offset 0 2474*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_HEADER_mem_poll_mask 0x00000001 2475*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_HEADER_mem_poll_shift 31 2476*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_HEADER_MEM_POLL(x) (((x) & SDMA_PKT_POLL_REGMEM_HEADER_mem_poll_mask) << SDMA_PKT_POLL_REGMEM_HEADER_mem_poll_shift) 2477*90df1d55SAlex Deucher 2478*90df1d55SAlex Deucher /*define for ADDR_LO word*/ 2479*90df1d55SAlex Deucher /*define for addr_31_0 field*/ 2480*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_ADDR_LO_addr_31_0_offset 1 2481*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_ADDR_LO_addr_31_0_mask 0xFFFFFFFF 2482*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_ADDR_LO_addr_31_0_shift 0 2483*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_ADDR_LO_ADDR_31_0(x) (((x) & SDMA_PKT_POLL_REGMEM_ADDR_LO_addr_31_0_mask) << SDMA_PKT_POLL_REGMEM_ADDR_LO_addr_31_0_shift) 2484*90df1d55SAlex Deucher 2485*90df1d55SAlex Deucher /*define for ADDR_HI word*/ 2486*90df1d55SAlex Deucher /*define for addr_63_32 field*/ 2487*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_ADDR_HI_addr_63_32_offset 2 2488*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_ADDR_HI_addr_63_32_mask 0xFFFFFFFF 2489*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_ADDR_HI_addr_63_32_shift 0 2490*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_ADDR_HI_ADDR_63_32(x) (((x) & SDMA_PKT_POLL_REGMEM_ADDR_HI_addr_63_32_mask) << SDMA_PKT_POLL_REGMEM_ADDR_HI_addr_63_32_shift) 2491*90df1d55SAlex Deucher 2492*90df1d55SAlex Deucher /*define for VALUE word*/ 2493*90df1d55SAlex Deucher /*define for value field*/ 2494*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_VALUE_value_offset 3 2495*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_VALUE_value_mask 0xFFFFFFFF 2496*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_VALUE_value_shift 0 2497*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_VALUE_VALUE(x) (((x) & SDMA_PKT_POLL_REGMEM_VALUE_value_mask) << SDMA_PKT_POLL_REGMEM_VALUE_value_shift) 2498*90df1d55SAlex Deucher 2499*90df1d55SAlex Deucher /*define for MASK word*/ 2500*90df1d55SAlex Deucher /*define for mask field*/ 2501*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_MASK_mask_offset 4 2502*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_MASK_mask_mask 0xFFFFFFFF 2503*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_MASK_mask_shift 0 2504*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_MASK_MASK(x) (((x) & SDMA_PKT_POLL_REGMEM_MASK_mask_mask) << SDMA_PKT_POLL_REGMEM_MASK_mask_shift) 2505*90df1d55SAlex Deucher 2506*90df1d55SAlex Deucher /*define for DW5 word*/ 2507*90df1d55SAlex Deucher /*define for interval field*/ 2508*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_DW5_interval_offset 5 2509*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_DW5_interval_mask 0x0000FFFF 2510*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_DW5_interval_shift 0 2511*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_DW5_INTERVAL(x) (((x) & SDMA_PKT_POLL_REGMEM_DW5_interval_mask) << SDMA_PKT_POLL_REGMEM_DW5_interval_shift) 2512*90df1d55SAlex Deucher 2513*90df1d55SAlex Deucher /*define for retry_count field*/ 2514*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_DW5_retry_count_offset 5 2515*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_DW5_retry_count_mask 0x00000FFF 2516*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_DW5_retry_count_shift 16 2517*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REGMEM_DW5_RETRY_COUNT(x) (((x) & SDMA_PKT_POLL_REGMEM_DW5_retry_count_mask) << SDMA_PKT_POLL_REGMEM_DW5_retry_count_shift) 2518*90df1d55SAlex Deucher 2519*90df1d55SAlex Deucher 2520*90df1d55SAlex Deucher /* 2521*90df1d55SAlex Deucher ** Definitions for SDMA_PKT_POLL_REG_WRITE_MEM packet 2522*90df1d55SAlex Deucher */ 2523*90df1d55SAlex Deucher 2524*90df1d55SAlex Deucher /*define for HEADER word*/ 2525*90df1d55SAlex Deucher /*define for op field*/ 2526*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REG_WRITE_MEM_HEADER_op_offset 0 2527*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REG_WRITE_MEM_HEADER_op_mask 0x000000FF 2528*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REG_WRITE_MEM_HEADER_op_shift 0 2529*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REG_WRITE_MEM_HEADER_OP(x) (((x) & SDMA_PKT_POLL_REG_WRITE_MEM_HEADER_op_mask) << SDMA_PKT_POLL_REG_WRITE_MEM_HEADER_op_shift) 2530*90df1d55SAlex Deucher 2531*90df1d55SAlex Deucher /*define for sub_op field*/ 2532*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REG_WRITE_MEM_HEADER_sub_op_offset 0 2533*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REG_WRITE_MEM_HEADER_sub_op_mask 0x000000FF 2534*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REG_WRITE_MEM_HEADER_sub_op_shift 8 2535*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REG_WRITE_MEM_HEADER_SUB_OP(x) (((x) & SDMA_PKT_POLL_REG_WRITE_MEM_HEADER_sub_op_mask) << SDMA_PKT_POLL_REG_WRITE_MEM_HEADER_sub_op_shift) 2536*90df1d55SAlex Deucher 2537*90df1d55SAlex Deucher /*define for SRC_ADDR word*/ 2538*90df1d55SAlex Deucher /*define for addr_31_2 field*/ 2539*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REG_WRITE_MEM_SRC_ADDR_addr_31_2_offset 1 2540*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REG_WRITE_MEM_SRC_ADDR_addr_31_2_mask 0x3FFFFFFF 2541*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REG_WRITE_MEM_SRC_ADDR_addr_31_2_shift 2 2542*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REG_WRITE_MEM_SRC_ADDR_ADDR_31_2(x) (((x) & SDMA_PKT_POLL_REG_WRITE_MEM_SRC_ADDR_addr_31_2_mask) << SDMA_PKT_POLL_REG_WRITE_MEM_SRC_ADDR_addr_31_2_shift) 2543*90df1d55SAlex Deucher 2544*90df1d55SAlex Deucher /*define for DST_ADDR_LO word*/ 2545*90df1d55SAlex Deucher /*define for addr_31_0 field*/ 2546*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REG_WRITE_MEM_DST_ADDR_LO_addr_31_0_offset 2 2547*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REG_WRITE_MEM_DST_ADDR_LO_addr_31_0_mask 0xFFFFFFFF 2548*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REG_WRITE_MEM_DST_ADDR_LO_addr_31_0_shift 0 2549*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REG_WRITE_MEM_DST_ADDR_LO_ADDR_31_0(x) (((x) & SDMA_PKT_POLL_REG_WRITE_MEM_DST_ADDR_LO_addr_31_0_mask) << SDMA_PKT_POLL_REG_WRITE_MEM_DST_ADDR_LO_addr_31_0_shift) 2550*90df1d55SAlex Deucher 2551*90df1d55SAlex Deucher /*define for DST_ADDR_HI word*/ 2552*90df1d55SAlex Deucher /*define for addr_63_32 field*/ 2553*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REG_WRITE_MEM_DST_ADDR_HI_addr_63_32_offset 3 2554*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REG_WRITE_MEM_DST_ADDR_HI_addr_63_32_mask 0xFFFFFFFF 2555*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REG_WRITE_MEM_DST_ADDR_HI_addr_63_32_shift 0 2556*90df1d55SAlex Deucher #define SDMA_PKT_POLL_REG_WRITE_MEM_DST_ADDR_HI_ADDR_63_32(x) (((x) & SDMA_PKT_POLL_REG_WRITE_MEM_DST_ADDR_HI_addr_63_32_mask) << SDMA_PKT_POLL_REG_WRITE_MEM_DST_ADDR_HI_addr_63_32_shift) 2557*90df1d55SAlex Deucher 2558*90df1d55SAlex Deucher 2559*90df1d55SAlex Deucher /* 2560*90df1d55SAlex Deucher ** Definitions for SDMA_PKT_POLL_DBIT_WRITE_MEM packet 2561*90df1d55SAlex Deucher */ 2562*90df1d55SAlex Deucher 2563*90df1d55SAlex Deucher /*define for HEADER word*/ 2564*90df1d55SAlex Deucher /*define for op field*/ 2565*90df1d55SAlex Deucher #define SDMA_PKT_POLL_DBIT_WRITE_MEM_HEADER_op_offset 0 2566*90df1d55SAlex Deucher #define SDMA_PKT_POLL_DBIT_WRITE_MEM_HEADER_op_mask 0x000000FF 2567*90df1d55SAlex Deucher #define SDMA_PKT_POLL_DBIT_WRITE_MEM_HEADER_op_shift 0 2568*90df1d55SAlex Deucher #define SDMA_PKT_POLL_DBIT_WRITE_MEM_HEADER_OP(x) (((x) & SDMA_PKT_POLL_DBIT_WRITE_MEM_HEADER_op_mask) << SDMA_PKT_POLL_DBIT_WRITE_MEM_HEADER_op_shift) 2569*90df1d55SAlex Deucher 2570*90df1d55SAlex Deucher /*define for sub_op field*/ 2571*90df1d55SAlex Deucher #define SDMA_PKT_POLL_DBIT_WRITE_MEM_HEADER_sub_op_offset 0 2572*90df1d55SAlex Deucher #define SDMA_PKT_POLL_DBIT_WRITE_MEM_HEADER_sub_op_mask 0x000000FF 2573*90df1d55SAlex Deucher #define SDMA_PKT_POLL_DBIT_WRITE_MEM_HEADER_sub_op_shift 8 2574*90df1d55SAlex Deucher #define SDMA_PKT_POLL_DBIT_WRITE_MEM_HEADER_SUB_OP(x) (((x) & SDMA_PKT_POLL_DBIT_WRITE_MEM_HEADER_sub_op_mask) << SDMA_PKT_POLL_DBIT_WRITE_MEM_HEADER_sub_op_shift) 2575*90df1d55SAlex Deucher 2576*90df1d55SAlex Deucher /*define for ea field*/ 2577*90df1d55SAlex Deucher #define SDMA_PKT_POLL_DBIT_WRITE_MEM_HEADER_ea_offset 0 2578*90df1d55SAlex Deucher #define SDMA_PKT_POLL_DBIT_WRITE_MEM_HEADER_ea_mask 0x00000003 2579*90df1d55SAlex Deucher #define SDMA_PKT_POLL_DBIT_WRITE_MEM_HEADER_ea_shift 16 2580*90df1d55SAlex Deucher #define SDMA_PKT_POLL_DBIT_WRITE_MEM_HEADER_EA(x) (((x) & SDMA_PKT_POLL_DBIT_WRITE_MEM_HEADER_ea_mask) << SDMA_PKT_POLL_DBIT_WRITE_MEM_HEADER_ea_shift) 2581*90df1d55SAlex Deucher 2582*90df1d55SAlex Deucher /*define for DST_ADDR_LO word*/ 2583*90df1d55SAlex Deucher /*define for addr_31_0 field*/ 2584*90df1d55SAlex Deucher #define SDMA_PKT_POLL_DBIT_WRITE_MEM_DST_ADDR_LO_addr_31_0_offset 1 2585*90df1d55SAlex Deucher #define SDMA_PKT_POLL_DBIT_WRITE_MEM_DST_ADDR_LO_addr_31_0_mask 0xFFFFFFFF 2586*90df1d55SAlex Deucher #define SDMA_PKT_POLL_DBIT_WRITE_MEM_DST_ADDR_LO_addr_31_0_shift 0 2587*90df1d55SAlex Deucher #define SDMA_PKT_POLL_DBIT_WRITE_MEM_DST_ADDR_LO_ADDR_31_0(x) (((x) & SDMA_PKT_POLL_DBIT_WRITE_MEM_DST_ADDR_LO_addr_31_0_mask) << SDMA_PKT_POLL_DBIT_WRITE_MEM_DST_ADDR_LO_addr_31_0_shift) 2588*90df1d55SAlex Deucher 2589*90df1d55SAlex Deucher /*define for DST_ADDR_HI word*/ 2590*90df1d55SAlex Deucher /*define for addr_63_32 field*/ 2591*90df1d55SAlex Deucher #define SDMA_PKT_POLL_DBIT_WRITE_MEM_DST_ADDR_HI_addr_63_32_offset 2 2592*90df1d55SAlex Deucher #define SDMA_PKT_POLL_DBIT_WRITE_MEM_DST_ADDR_HI_addr_63_32_mask 0xFFFFFFFF 2593*90df1d55SAlex Deucher #define SDMA_PKT_POLL_DBIT_WRITE_MEM_DST_ADDR_HI_addr_63_32_shift 0 2594*90df1d55SAlex Deucher #define SDMA_PKT_POLL_DBIT_WRITE_MEM_DST_ADDR_HI_ADDR_63_32(x) (((x) & SDMA_PKT_POLL_DBIT_WRITE_MEM_DST_ADDR_HI_addr_63_32_mask) << SDMA_PKT_POLL_DBIT_WRITE_MEM_DST_ADDR_HI_addr_63_32_shift) 2595*90df1d55SAlex Deucher 2596*90df1d55SAlex Deucher /*define for START_PAGE word*/ 2597*90df1d55SAlex Deucher /*define for addr_31_4 field*/ 2598*90df1d55SAlex Deucher #define SDMA_PKT_POLL_DBIT_WRITE_MEM_START_PAGE_addr_31_4_offset 3 2599*90df1d55SAlex Deucher #define SDMA_PKT_POLL_DBIT_WRITE_MEM_START_PAGE_addr_31_4_mask 0x0FFFFFFF 2600*90df1d55SAlex Deucher #define SDMA_PKT_POLL_DBIT_WRITE_MEM_START_PAGE_addr_31_4_shift 4 2601*90df1d55SAlex Deucher #define SDMA_PKT_POLL_DBIT_WRITE_MEM_START_PAGE_ADDR_31_4(x) (((x) & SDMA_PKT_POLL_DBIT_WRITE_MEM_START_PAGE_addr_31_4_mask) << SDMA_PKT_POLL_DBIT_WRITE_MEM_START_PAGE_addr_31_4_shift) 2602*90df1d55SAlex Deucher 2603*90df1d55SAlex Deucher /*define for PAGE_NUM word*/ 2604*90df1d55SAlex Deucher /*define for page_num_31_0 field*/ 2605*90df1d55SAlex Deucher #define SDMA_PKT_POLL_DBIT_WRITE_MEM_PAGE_NUM_page_num_31_0_offset 4 2606*90df1d55SAlex Deucher #define SDMA_PKT_POLL_DBIT_WRITE_MEM_PAGE_NUM_page_num_31_0_mask 0xFFFFFFFF 2607*90df1d55SAlex Deucher #define SDMA_PKT_POLL_DBIT_WRITE_MEM_PAGE_NUM_page_num_31_0_shift 0 2608*90df1d55SAlex Deucher #define SDMA_PKT_POLL_DBIT_WRITE_MEM_PAGE_NUM_PAGE_NUM_31_0(x) (((x) & SDMA_PKT_POLL_DBIT_WRITE_MEM_PAGE_NUM_page_num_31_0_mask) << SDMA_PKT_POLL_DBIT_WRITE_MEM_PAGE_NUM_page_num_31_0_shift) 2609*90df1d55SAlex Deucher 2610*90df1d55SAlex Deucher 2611*90df1d55SAlex Deucher /* 2612*90df1d55SAlex Deucher ** Definitions for SDMA_PKT_POLL_MEM_VERIFY packet 2613*90df1d55SAlex Deucher */ 2614*90df1d55SAlex Deucher 2615*90df1d55SAlex Deucher /*define for HEADER word*/ 2616*90df1d55SAlex Deucher /*define for op field*/ 2617*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_HEADER_op_offset 0 2618*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_HEADER_op_mask 0x000000FF 2619*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_HEADER_op_shift 0 2620*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_HEADER_OP(x) (((x) & SDMA_PKT_POLL_MEM_VERIFY_HEADER_op_mask) << SDMA_PKT_POLL_MEM_VERIFY_HEADER_op_shift) 2621*90df1d55SAlex Deucher 2622*90df1d55SAlex Deucher /*define for sub_op field*/ 2623*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_HEADER_sub_op_offset 0 2624*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_HEADER_sub_op_mask 0x000000FF 2625*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_HEADER_sub_op_shift 8 2626*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_HEADER_SUB_OP(x) (((x) & SDMA_PKT_POLL_MEM_VERIFY_HEADER_sub_op_mask) << SDMA_PKT_POLL_MEM_VERIFY_HEADER_sub_op_shift) 2627*90df1d55SAlex Deucher 2628*90df1d55SAlex Deucher /*define for mode field*/ 2629*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_HEADER_mode_offset 0 2630*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_HEADER_mode_mask 0x00000001 2631*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_HEADER_mode_shift 31 2632*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_HEADER_MODE(x) (((x) & SDMA_PKT_POLL_MEM_VERIFY_HEADER_mode_mask) << SDMA_PKT_POLL_MEM_VERIFY_HEADER_mode_shift) 2633*90df1d55SAlex Deucher 2634*90df1d55SAlex Deucher /*define for PATTERN word*/ 2635*90df1d55SAlex Deucher /*define for pattern field*/ 2636*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_PATTERN_pattern_offset 1 2637*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_PATTERN_pattern_mask 0xFFFFFFFF 2638*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_PATTERN_pattern_shift 0 2639*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_PATTERN_PATTERN(x) (((x) & SDMA_PKT_POLL_MEM_VERIFY_PATTERN_pattern_mask) << SDMA_PKT_POLL_MEM_VERIFY_PATTERN_pattern_shift) 2640*90df1d55SAlex Deucher 2641*90df1d55SAlex Deucher /*define for CMP0_ADDR_START_LO word*/ 2642*90df1d55SAlex Deucher /*define for cmp0_start_31_0 field*/ 2643*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_CMP0_ADDR_START_LO_cmp0_start_31_0_offset 2 2644*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_CMP0_ADDR_START_LO_cmp0_start_31_0_mask 0xFFFFFFFF 2645*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_CMP0_ADDR_START_LO_cmp0_start_31_0_shift 0 2646*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_CMP0_ADDR_START_LO_CMP0_START_31_0(x) (((x) & SDMA_PKT_POLL_MEM_VERIFY_CMP0_ADDR_START_LO_cmp0_start_31_0_mask) << SDMA_PKT_POLL_MEM_VERIFY_CMP0_ADDR_START_LO_cmp0_start_31_0_shift) 2647*90df1d55SAlex Deucher 2648*90df1d55SAlex Deucher /*define for CMP0_ADDR_START_HI word*/ 2649*90df1d55SAlex Deucher /*define for cmp0_start_63_32 field*/ 2650*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_CMP0_ADDR_START_HI_cmp0_start_63_32_offset 3 2651*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_CMP0_ADDR_START_HI_cmp0_start_63_32_mask 0xFFFFFFFF 2652*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_CMP0_ADDR_START_HI_cmp0_start_63_32_shift 0 2653*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_CMP0_ADDR_START_HI_CMP0_START_63_32(x) (((x) & SDMA_PKT_POLL_MEM_VERIFY_CMP0_ADDR_START_HI_cmp0_start_63_32_mask) << SDMA_PKT_POLL_MEM_VERIFY_CMP0_ADDR_START_HI_cmp0_start_63_32_shift) 2654*90df1d55SAlex Deucher 2655*90df1d55SAlex Deucher /*define for CMP0_ADDR_END_LO word*/ 2656*90df1d55SAlex Deucher /*define for cmp1_end_31_0 field*/ 2657*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_CMP0_ADDR_END_LO_cmp1_end_31_0_offset 4 2658*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_CMP0_ADDR_END_LO_cmp1_end_31_0_mask 0xFFFFFFFF 2659*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_CMP0_ADDR_END_LO_cmp1_end_31_0_shift 0 2660*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_CMP0_ADDR_END_LO_CMP1_END_31_0(x) (((x) & SDMA_PKT_POLL_MEM_VERIFY_CMP0_ADDR_END_LO_cmp1_end_31_0_mask) << SDMA_PKT_POLL_MEM_VERIFY_CMP0_ADDR_END_LO_cmp1_end_31_0_shift) 2661*90df1d55SAlex Deucher 2662*90df1d55SAlex Deucher /*define for CMP0_ADDR_END_HI word*/ 2663*90df1d55SAlex Deucher /*define for cmp1_end_63_32 field*/ 2664*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_CMP0_ADDR_END_HI_cmp1_end_63_32_offset 5 2665*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_CMP0_ADDR_END_HI_cmp1_end_63_32_mask 0xFFFFFFFF 2666*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_CMP0_ADDR_END_HI_cmp1_end_63_32_shift 0 2667*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_CMP0_ADDR_END_HI_CMP1_END_63_32(x) (((x) & SDMA_PKT_POLL_MEM_VERIFY_CMP0_ADDR_END_HI_cmp1_end_63_32_mask) << SDMA_PKT_POLL_MEM_VERIFY_CMP0_ADDR_END_HI_cmp1_end_63_32_shift) 2668*90df1d55SAlex Deucher 2669*90df1d55SAlex Deucher /*define for CMP1_ADDR_START_LO word*/ 2670*90df1d55SAlex Deucher /*define for cmp1_start_31_0 field*/ 2671*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_CMP1_ADDR_START_LO_cmp1_start_31_0_offset 6 2672*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_CMP1_ADDR_START_LO_cmp1_start_31_0_mask 0xFFFFFFFF 2673*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_CMP1_ADDR_START_LO_cmp1_start_31_0_shift 0 2674*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_CMP1_ADDR_START_LO_CMP1_START_31_0(x) (((x) & SDMA_PKT_POLL_MEM_VERIFY_CMP1_ADDR_START_LO_cmp1_start_31_0_mask) << SDMA_PKT_POLL_MEM_VERIFY_CMP1_ADDR_START_LO_cmp1_start_31_0_shift) 2675*90df1d55SAlex Deucher 2676*90df1d55SAlex Deucher /*define for CMP1_ADDR_START_HI word*/ 2677*90df1d55SAlex Deucher /*define for cmp1_start_63_32 field*/ 2678*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_CMP1_ADDR_START_HI_cmp1_start_63_32_offset 7 2679*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_CMP1_ADDR_START_HI_cmp1_start_63_32_mask 0xFFFFFFFF 2680*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_CMP1_ADDR_START_HI_cmp1_start_63_32_shift 0 2681*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_CMP1_ADDR_START_HI_CMP1_START_63_32(x) (((x) & SDMA_PKT_POLL_MEM_VERIFY_CMP1_ADDR_START_HI_cmp1_start_63_32_mask) << SDMA_PKT_POLL_MEM_VERIFY_CMP1_ADDR_START_HI_cmp1_start_63_32_shift) 2682*90df1d55SAlex Deucher 2683*90df1d55SAlex Deucher /*define for CMP1_ADDR_END_LO word*/ 2684*90df1d55SAlex Deucher /*define for cmp1_end_31_0 field*/ 2685*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_CMP1_ADDR_END_LO_cmp1_end_31_0_offset 8 2686*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_CMP1_ADDR_END_LO_cmp1_end_31_0_mask 0xFFFFFFFF 2687*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_CMP1_ADDR_END_LO_cmp1_end_31_0_shift 0 2688*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_CMP1_ADDR_END_LO_CMP1_END_31_0(x) (((x) & SDMA_PKT_POLL_MEM_VERIFY_CMP1_ADDR_END_LO_cmp1_end_31_0_mask) << SDMA_PKT_POLL_MEM_VERIFY_CMP1_ADDR_END_LO_cmp1_end_31_0_shift) 2689*90df1d55SAlex Deucher 2690*90df1d55SAlex Deucher /*define for CMP1_ADDR_END_HI word*/ 2691*90df1d55SAlex Deucher /*define for cmp1_end_63_32 field*/ 2692*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_CMP1_ADDR_END_HI_cmp1_end_63_32_offset 9 2693*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_CMP1_ADDR_END_HI_cmp1_end_63_32_mask 0xFFFFFFFF 2694*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_CMP1_ADDR_END_HI_cmp1_end_63_32_shift 0 2695*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_CMP1_ADDR_END_HI_CMP1_END_63_32(x) (((x) & SDMA_PKT_POLL_MEM_VERIFY_CMP1_ADDR_END_HI_cmp1_end_63_32_mask) << SDMA_PKT_POLL_MEM_VERIFY_CMP1_ADDR_END_HI_cmp1_end_63_32_shift) 2696*90df1d55SAlex Deucher 2697*90df1d55SAlex Deucher /*define for REC_ADDR_LO word*/ 2698*90df1d55SAlex Deucher /*define for rec_31_0 field*/ 2699*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_REC_ADDR_LO_rec_31_0_offset 10 2700*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_REC_ADDR_LO_rec_31_0_mask 0xFFFFFFFF 2701*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_REC_ADDR_LO_rec_31_0_shift 0 2702*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_REC_ADDR_LO_REC_31_0(x) (((x) & SDMA_PKT_POLL_MEM_VERIFY_REC_ADDR_LO_rec_31_0_mask) << SDMA_PKT_POLL_MEM_VERIFY_REC_ADDR_LO_rec_31_0_shift) 2703*90df1d55SAlex Deucher 2704*90df1d55SAlex Deucher /*define for REC_ADDR_HI word*/ 2705*90df1d55SAlex Deucher /*define for rec_63_32 field*/ 2706*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_REC_ADDR_HI_rec_63_32_offset 11 2707*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_REC_ADDR_HI_rec_63_32_mask 0xFFFFFFFF 2708*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_REC_ADDR_HI_rec_63_32_shift 0 2709*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_REC_ADDR_HI_REC_63_32(x) (((x) & SDMA_PKT_POLL_MEM_VERIFY_REC_ADDR_HI_rec_63_32_mask) << SDMA_PKT_POLL_MEM_VERIFY_REC_ADDR_HI_rec_63_32_shift) 2710*90df1d55SAlex Deucher 2711*90df1d55SAlex Deucher /*define for RESERVED word*/ 2712*90df1d55SAlex Deucher /*define for reserved field*/ 2713*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_RESERVED_reserved_offset 12 2714*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_RESERVED_reserved_mask 0xFFFFFFFF 2715*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_RESERVED_reserved_shift 0 2716*90df1d55SAlex Deucher #define SDMA_PKT_POLL_MEM_VERIFY_RESERVED_RESERVED(x) (((x) & SDMA_PKT_POLL_MEM_VERIFY_RESERVED_reserved_mask) << SDMA_PKT_POLL_MEM_VERIFY_RESERVED_reserved_shift) 2717*90df1d55SAlex Deucher 2718*90df1d55SAlex Deucher 2719*90df1d55SAlex Deucher /* 2720*90df1d55SAlex Deucher ** Definitions for SDMA_PKT_ATOMIC packet 2721*90df1d55SAlex Deucher */ 2722*90df1d55SAlex Deucher 2723*90df1d55SAlex Deucher /*define for HEADER word*/ 2724*90df1d55SAlex Deucher /*define for op field*/ 2725*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_HEADER_op_offset 0 2726*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_HEADER_op_mask 0x000000FF 2727*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_HEADER_op_shift 0 2728*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_HEADER_OP(x) (((x) & SDMA_PKT_ATOMIC_HEADER_op_mask) << SDMA_PKT_ATOMIC_HEADER_op_shift) 2729*90df1d55SAlex Deucher 2730*90df1d55SAlex Deucher /*define for loop field*/ 2731*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_HEADER_loop_offset 0 2732*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_HEADER_loop_mask 0x00000001 2733*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_HEADER_loop_shift 16 2734*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_HEADER_LOOP(x) (((x) & SDMA_PKT_ATOMIC_HEADER_loop_mask) << SDMA_PKT_ATOMIC_HEADER_loop_shift) 2735*90df1d55SAlex Deucher 2736*90df1d55SAlex Deucher /*define for tmz field*/ 2737*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_HEADER_tmz_offset 0 2738*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_HEADER_tmz_mask 0x00000001 2739*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_HEADER_tmz_shift 18 2740*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_HEADER_TMZ(x) (((x) & SDMA_PKT_ATOMIC_HEADER_tmz_mask) << SDMA_PKT_ATOMIC_HEADER_tmz_shift) 2741*90df1d55SAlex Deucher 2742*90df1d55SAlex Deucher /*define for atomic_op field*/ 2743*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_HEADER_atomic_op_offset 0 2744*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_HEADER_atomic_op_mask 0x0000007F 2745*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_HEADER_atomic_op_shift 25 2746*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_HEADER_ATOMIC_OP(x) (((x) & SDMA_PKT_ATOMIC_HEADER_atomic_op_mask) << SDMA_PKT_ATOMIC_HEADER_atomic_op_shift) 2747*90df1d55SAlex Deucher 2748*90df1d55SAlex Deucher /*define for ADDR_LO word*/ 2749*90df1d55SAlex Deucher /*define for addr_31_0 field*/ 2750*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_ADDR_LO_addr_31_0_offset 1 2751*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_ADDR_LO_addr_31_0_mask 0xFFFFFFFF 2752*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_ADDR_LO_addr_31_0_shift 0 2753*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_ADDR_LO_ADDR_31_0(x) (((x) & SDMA_PKT_ATOMIC_ADDR_LO_addr_31_0_mask) << SDMA_PKT_ATOMIC_ADDR_LO_addr_31_0_shift) 2754*90df1d55SAlex Deucher 2755*90df1d55SAlex Deucher /*define for ADDR_HI word*/ 2756*90df1d55SAlex Deucher /*define for addr_63_32 field*/ 2757*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_ADDR_HI_addr_63_32_offset 2 2758*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_ADDR_HI_addr_63_32_mask 0xFFFFFFFF 2759*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_ADDR_HI_addr_63_32_shift 0 2760*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_ADDR_HI_ADDR_63_32(x) (((x) & SDMA_PKT_ATOMIC_ADDR_HI_addr_63_32_mask) << SDMA_PKT_ATOMIC_ADDR_HI_addr_63_32_shift) 2761*90df1d55SAlex Deucher 2762*90df1d55SAlex Deucher /*define for SRC_DATA_LO word*/ 2763*90df1d55SAlex Deucher /*define for src_data_31_0 field*/ 2764*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_SRC_DATA_LO_src_data_31_0_offset 3 2765*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_SRC_DATA_LO_src_data_31_0_mask 0xFFFFFFFF 2766*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_SRC_DATA_LO_src_data_31_0_shift 0 2767*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_SRC_DATA_LO_SRC_DATA_31_0(x) (((x) & SDMA_PKT_ATOMIC_SRC_DATA_LO_src_data_31_0_mask) << SDMA_PKT_ATOMIC_SRC_DATA_LO_src_data_31_0_shift) 2768*90df1d55SAlex Deucher 2769*90df1d55SAlex Deucher /*define for SRC_DATA_HI word*/ 2770*90df1d55SAlex Deucher /*define for src_data_63_32 field*/ 2771*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_SRC_DATA_HI_src_data_63_32_offset 4 2772*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_SRC_DATA_HI_src_data_63_32_mask 0xFFFFFFFF 2773*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_SRC_DATA_HI_src_data_63_32_shift 0 2774*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_SRC_DATA_HI_SRC_DATA_63_32(x) (((x) & SDMA_PKT_ATOMIC_SRC_DATA_HI_src_data_63_32_mask) << SDMA_PKT_ATOMIC_SRC_DATA_HI_src_data_63_32_shift) 2775*90df1d55SAlex Deucher 2776*90df1d55SAlex Deucher /*define for CMP_DATA_LO word*/ 2777*90df1d55SAlex Deucher /*define for cmp_data_31_0 field*/ 2778*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_CMP_DATA_LO_cmp_data_31_0_offset 5 2779*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_CMP_DATA_LO_cmp_data_31_0_mask 0xFFFFFFFF 2780*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_CMP_DATA_LO_cmp_data_31_0_shift 0 2781*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_CMP_DATA_LO_CMP_DATA_31_0(x) (((x) & SDMA_PKT_ATOMIC_CMP_DATA_LO_cmp_data_31_0_mask) << SDMA_PKT_ATOMIC_CMP_DATA_LO_cmp_data_31_0_shift) 2782*90df1d55SAlex Deucher 2783*90df1d55SAlex Deucher /*define for CMP_DATA_HI word*/ 2784*90df1d55SAlex Deucher /*define for cmp_data_63_32 field*/ 2785*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_CMP_DATA_HI_cmp_data_63_32_offset 6 2786*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_CMP_DATA_HI_cmp_data_63_32_mask 0xFFFFFFFF 2787*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_CMP_DATA_HI_cmp_data_63_32_shift 0 2788*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_CMP_DATA_HI_CMP_DATA_63_32(x) (((x) & SDMA_PKT_ATOMIC_CMP_DATA_HI_cmp_data_63_32_mask) << SDMA_PKT_ATOMIC_CMP_DATA_HI_cmp_data_63_32_shift) 2789*90df1d55SAlex Deucher 2790*90df1d55SAlex Deucher /*define for LOOP_INTERVAL word*/ 2791*90df1d55SAlex Deucher /*define for loop_interval field*/ 2792*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_LOOP_INTERVAL_loop_interval_offset 7 2793*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_LOOP_INTERVAL_loop_interval_mask 0x00001FFF 2794*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_LOOP_INTERVAL_loop_interval_shift 0 2795*90df1d55SAlex Deucher #define SDMA_PKT_ATOMIC_LOOP_INTERVAL_LOOP_INTERVAL(x) (((x) & SDMA_PKT_ATOMIC_LOOP_INTERVAL_loop_interval_mask) << SDMA_PKT_ATOMIC_LOOP_INTERVAL_loop_interval_shift) 2796*90df1d55SAlex Deucher 2797*90df1d55SAlex Deucher 2798*90df1d55SAlex Deucher /* 2799*90df1d55SAlex Deucher ** Definitions for SDMA_PKT_TIMESTAMP_SET packet 2800*90df1d55SAlex Deucher */ 2801*90df1d55SAlex Deucher 2802*90df1d55SAlex Deucher /*define for HEADER word*/ 2803*90df1d55SAlex Deucher /*define for op field*/ 2804*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_SET_HEADER_op_offset 0 2805*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_SET_HEADER_op_mask 0x000000FF 2806*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_SET_HEADER_op_shift 0 2807*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_SET_HEADER_OP(x) (((x) & SDMA_PKT_TIMESTAMP_SET_HEADER_op_mask) << SDMA_PKT_TIMESTAMP_SET_HEADER_op_shift) 2808*90df1d55SAlex Deucher 2809*90df1d55SAlex Deucher /*define for sub_op field*/ 2810*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_SET_HEADER_sub_op_offset 0 2811*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_SET_HEADER_sub_op_mask 0x000000FF 2812*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_SET_HEADER_sub_op_shift 8 2813*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_SET_HEADER_SUB_OP(x) (((x) & SDMA_PKT_TIMESTAMP_SET_HEADER_sub_op_mask) << SDMA_PKT_TIMESTAMP_SET_HEADER_sub_op_shift) 2814*90df1d55SAlex Deucher 2815*90df1d55SAlex Deucher /*define for INIT_DATA_LO word*/ 2816*90df1d55SAlex Deucher /*define for init_data_31_0 field*/ 2817*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_SET_INIT_DATA_LO_init_data_31_0_offset 1 2818*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_SET_INIT_DATA_LO_init_data_31_0_mask 0xFFFFFFFF 2819*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_SET_INIT_DATA_LO_init_data_31_0_shift 0 2820*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_SET_INIT_DATA_LO_INIT_DATA_31_0(x) (((x) & SDMA_PKT_TIMESTAMP_SET_INIT_DATA_LO_init_data_31_0_mask) << SDMA_PKT_TIMESTAMP_SET_INIT_DATA_LO_init_data_31_0_shift) 2821*90df1d55SAlex Deucher 2822*90df1d55SAlex Deucher /*define for INIT_DATA_HI word*/ 2823*90df1d55SAlex Deucher /*define for init_data_63_32 field*/ 2824*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_SET_INIT_DATA_HI_init_data_63_32_offset 2 2825*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_SET_INIT_DATA_HI_init_data_63_32_mask 0xFFFFFFFF 2826*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_SET_INIT_DATA_HI_init_data_63_32_shift 0 2827*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_SET_INIT_DATA_HI_INIT_DATA_63_32(x) (((x) & SDMA_PKT_TIMESTAMP_SET_INIT_DATA_HI_init_data_63_32_mask) << SDMA_PKT_TIMESTAMP_SET_INIT_DATA_HI_init_data_63_32_shift) 2828*90df1d55SAlex Deucher 2829*90df1d55SAlex Deucher 2830*90df1d55SAlex Deucher /* 2831*90df1d55SAlex Deucher ** Definitions for SDMA_PKT_TIMESTAMP_GET packet 2832*90df1d55SAlex Deucher */ 2833*90df1d55SAlex Deucher 2834*90df1d55SAlex Deucher /*define for HEADER word*/ 2835*90df1d55SAlex Deucher /*define for op field*/ 2836*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_HEADER_op_offset 0 2837*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_HEADER_op_mask 0x000000FF 2838*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_HEADER_op_shift 0 2839*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_HEADER_OP(x) (((x) & SDMA_PKT_TIMESTAMP_GET_HEADER_op_mask) << SDMA_PKT_TIMESTAMP_GET_HEADER_op_shift) 2840*90df1d55SAlex Deucher 2841*90df1d55SAlex Deucher /*define for sub_op field*/ 2842*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_HEADER_sub_op_offset 0 2843*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_HEADER_sub_op_mask 0x000000FF 2844*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_HEADER_sub_op_shift 8 2845*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_HEADER_SUB_OP(x) (((x) & SDMA_PKT_TIMESTAMP_GET_HEADER_sub_op_mask) << SDMA_PKT_TIMESTAMP_GET_HEADER_sub_op_shift) 2846*90df1d55SAlex Deucher 2847*90df1d55SAlex Deucher /*define for WRITE_ADDR_LO word*/ 2848*90df1d55SAlex Deucher /*define for write_addr_31_3 field*/ 2849*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_WRITE_ADDR_LO_write_addr_31_3_offset 1 2850*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_WRITE_ADDR_LO_write_addr_31_3_mask 0x1FFFFFFF 2851*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_WRITE_ADDR_LO_write_addr_31_3_shift 3 2852*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_WRITE_ADDR_LO_WRITE_ADDR_31_3(x) (((x) & SDMA_PKT_TIMESTAMP_GET_WRITE_ADDR_LO_write_addr_31_3_mask) << SDMA_PKT_TIMESTAMP_GET_WRITE_ADDR_LO_write_addr_31_3_shift) 2853*90df1d55SAlex Deucher 2854*90df1d55SAlex Deucher /*define for WRITE_ADDR_HI word*/ 2855*90df1d55SAlex Deucher /*define for write_addr_63_32 field*/ 2856*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_WRITE_ADDR_HI_write_addr_63_32_offset 2 2857*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_WRITE_ADDR_HI_write_addr_63_32_mask 0xFFFFFFFF 2858*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_WRITE_ADDR_HI_write_addr_63_32_shift 0 2859*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_WRITE_ADDR_HI_WRITE_ADDR_63_32(x) (((x) & SDMA_PKT_TIMESTAMP_GET_WRITE_ADDR_HI_write_addr_63_32_mask) << SDMA_PKT_TIMESTAMP_GET_WRITE_ADDR_HI_write_addr_63_32_shift) 2860*90df1d55SAlex Deucher 2861*90df1d55SAlex Deucher 2862*90df1d55SAlex Deucher /* 2863*90df1d55SAlex Deucher ** Definitions for SDMA_PKT_TIMESTAMP_GET_GLOBAL packet 2864*90df1d55SAlex Deucher */ 2865*90df1d55SAlex Deucher 2866*90df1d55SAlex Deucher /*define for HEADER word*/ 2867*90df1d55SAlex Deucher /*define for op field*/ 2868*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_GLOBAL_HEADER_op_offset 0 2869*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_GLOBAL_HEADER_op_mask 0x000000FF 2870*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_GLOBAL_HEADER_op_shift 0 2871*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_GLOBAL_HEADER_OP(x) (((x) & SDMA_PKT_TIMESTAMP_GET_GLOBAL_HEADER_op_mask) << SDMA_PKT_TIMESTAMP_GET_GLOBAL_HEADER_op_shift) 2872*90df1d55SAlex Deucher 2873*90df1d55SAlex Deucher /*define for sub_op field*/ 2874*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_GLOBAL_HEADER_sub_op_offset 0 2875*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_GLOBAL_HEADER_sub_op_mask 0x000000FF 2876*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_GLOBAL_HEADER_sub_op_shift 8 2877*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_GLOBAL_HEADER_SUB_OP(x) (((x) & SDMA_PKT_TIMESTAMP_GET_GLOBAL_HEADER_sub_op_mask) << SDMA_PKT_TIMESTAMP_GET_GLOBAL_HEADER_sub_op_shift) 2878*90df1d55SAlex Deucher 2879*90df1d55SAlex Deucher /*define for WRITE_ADDR_LO word*/ 2880*90df1d55SAlex Deucher /*define for write_addr_31_3 field*/ 2881*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_GLOBAL_WRITE_ADDR_LO_write_addr_31_3_offset 1 2882*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_GLOBAL_WRITE_ADDR_LO_write_addr_31_3_mask 0x1FFFFFFF 2883*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_GLOBAL_WRITE_ADDR_LO_write_addr_31_3_shift 3 2884*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_GLOBAL_WRITE_ADDR_LO_WRITE_ADDR_31_3(x) (((x) & SDMA_PKT_TIMESTAMP_GET_GLOBAL_WRITE_ADDR_LO_write_addr_31_3_mask) << SDMA_PKT_TIMESTAMP_GET_GLOBAL_WRITE_ADDR_LO_write_addr_31_3_shift) 2885*90df1d55SAlex Deucher 2886*90df1d55SAlex Deucher /*define for WRITE_ADDR_HI word*/ 2887*90df1d55SAlex Deucher /*define for write_addr_63_32 field*/ 2888*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_GLOBAL_WRITE_ADDR_HI_write_addr_63_32_offset 2 2889*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_GLOBAL_WRITE_ADDR_HI_write_addr_63_32_mask 0xFFFFFFFF 2890*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_GLOBAL_WRITE_ADDR_HI_write_addr_63_32_shift 0 2891*90df1d55SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_GLOBAL_WRITE_ADDR_HI_WRITE_ADDR_63_32(x) (((x) & SDMA_PKT_TIMESTAMP_GET_GLOBAL_WRITE_ADDR_HI_write_addr_63_32_mask) << SDMA_PKT_TIMESTAMP_GET_GLOBAL_WRITE_ADDR_HI_write_addr_63_32_shift) 2892*90df1d55SAlex Deucher 2893*90df1d55SAlex Deucher 2894*90df1d55SAlex Deucher /* 2895*90df1d55SAlex Deucher ** Definitions for SDMA_PKT_TRAP packet 2896*90df1d55SAlex Deucher */ 2897*90df1d55SAlex Deucher 2898*90df1d55SAlex Deucher /*define for HEADER word*/ 2899*90df1d55SAlex Deucher /*define for op field*/ 2900*90df1d55SAlex Deucher #define SDMA_PKT_TRAP_HEADER_op_offset 0 2901*90df1d55SAlex Deucher #define SDMA_PKT_TRAP_HEADER_op_mask 0x000000FF 2902*90df1d55SAlex Deucher #define SDMA_PKT_TRAP_HEADER_op_shift 0 2903*90df1d55SAlex Deucher #define SDMA_PKT_TRAP_HEADER_OP(x) (((x) & SDMA_PKT_TRAP_HEADER_op_mask) << SDMA_PKT_TRAP_HEADER_op_shift) 2904*90df1d55SAlex Deucher 2905*90df1d55SAlex Deucher /*define for sub_op field*/ 2906*90df1d55SAlex Deucher #define SDMA_PKT_TRAP_HEADER_sub_op_offset 0 2907*90df1d55SAlex Deucher #define SDMA_PKT_TRAP_HEADER_sub_op_mask 0x000000FF 2908*90df1d55SAlex Deucher #define SDMA_PKT_TRAP_HEADER_sub_op_shift 8 2909*90df1d55SAlex Deucher #define SDMA_PKT_TRAP_HEADER_SUB_OP(x) (((x) & SDMA_PKT_TRAP_HEADER_sub_op_mask) << SDMA_PKT_TRAP_HEADER_sub_op_shift) 2910*90df1d55SAlex Deucher 2911*90df1d55SAlex Deucher /*define for INT_CONTEXT word*/ 2912*90df1d55SAlex Deucher /*define for int_context field*/ 2913*90df1d55SAlex Deucher #define SDMA_PKT_TRAP_INT_CONTEXT_int_context_offset 1 2914*90df1d55SAlex Deucher #define SDMA_PKT_TRAP_INT_CONTEXT_int_context_mask 0x0FFFFFFF 2915*90df1d55SAlex Deucher #define SDMA_PKT_TRAP_INT_CONTEXT_int_context_shift 0 2916*90df1d55SAlex Deucher #define SDMA_PKT_TRAP_INT_CONTEXT_INT_CONTEXT(x) (((x) & SDMA_PKT_TRAP_INT_CONTEXT_int_context_mask) << SDMA_PKT_TRAP_INT_CONTEXT_int_context_shift) 2917*90df1d55SAlex Deucher 2918*90df1d55SAlex Deucher 2919*90df1d55SAlex Deucher /* 2920*90df1d55SAlex Deucher ** Definitions for SDMA_PKT_DUMMY_TRAP packet 2921*90df1d55SAlex Deucher */ 2922*90df1d55SAlex Deucher 2923*90df1d55SAlex Deucher /*define for HEADER word*/ 2924*90df1d55SAlex Deucher /*define for op field*/ 2925*90df1d55SAlex Deucher #define SDMA_PKT_DUMMY_TRAP_HEADER_op_offset 0 2926*90df1d55SAlex Deucher #define SDMA_PKT_DUMMY_TRAP_HEADER_op_mask 0x000000FF 2927*90df1d55SAlex Deucher #define SDMA_PKT_DUMMY_TRAP_HEADER_op_shift 0 2928*90df1d55SAlex Deucher #define SDMA_PKT_DUMMY_TRAP_HEADER_OP(x) (((x) & SDMA_PKT_DUMMY_TRAP_HEADER_op_mask) << SDMA_PKT_DUMMY_TRAP_HEADER_op_shift) 2929*90df1d55SAlex Deucher 2930*90df1d55SAlex Deucher /*define for sub_op field*/ 2931*90df1d55SAlex Deucher #define SDMA_PKT_DUMMY_TRAP_HEADER_sub_op_offset 0 2932*90df1d55SAlex Deucher #define SDMA_PKT_DUMMY_TRAP_HEADER_sub_op_mask 0x000000FF 2933*90df1d55SAlex Deucher #define SDMA_PKT_DUMMY_TRAP_HEADER_sub_op_shift 8 2934*90df1d55SAlex Deucher #define SDMA_PKT_DUMMY_TRAP_HEADER_SUB_OP(x) (((x) & SDMA_PKT_DUMMY_TRAP_HEADER_sub_op_mask) << SDMA_PKT_DUMMY_TRAP_HEADER_sub_op_shift) 2935*90df1d55SAlex Deucher 2936*90df1d55SAlex Deucher /*define for INT_CONTEXT word*/ 2937*90df1d55SAlex Deucher /*define for int_context field*/ 2938*90df1d55SAlex Deucher #define SDMA_PKT_DUMMY_TRAP_INT_CONTEXT_int_context_offset 1 2939*90df1d55SAlex Deucher #define SDMA_PKT_DUMMY_TRAP_INT_CONTEXT_int_context_mask 0x0FFFFFFF 2940*90df1d55SAlex Deucher #define SDMA_PKT_DUMMY_TRAP_INT_CONTEXT_int_context_shift 0 2941*90df1d55SAlex Deucher #define SDMA_PKT_DUMMY_TRAP_INT_CONTEXT_INT_CONTEXT(x) (((x) & SDMA_PKT_DUMMY_TRAP_INT_CONTEXT_int_context_mask) << SDMA_PKT_DUMMY_TRAP_INT_CONTEXT_int_context_shift) 2942*90df1d55SAlex Deucher 2943*90df1d55SAlex Deucher 2944*90df1d55SAlex Deucher /* 2945*90df1d55SAlex Deucher ** Definitions for SDMA_PKT_NOP packet 2946*90df1d55SAlex Deucher */ 2947*90df1d55SAlex Deucher 2948*90df1d55SAlex Deucher /*define for HEADER word*/ 2949*90df1d55SAlex Deucher /*define for op field*/ 2950*90df1d55SAlex Deucher #define SDMA_PKT_NOP_HEADER_op_offset 0 2951*90df1d55SAlex Deucher #define SDMA_PKT_NOP_HEADER_op_mask 0x000000FF 2952*90df1d55SAlex Deucher #define SDMA_PKT_NOP_HEADER_op_shift 0 2953*90df1d55SAlex Deucher #define SDMA_PKT_NOP_HEADER_OP(x) (((x) & SDMA_PKT_NOP_HEADER_op_mask) << SDMA_PKT_NOP_HEADER_op_shift) 2954*90df1d55SAlex Deucher 2955*90df1d55SAlex Deucher /*define for sub_op field*/ 2956*90df1d55SAlex Deucher #define SDMA_PKT_NOP_HEADER_sub_op_offset 0 2957*90df1d55SAlex Deucher #define SDMA_PKT_NOP_HEADER_sub_op_mask 0x000000FF 2958*90df1d55SAlex Deucher #define SDMA_PKT_NOP_HEADER_sub_op_shift 8 2959*90df1d55SAlex Deucher #define SDMA_PKT_NOP_HEADER_SUB_OP(x) (((x) & SDMA_PKT_NOP_HEADER_sub_op_mask) << SDMA_PKT_NOP_HEADER_sub_op_shift) 2960*90df1d55SAlex Deucher 2961*90df1d55SAlex Deucher /*define for count field*/ 2962*90df1d55SAlex Deucher #define SDMA_PKT_NOP_HEADER_count_offset 0 2963*90df1d55SAlex Deucher #define SDMA_PKT_NOP_HEADER_count_mask 0x00003FFF 2964*90df1d55SAlex Deucher #define SDMA_PKT_NOP_HEADER_count_shift 16 2965*90df1d55SAlex Deucher #define SDMA_PKT_NOP_HEADER_COUNT(x) (((x) & SDMA_PKT_NOP_HEADER_count_mask) << SDMA_PKT_NOP_HEADER_count_shift) 2966*90df1d55SAlex Deucher 2967*90df1d55SAlex Deucher /*define for DATA0 word*/ 2968*90df1d55SAlex Deucher /*define for data0 field*/ 2969*90df1d55SAlex Deucher #define SDMA_PKT_NOP_DATA0_data0_offset 1 2970*90df1d55SAlex Deucher #define SDMA_PKT_NOP_DATA0_data0_mask 0xFFFFFFFF 2971*90df1d55SAlex Deucher #define SDMA_PKT_NOP_DATA0_data0_shift 0 2972*90df1d55SAlex Deucher #define SDMA_PKT_NOP_DATA0_DATA0(x) (((x) & SDMA_PKT_NOP_DATA0_data0_mask) << SDMA_PKT_NOP_DATA0_data0_shift) 2973*90df1d55SAlex Deucher 2974*90df1d55SAlex Deucher 2975*90df1d55SAlex Deucher /* 2976*90df1d55SAlex Deucher ** Definitions for SDMA_AQL_PKT_HEADER packet 2977*90df1d55SAlex Deucher */ 2978*90df1d55SAlex Deucher 2979*90df1d55SAlex Deucher /*define for HEADER word*/ 2980*90df1d55SAlex Deucher /*define for format field*/ 2981*90df1d55SAlex Deucher #define SDMA_AQL_PKT_HEADER_HEADER_format_offset 0 2982*90df1d55SAlex Deucher #define SDMA_AQL_PKT_HEADER_HEADER_format_mask 0x000000FF 2983*90df1d55SAlex Deucher #define SDMA_AQL_PKT_HEADER_HEADER_format_shift 0 2984*90df1d55SAlex Deucher #define SDMA_AQL_PKT_HEADER_HEADER_FORMAT(x) (((x) & SDMA_AQL_PKT_HEADER_HEADER_format_mask) << SDMA_AQL_PKT_HEADER_HEADER_format_shift) 2985*90df1d55SAlex Deucher 2986*90df1d55SAlex Deucher /*define for barrier field*/ 2987*90df1d55SAlex Deucher #define SDMA_AQL_PKT_HEADER_HEADER_barrier_offset 0 2988*90df1d55SAlex Deucher #define SDMA_AQL_PKT_HEADER_HEADER_barrier_mask 0x00000001 2989*90df1d55SAlex Deucher #define SDMA_AQL_PKT_HEADER_HEADER_barrier_shift 8 2990*90df1d55SAlex Deucher #define SDMA_AQL_PKT_HEADER_HEADER_BARRIER(x) (((x) & SDMA_AQL_PKT_HEADER_HEADER_barrier_mask) << SDMA_AQL_PKT_HEADER_HEADER_barrier_shift) 2991*90df1d55SAlex Deucher 2992*90df1d55SAlex Deucher /*define for acquire_fence_scope field*/ 2993*90df1d55SAlex Deucher #define SDMA_AQL_PKT_HEADER_HEADER_acquire_fence_scope_offset 0 2994*90df1d55SAlex Deucher #define SDMA_AQL_PKT_HEADER_HEADER_acquire_fence_scope_mask 0x00000003 2995*90df1d55SAlex Deucher #define SDMA_AQL_PKT_HEADER_HEADER_acquire_fence_scope_shift 9 2996*90df1d55SAlex Deucher #define SDMA_AQL_PKT_HEADER_HEADER_ACQUIRE_FENCE_SCOPE(x) (((x) & SDMA_AQL_PKT_HEADER_HEADER_acquire_fence_scope_mask) << SDMA_AQL_PKT_HEADER_HEADER_acquire_fence_scope_shift) 2997*90df1d55SAlex Deucher 2998*90df1d55SAlex Deucher /*define for release_fence_scope field*/ 2999*90df1d55SAlex Deucher #define SDMA_AQL_PKT_HEADER_HEADER_release_fence_scope_offset 0 3000*90df1d55SAlex Deucher #define SDMA_AQL_PKT_HEADER_HEADER_release_fence_scope_mask 0x00000003 3001*90df1d55SAlex Deucher #define SDMA_AQL_PKT_HEADER_HEADER_release_fence_scope_shift 11 3002*90df1d55SAlex Deucher #define SDMA_AQL_PKT_HEADER_HEADER_RELEASE_FENCE_SCOPE(x) (((x) & SDMA_AQL_PKT_HEADER_HEADER_release_fence_scope_mask) << SDMA_AQL_PKT_HEADER_HEADER_release_fence_scope_shift) 3003*90df1d55SAlex Deucher 3004*90df1d55SAlex Deucher /*define for reserved field*/ 3005*90df1d55SAlex Deucher #define SDMA_AQL_PKT_HEADER_HEADER_reserved_offset 0 3006*90df1d55SAlex Deucher #define SDMA_AQL_PKT_HEADER_HEADER_reserved_mask 0x00000007 3007*90df1d55SAlex Deucher #define SDMA_AQL_PKT_HEADER_HEADER_reserved_shift 13 3008*90df1d55SAlex Deucher #define SDMA_AQL_PKT_HEADER_HEADER_RESERVED(x) (((x) & SDMA_AQL_PKT_HEADER_HEADER_reserved_mask) << SDMA_AQL_PKT_HEADER_HEADER_reserved_shift) 3009*90df1d55SAlex Deucher 3010*90df1d55SAlex Deucher /*define for op field*/ 3011*90df1d55SAlex Deucher #define SDMA_AQL_PKT_HEADER_HEADER_op_offset 0 3012*90df1d55SAlex Deucher #define SDMA_AQL_PKT_HEADER_HEADER_op_mask 0x0000000F 3013*90df1d55SAlex Deucher #define SDMA_AQL_PKT_HEADER_HEADER_op_shift 16 3014*90df1d55SAlex Deucher #define SDMA_AQL_PKT_HEADER_HEADER_OP(x) (((x) & SDMA_AQL_PKT_HEADER_HEADER_op_mask) << SDMA_AQL_PKT_HEADER_HEADER_op_shift) 3015*90df1d55SAlex Deucher 3016*90df1d55SAlex Deucher /*define for subop field*/ 3017*90df1d55SAlex Deucher #define SDMA_AQL_PKT_HEADER_HEADER_subop_offset 0 3018*90df1d55SAlex Deucher #define SDMA_AQL_PKT_HEADER_HEADER_subop_mask 0x00000007 3019*90df1d55SAlex Deucher #define SDMA_AQL_PKT_HEADER_HEADER_subop_shift 20 3020*90df1d55SAlex Deucher #define SDMA_AQL_PKT_HEADER_HEADER_SUBOP(x) (((x) & SDMA_AQL_PKT_HEADER_HEADER_subop_mask) << SDMA_AQL_PKT_HEADER_HEADER_subop_shift) 3021*90df1d55SAlex Deucher 3022*90df1d55SAlex Deucher 3023*90df1d55SAlex Deucher /* 3024*90df1d55SAlex Deucher ** Definitions for SDMA_AQL_PKT_COPY_LINEAR packet 3025*90df1d55SAlex Deucher */ 3026*90df1d55SAlex Deucher 3027*90df1d55SAlex Deucher /*define for HEADER word*/ 3028*90df1d55SAlex Deucher /*define for format field*/ 3029*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_HEADER_format_offset 0 3030*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_HEADER_format_mask 0x000000FF 3031*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_HEADER_format_shift 0 3032*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_HEADER_FORMAT(x) (((x) & SDMA_AQL_PKT_COPY_LINEAR_HEADER_format_mask) << SDMA_AQL_PKT_COPY_LINEAR_HEADER_format_shift) 3033*90df1d55SAlex Deucher 3034*90df1d55SAlex Deucher /*define for barrier field*/ 3035*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_HEADER_barrier_offset 0 3036*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_HEADER_barrier_mask 0x00000001 3037*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_HEADER_barrier_shift 8 3038*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_HEADER_BARRIER(x) (((x) & SDMA_AQL_PKT_COPY_LINEAR_HEADER_barrier_mask) << SDMA_AQL_PKT_COPY_LINEAR_HEADER_barrier_shift) 3039*90df1d55SAlex Deucher 3040*90df1d55SAlex Deucher /*define for acquire_fence_scope field*/ 3041*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_HEADER_acquire_fence_scope_offset 0 3042*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_HEADER_acquire_fence_scope_mask 0x00000003 3043*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_HEADER_acquire_fence_scope_shift 9 3044*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_HEADER_ACQUIRE_FENCE_SCOPE(x) (((x) & SDMA_AQL_PKT_COPY_LINEAR_HEADER_acquire_fence_scope_mask) << SDMA_AQL_PKT_COPY_LINEAR_HEADER_acquire_fence_scope_shift) 3045*90df1d55SAlex Deucher 3046*90df1d55SAlex Deucher /*define for release_fence_scope field*/ 3047*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_HEADER_release_fence_scope_offset 0 3048*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_HEADER_release_fence_scope_mask 0x00000003 3049*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_HEADER_release_fence_scope_shift 11 3050*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_HEADER_RELEASE_FENCE_SCOPE(x) (((x) & SDMA_AQL_PKT_COPY_LINEAR_HEADER_release_fence_scope_mask) << SDMA_AQL_PKT_COPY_LINEAR_HEADER_release_fence_scope_shift) 3051*90df1d55SAlex Deucher 3052*90df1d55SAlex Deucher /*define for reserved field*/ 3053*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_HEADER_reserved_offset 0 3054*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_HEADER_reserved_mask 0x00000007 3055*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_HEADER_reserved_shift 13 3056*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_HEADER_RESERVED(x) (((x) & SDMA_AQL_PKT_COPY_LINEAR_HEADER_reserved_mask) << SDMA_AQL_PKT_COPY_LINEAR_HEADER_reserved_shift) 3057*90df1d55SAlex Deucher 3058*90df1d55SAlex Deucher /*define for op field*/ 3059*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_HEADER_op_offset 0 3060*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_HEADER_op_mask 0x0000000F 3061*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_HEADER_op_shift 16 3062*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_HEADER_OP(x) (((x) & SDMA_AQL_PKT_COPY_LINEAR_HEADER_op_mask) << SDMA_AQL_PKT_COPY_LINEAR_HEADER_op_shift) 3063*90df1d55SAlex Deucher 3064*90df1d55SAlex Deucher /*define for subop field*/ 3065*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_HEADER_subop_offset 0 3066*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_HEADER_subop_mask 0x00000007 3067*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_HEADER_subop_shift 20 3068*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_HEADER_SUBOP(x) (((x) & SDMA_AQL_PKT_COPY_LINEAR_HEADER_subop_mask) << SDMA_AQL_PKT_COPY_LINEAR_HEADER_subop_shift) 3069*90df1d55SAlex Deucher 3070*90df1d55SAlex Deucher /*define for RESERVED_DW1 word*/ 3071*90df1d55SAlex Deucher /*define for reserved_dw1 field*/ 3072*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_RESERVED_DW1_reserved_dw1_offset 1 3073*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_RESERVED_DW1_reserved_dw1_mask 0xFFFFFFFF 3074*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_RESERVED_DW1_reserved_dw1_shift 0 3075*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_RESERVED_DW1_RESERVED_DW1(x) (((x) & SDMA_AQL_PKT_COPY_LINEAR_RESERVED_DW1_reserved_dw1_mask) << SDMA_AQL_PKT_COPY_LINEAR_RESERVED_DW1_reserved_dw1_shift) 3076*90df1d55SAlex Deucher 3077*90df1d55SAlex Deucher /*define for RETURN_ADDR_LO word*/ 3078*90df1d55SAlex Deucher /*define for return_addr_31_0 field*/ 3079*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_RETURN_ADDR_LO_return_addr_31_0_offset 2 3080*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_RETURN_ADDR_LO_return_addr_31_0_mask 0xFFFFFFFF 3081*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_RETURN_ADDR_LO_return_addr_31_0_shift 0 3082*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_RETURN_ADDR_LO_RETURN_ADDR_31_0(x) (((x) & SDMA_AQL_PKT_COPY_LINEAR_RETURN_ADDR_LO_return_addr_31_0_mask) << SDMA_AQL_PKT_COPY_LINEAR_RETURN_ADDR_LO_return_addr_31_0_shift) 3083*90df1d55SAlex Deucher 3084*90df1d55SAlex Deucher /*define for RETURN_ADDR_HI word*/ 3085*90df1d55SAlex Deucher /*define for return_addr_63_32 field*/ 3086*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_RETURN_ADDR_HI_return_addr_63_32_offset 3 3087*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_RETURN_ADDR_HI_return_addr_63_32_mask 0xFFFFFFFF 3088*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_RETURN_ADDR_HI_return_addr_63_32_shift 0 3089*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_RETURN_ADDR_HI_RETURN_ADDR_63_32(x) (((x) & SDMA_AQL_PKT_COPY_LINEAR_RETURN_ADDR_HI_return_addr_63_32_mask) << SDMA_AQL_PKT_COPY_LINEAR_RETURN_ADDR_HI_return_addr_63_32_shift) 3090*90df1d55SAlex Deucher 3091*90df1d55SAlex Deucher /*define for COUNT word*/ 3092*90df1d55SAlex Deucher /*define for count field*/ 3093*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_COUNT_count_offset 4 3094*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_COUNT_count_mask 0x003FFFFF 3095*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_COUNT_count_shift 0 3096*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_COUNT_COUNT(x) (((x) & SDMA_AQL_PKT_COPY_LINEAR_COUNT_count_mask) << SDMA_AQL_PKT_COPY_LINEAR_COUNT_count_shift) 3097*90df1d55SAlex Deucher 3098*90df1d55SAlex Deucher /*define for PARAMETER word*/ 3099*90df1d55SAlex Deucher /*define for dst_sw field*/ 3100*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_PARAMETER_dst_sw_offset 5 3101*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_PARAMETER_dst_sw_mask 0x00000003 3102*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_PARAMETER_dst_sw_shift 16 3103*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_PARAMETER_DST_SW(x) (((x) & SDMA_AQL_PKT_COPY_LINEAR_PARAMETER_dst_sw_mask) << SDMA_AQL_PKT_COPY_LINEAR_PARAMETER_dst_sw_shift) 3104*90df1d55SAlex Deucher 3105*90df1d55SAlex Deucher /*define for src_sw field*/ 3106*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_PARAMETER_src_sw_offset 5 3107*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_PARAMETER_src_sw_mask 0x00000003 3108*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_PARAMETER_src_sw_shift 24 3109*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_PARAMETER_SRC_SW(x) (((x) & SDMA_AQL_PKT_COPY_LINEAR_PARAMETER_src_sw_mask) << SDMA_AQL_PKT_COPY_LINEAR_PARAMETER_src_sw_shift) 3110*90df1d55SAlex Deucher 3111*90df1d55SAlex Deucher /*define for SRC_ADDR_LO word*/ 3112*90df1d55SAlex Deucher /*define for src_addr_31_0 field*/ 3113*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_SRC_ADDR_LO_src_addr_31_0_offset 6 3114*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_SRC_ADDR_LO_src_addr_31_0_mask 0xFFFFFFFF 3115*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_SRC_ADDR_LO_src_addr_31_0_shift 0 3116*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_SRC_ADDR_LO_SRC_ADDR_31_0(x) (((x) & SDMA_AQL_PKT_COPY_LINEAR_SRC_ADDR_LO_src_addr_31_0_mask) << SDMA_AQL_PKT_COPY_LINEAR_SRC_ADDR_LO_src_addr_31_0_shift) 3117*90df1d55SAlex Deucher 3118*90df1d55SAlex Deucher /*define for SRC_ADDR_HI word*/ 3119*90df1d55SAlex Deucher /*define for src_addr_63_32 field*/ 3120*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_SRC_ADDR_HI_src_addr_63_32_offset 7 3121*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_SRC_ADDR_HI_src_addr_63_32_mask 0xFFFFFFFF 3122*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_SRC_ADDR_HI_src_addr_63_32_shift 0 3123*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_SRC_ADDR_HI_SRC_ADDR_63_32(x) (((x) & SDMA_AQL_PKT_COPY_LINEAR_SRC_ADDR_HI_src_addr_63_32_mask) << SDMA_AQL_PKT_COPY_LINEAR_SRC_ADDR_HI_src_addr_63_32_shift) 3124*90df1d55SAlex Deucher 3125*90df1d55SAlex Deucher /*define for DST_ADDR_LO word*/ 3126*90df1d55SAlex Deucher /*define for dst_addr_31_0 field*/ 3127*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_DST_ADDR_LO_dst_addr_31_0_offset 8 3128*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_DST_ADDR_LO_dst_addr_31_0_mask 0xFFFFFFFF 3129*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_DST_ADDR_LO_dst_addr_31_0_shift 0 3130*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_DST_ADDR_LO_DST_ADDR_31_0(x) (((x) & SDMA_AQL_PKT_COPY_LINEAR_DST_ADDR_LO_dst_addr_31_0_mask) << SDMA_AQL_PKT_COPY_LINEAR_DST_ADDR_LO_dst_addr_31_0_shift) 3131*90df1d55SAlex Deucher 3132*90df1d55SAlex Deucher /*define for DST_ADDR_HI word*/ 3133*90df1d55SAlex Deucher /*define for dst_addr_63_32 field*/ 3134*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_DST_ADDR_HI_dst_addr_63_32_offset 9 3135*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_DST_ADDR_HI_dst_addr_63_32_mask 0xFFFFFFFF 3136*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_DST_ADDR_HI_dst_addr_63_32_shift 0 3137*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_DST_ADDR_HI_DST_ADDR_63_32(x) (((x) & SDMA_AQL_PKT_COPY_LINEAR_DST_ADDR_HI_dst_addr_63_32_mask) << SDMA_AQL_PKT_COPY_LINEAR_DST_ADDR_HI_dst_addr_63_32_shift) 3138*90df1d55SAlex Deucher 3139*90df1d55SAlex Deucher /*define for RESERVED_DW10 word*/ 3140*90df1d55SAlex Deucher /*define for reserved_dw10 field*/ 3141*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_RESERVED_DW10_reserved_dw10_offset 10 3142*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_RESERVED_DW10_reserved_dw10_mask 0xFFFFFFFF 3143*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_RESERVED_DW10_reserved_dw10_shift 0 3144*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_RESERVED_DW10_RESERVED_DW10(x) (((x) & SDMA_AQL_PKT_COPY_LINEAR_RESERVED_DW10_reserved_dw10_mask) << SDMA_AQL_PKT_COPY_LINEAR_RESERVED_DW10_reserved_dw10_shift) 3145*90df1d55SAlex Deucher 3146*90df1d55SAlex Deucher /*define for RESERVED_DW11 word*/ 3147*90df1d55SAlex Deucher /*define for reserved_dw11 field*/ 3148*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_RESERVED_DW11_reserved_dw11_offset 11 3149*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_RESERVED_DW11_reserved_dw11_mask 0xFFFFFFFF 3150*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_RESERVED_DW11_reserved_dw11_shift 0 3151*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_RESERVED_DW11_RESERVED_DW11(x) (((x) & SDMA_AQL_PKT_COPY_LINEAR_RESERVED_DW11_reserved_dw11_mask) << SDMA_AQL_PKT_COPY_LINEAR_RESERVED_DW11_reserved_dw11_shift) 3152*90df1d55SAlex Deucher 3153*90df1d55SAlex Deucher /*define for RESERVED_DW12 word*/ 3154*90df1d55SAlex Deucher /*define for reserved_dw12 field*/ 3155*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_RESERVED_DW12_reserved_dw12_offset 12 3156*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_RESERVED_DW12_reserved_dw12_mask 0xFFFFFFFF 3157*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_RESERVED_DW12_reserved_dw12_shift 0 3158*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_RESERVED_DW12_RESERVED_DW12(x) (((x) & SDMA_AQL_PKT_COPY_LINEAR_RESERVED_DW12_reserved_dw12_mask) << SDMA_AQL_PKT_COPY_LINEAR_RESERVED_DW12_reserved_dw12_shift) 3159*90df1d55SAlex Deucher 3160*90df1d55SAlex Deucher /*define for RESERVED_DW13 word*/ 3161*90df1d55SAlex Deucher /*define for reserved_dw13 field*/ 3162*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_RESERVED_DW13_reserved_dw13_offset 13 3163*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_RESERVED_DW13_reserved_dw13_mask 0xFFFFFFFF 3164*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_RESERVED_DW13_reserved_dw13_shift 0 3165*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_RESERVED_DW13_RESERVED_DW13(x) (((x) & SDMA_AQL_PKT_COPY_LINEAR_RESERVED_DW13_reserved_dw13_mask) << SDMA_AQL_PKT_COPY_LINEAR_RESERVED_DW13_reserved_dw13_shift) 3166*90df1d55SAlex Deucher 3167*90df1d55SAlex Deucher /*define for COMPLETION_SIGNAL_LO word*/ 3168*90df1d55SAlex Deucher /*define for completion_signal_31_0 field*/ 3169*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_COMPLETION_SIGNAL_LO_completion_signal_31_0_offset 14 3170*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_COMPLETION_SIGNAL_LO_completion_signal_31_0_mask 0xFFFFFFFF 3171*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_COMPLETION_SIGNAL_LO_completion_signal_31_0_shift 0 3172*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_COMPLETION_SIGNAL_LO_COMPLETION_SIGNAL_31_0(x) (((x) & SDMA_AQL_PKT_COPY_LINEAR_COMPLETION_SIGNAL_LO_completion_signal_31_0_mask) << SDMA_AQL_PKT_COPY_LINEAR_COMPLETION_SIGNAL_LO_completion_signal_31_0_shift) 3173*90df1d55SAlex Deucher 3174*90df1d55SAlex Deucher /*define for COMPLETION_SIGNAL_HI word*/ 3175*90df1d55SAlex Deucher /*define for completion_signal_63_32 field*/ 3176*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_COMPLETION_SIGNAL_HI_completion_signal_63_32_offset 15 3177*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_COMPLETION_SIGNAL_HI_completion_signal_63_32_mask 0xFFFFFFFF 3178*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_COMPLETION_SIGNAL_HI_completion_signal_63_32_shift 0 3179*90df1d55SAlex Deucher #define SDMA_AQL_PKT_COPY_LINEAR_COMPLETION_SIGNAL_HI_COMPLETION_SIGNAL_63_32(x) (((x) & SDMA_AQL_PKT_COPY_LINEAR_COMPLETION_SIGNAL_HI_completion_signal_63_32_mask) << SDMA_AQL_PKT_COPY_LINEAR_COMPLETION_SIGNAL_HI_completion_signal_63_32_shift) 3180*90df1d55SAlex Deucher 3181*90df1d55SAlex Deucher 3182*90df1d55SAlex Deucher /* 3183*90df1d55SAlex Deucher ** Definitions for SDMA_AQL_PKT_BARRIER_OR packet 3184*90df1d55SAlex Deucher */ 3185*90df1d55SAlex Deucher 3186*90df1d55SAlex Deucher /*define for HEADER word*/ 3187*90df1d55SAlex Deucher /*define for format field*/ 3188*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_HEADER_format_offset 0 3189*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_HEADER_format_mask 0x000000FF 3190*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_HEADER_format_shift 0 3191*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_HEADER_FORMAT(x) (((x) & SDMA_AQL_PKT_BARRIER_OR_HEADER_format_mask) << SDMA_AQL_PKT_BARRIER_OR_HEADER_format_shift) 3192*90df1d55SAlex Deucher 3193*90df1d55SAlex Deucher /*define for barrier field*/ 3194*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_HEADER_barrier_offset 0 3195*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_HEADER_barrier_mask 0x00000001 3196*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_HEADER_barrier_shift 8 3197*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_HEADER_BARRIER(x) (((x) & SDMA_AQL_PKT_BARRIER_OR_HEADER_barrier_mask) << SDMA_AQL_PKT_BARRIER_OR_HEADER_barrier_shift) 3198*90df1d55SAlex Deucher 3199*90df1d55SAlex Deucher /*define for acquire_fence_scope field*/ 3200*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_HEADER_acquire_fence_scope_offset 0 3201*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_HEADER_acquire_fence_scope_mask 0x00000003 3202*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_HEADER_acquire_fence_scope_shift 9 3203*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_HEADER_ACQUIRE_FENCE_SCOPE(x) (((x) & SDMA_AQL_PKT_BARRIER_OR_HEADER_acquire_fence_scope_mask) << SDMA_AQL_PKT_BARRIER_OR_HEADER_acquire_fence_scope_shift) 3204*90df1d55SAlex Deucher 3205*90df1d55SAlex Deucher /*define for release_fence_scope field*/ 3206*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_HEADER_release_fence_scope_offset 0 3207*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_HEADER_release_fence_scope_mask 0x00000003 3208*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_HEADER_release_fence_scope_shift 11 3209*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_HEADER_RELEASE_FENCE_SCOPE(x) (((x) & SDMA_AQL_PKT_BARRIER_OR_HEADER_release_fence_scope_mask) << SDMA_AQL_PKT_BARRIER_OR_HEADER_release_fence_scope_shift) 3210*90df1d55SAlex Deucher 3211*90df1d55SAlex Deucher /*define for reserved field*/ 3212*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_HEADER_reserved_offset 0 3213*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_HEADER_reserved_mask 0x00000007 3214*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_HEADER_reserved_shift 13 3215*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_HEADER_RESERVED(x) (((x) & SDMA_AQL_PKT_BARRIER_OR_HEADER_reserved_mask) << SDMA_AQL_PKT_BARRIER_OR_HEADER_reserved_shift) 3216*90df1d55SAlex Deucher 3217*90df1d55SAlex Deucher /*define for op field*/ 3218*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_HEADER_op_offset 0 3219*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_HEADER_op_mask 0x0000000F 3220*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_HEADER_op_shift 16 3221*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_HEADER_OP(x) (((x) & SDMA_AQL_PKT_BARRIER_OR_HEADER_op_mask) << SDMA_AQL_PKT_BARRIER_OR_HEADER_op_shift) 3222*90df1d55SAlex Deucher 3223*90df1d55SAlex Deucher /*define for subop field*/ 3224*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_HEADER_subop_offset 0 3225*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_HEADER_subop_mask 0x00000007 3226*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_HEADER_subop_shift 20 3227*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_HEADER_SUBOP(x) (((x) & SDMA_AQL_PKT_BARRIER_OR_HEADER_subop_mask) << SDMA_AQL_PKT_BARRIER_OR_HEADER_subop_shift) 3228*90df1d55SAlex Deucher 3229*90df1d55SAlex Deucher /*define for RESERVED_DW1 word*/ 3230*90df1d55SAlex Deucher /*define for reserved_dw1 field*/ 3231*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_RESERVED_DW1_reserved_dw1_offset 1 3232*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_RESERVED_DW1_reserved_dw1_mask 0xFFFFFFFF 3233*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_RESERVED_DW1_reserved_dw1_shift 0 3234*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_RESERVED_DW1_RESERVED_DW1(x) (((x) & SDMA_AQL_PKT_BARRIER_OR_RESERVED_DW1_reserved_dw1_mask) << SDMA_AQL_PKT_BARRIER_OR_RESERVED_DW1_reserved_dw1_shift) 3235*90df1d55SAlex Deucher 3236*90df1d55SAlex Deucher /*define for DEPENDENT_ADDR_0_LO word*/ 3237*90df1d55SAlex Deucher /*define for dependent_addr_0_31_0 field*/ 3238*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_0_LO_dependent_addr_0_31_0_offset 2 3239*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_0_LO_dependent_addr_0_31_0_mask 0xFFFFFFFF 3240*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_0_LO_dependent_addr_0_31_0_shift 0 3241*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_0_LO_DEPENDENT_ADDR_0_31_0(x) (((x) & SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_0_LO_dependent_addr_0_31_0_mask) << SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_0_LO_dependent_addr_0_31_0_shift) 3242*90df1d55SAlex Deucher 3243*90df1d55SAlex Deucher /*define for DEPENDENT_ADDR_0_HI word*/ 3244*90df1d55SAlex Deucher /*define for dependent_addr_0_63_32 field*/ 3245*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_0_HI_dependent_addr_0_63_32_offset 3 3246*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_0_HI_dependent_addr_0_63_32_mask 0xFFFFFFFF 3247*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_0_HI_dependent_addr_0_63_32_shift 0 3248*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_0_HI_DEPENDENT_ADDR_0_63_32(x) (((x) & SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_0_HI_dependent_addr_0_63_32_mask) << SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_0_HI_dependent_addr_0_63_32_shift) 3249*90df1d55SAlex Deucher 3250*90df1d55SAlex Deucher /*define for DEPENDENT_ADDR_1_LO word*/ 3251*90df1d55SAlex Deucher /*define for dependent_addr_1_31_0 field*/ 3252*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_1_LO_dependent_addr_1_31_0_offset 4 3253*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_1_LO_dependent_addr_1_31_0_mask 0xFFFFFFFF 3254*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_1_LO_dependent_addr_1_31_0_shift 0 3255*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_1_LO_DEPENDENT_ADDR_1_31_0(x) (((x) & SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_1_LO_dependent_addr_1_31_0_mask) << SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_1_LO_dependent_addr_1_31_0_shift) 3256*90df1d55SAlex Deucher 3257*90df1d55SAlex Deucher /*define for DEPENDENT_ADDR_1_HI word*/ 3258*90df1d55SAlex Deucher /*define for dependent_addr_1_63_32 field*/ 3259*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_1_HI_dependent_addr_1_63_32_offset 5 3260*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_1_HI_dependent_addr_1_63_32_mask 0xFFFFFFFF 3261*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_1_HI_dependent_addr_1_63_32_shift 0 3262*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_1_HI_DEPENDENT_ADDR_1_63_32(x) (((x) & SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_1_HI_dependent_addr_1_63_32_mask) << SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_1_HI_dependent_addr_1_63_32_shift) 3263*90df1d55SAlex Deucher 3264*90df1d55SAlex Deucher /*define for DEPENDENT_ADDR_2_LO word*/ 3265*90df1d55SAlex Deucher /*define for dependent_addr_2_31_0 field*/ 3266*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_2_LO_dependent_addr_2_31_0_offset 6 3267*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_2_LO_dependent_addr_2_31_0_mask 0xFFFFFFFF 3268*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_2_LO_dependent_addr_2_31_0_shift 0 3269*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_2_LO_DEPENDENT_ADDR_2_31_0(x) (((x) & SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_2_LO_dependent_addr_2_31_0_mask) << SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_2_LO_dependent_addr_2_31_0_shift) 3270*90df1d55SAlex Deucher 3271*90df1d55SAlex Deucher /*define for DEPENDENT_ADDR_2_HI word*/ 3272*90df1d55SAlex Deucher /*define for dependent_addr_2_63_32 field*/ 3273*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_2_HI_dependent_addr_2_63_32_offset 7 3274*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_2_HI_dependent_addr_2_63_32_mask 0xFFFFFFFF 3275*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_2_HI_dependent_addr_2_63_32_shift 0 3276*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_2_HI_DEPENDENT_ADDR_2_63_32(x) (((x) & SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_2_HI_dependent_addr_2_63_32_mask) << SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_2_HI_dependent_addr_2_63_32_shift) 3277*90df1d55SAlex Deucher 3278*90df1d55SAlex Deucher /*define for DEPENDENT_ADDR_3_LO word*/ 3279*90df1d55SAlex Deucher /*define for dependent_addr_3_31_0 field*/ 3280*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_3_LO_dependent_addr_3_31_0_offset 8 3281*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_3_LO_dependent_addr_3_31_0_mask 0xFFFFFFFF 3282*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_3_LO_dependent_addr_3_31_0_shift 0 3283*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_3_LO_DEPENDENT_ADDR_3_31_0(x) (((x) & SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_3_LO_dependent_addr_3_31_0_mask) << SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_3_LO_dependent_addr_3_31_0_shift) 3284*90df1d55SAlex Deucher 3285*90df1d55SAlex Deucher /*define for DEPENDENT_ADDR_3_HI word*/ 3286*90df1d55SAlex Deucher /*define for dependent_addr_3_63_32 field*/ 3287*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_3_HI_dependent_addr_3_63_32_offset 9 3288*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_3_HI_dependent_addr_3_63_32_mask 0xFFFFFFFF 3289*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_3_HI_dependent_addr_3_63_32_shift 0 3290*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_3_HI_DEPENDENT_ADDR_3_63_32(x) (((x) & SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_3_HI_dependent_addr_3_63_32_mask) << SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_3_HI_dependent_addr_3_63_32_shift) 3291*90df1d55SAlex Deucher 3292*90df1d55SAlex Deucher /*define for DEPENDENT_ADDR_4_LO word*/ 3293*90df1d55SAlex Deucher /*define for dependent_addr_4_31_0 field*/ 3294*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_4_LO_dependent_addr_4_31_0_offset 10 3295*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_4_LO_dependent_addr_4_31_0_mask 0xFFFFFFFF 3296*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_4_LO_dependent_addr_4_31_0_shift 0 3297*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_4_LO_DEPENDENT_ADDR_4_31_0(x) (((x) & SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_4_LO_dependent_addr_4_31_0_mask) << SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_4_LO_dependent_addr_4_31_0_shift) 3298*90df1d55SAlex Deucher 3299*90df1d55SAlex Deucher /*define for DEPENDENT_ADDR_4_HI word*/ 3300*90df1d55SAlex Deucher /*define for dependent_addr_4_63_32 field*/ 3301*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_4_HI_dependent_addr_4_63_32_offset 11 3302*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_4_HI_dependent_addr_4_63_32_mask 0xFFFFFFFF 3303*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_4_HI_dependent_addr_4_63_32_shift 0 3304*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_4_HI_DEPENDENT_ADDR_4_63_32(x) (((x) & SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_4_HI_dependent_addr_4_63_32_mask) << SDMA_AQL_PKT_BARRIER_OR_DEPENDENT_ADDR_4_HI_dependent_addr_4_63_32_shift) 3305*90df1d55SAlex Deucher 3306*90df1d55SAlex Deucher /*define for RESERVED_DW12 word*/ 3307*90df1d55SAlex Deucher /*define for reserved_dw12 field*/ 3308*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_RESERVED_DW12_reserved_dw12_offset 12 3309*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_RESERVED_DW12_reserved_dw12_mask 0xFFFFFFFF 3310*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_RESERVED_DW12_reserved_dw12_shift 0 3311*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_RESERVED_DW12_RESERVED_DW12(x) (((x) & SDMA_AQL_PKT_BARRIER_OR_RESERVED_DW12_reserved_dw12_mask) << SDMA_AQL_PKT_BARRIER_OR_RESERVED_DW12_reserved_dw12_shift) 3312*90df1d55SAlex Deucher 3313*90df1d55SAlex Deucher /*define for RESERVED_DW13 word*/ 3314*90df1d55SAlex Deucher /*define for reserved_dw13 field*/ 3315*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_RESERVED_DW13_reserved_dw13_offset 13 3316*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_RESERVED_DW13_reserved_dw13_mask 0xFFFFFFFF 3317*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_RESERVED_DW13_reserved_dw13_shift 0 3318*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_RESERVED_DW13_RESERVED_DW13(x) (((x) & SDMA_AQL_PKT_BARRIER_OR_RESERVED_DW13_reserved_dw13_mask) << SDMA_AQL_PKT_BARRIER_OR_RESERVED_DW13_reserved_dw13_shift) 3319*90df1d55SAlex Deucher 3320*90df1d55SAlex Deucher /*define for COMPLETION_SIGNAL_LO word*/ 3321*90df1d55SAlex Deucher /*define for completion_signal_31_0 field*/ 3322*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_COMPLETION_SIGNAL_LO_completion_signal_31_0_offset 14 3323*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_COMPLETION_SIGNAL_LO_completion_signal_31_0_mask 0xFFFFFFFF 3324*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_COMPLETION_SIGNAL_LO_completion_signal_31_0_shift 0 3325*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_COMPLETION_SIGNAL_LO_COMPLETION_SIGNAL_31_0(x) (((x) & SDMA_AQL_PKT_BARRIER_OR_COMPLETION_SIGNAL_LO_completion_signal_31_0_mask) << SDMA_AQL_PKT_BARRIER_OR_COMPLETION_SIGNAL_LO_completion_signal_31_0_shift) 3326*90df1d55SAlex Deucher 3327*90df1d55SAlex Deucher /*define for COMPLETION_SIGNAL_HI word*/ 3328*90df1d55SAlex Deucher /*define for completion_signal_63_32 field*/ 3329*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_COMPLETION_SIGNAL_HI_completion_signal_63_32_offset 15 3330*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_COMPLETION_SIGNAL_HI_completion_signal_63_32_mask 0xFFFFFFFF 3331*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_COMPLETION_SIGNAL_HI_completion_signal_63_32_shift 0 3332*90df1d55SAlex Deucher #define SDMA_AQL_PKT_BARRIER_OR_COMPLETION_SIGNAL_HI_COMPLETION_SIGNAL_63_32(x) (((x) & SDMA_AQL_PKT_BARRIER_OR_COMPLETION_SIGNAL_HI_completion_signal_63_32_mask) << SDMA_AQL_PKT_BARRIER_OR_COMPLETION_SIGNAL_HI_completion_signal_63_32_shift) 3333*90df1d55SAlex Deucher 3334*90df1d55SAlex Deucher 3335*90df1d55SAlex Deucher #endif /* __SDMA_PKT_OPEN_H_ */ 3336