1aaa36a97SAlex Deucher /* 2aaa36a97SAlex Deucher * Copyright (C) 2014 Advanced Micro Devices, Inc. 3aaa36a97SAlex Deucher * 4aaa36a97SAlex Deucher * Permission is hereby granted, free of charge, to any person obtaining a 5aaa36a97SAlex Deucher * copy of this software and associated documentation files (the "Software"), 6aaa36a97SAlex Deucher * to deal in the Software without restriction, including without limitation 7aaa36a97SAlex Deucher * the rights to use, copy, modify, merge, publish, distribute, sublicense, 8aaa36a97SAlex Deucher * and/or sell copies of the Software, and to permit persons to whom the 9aaa36a97SAlex Deucher * Software is furnished to do so, subject to the following conditions: 10aaa36a97SAlex Deucher * 11aaa36a97SAlex Deucher * The above copyright notice and this permission notice shall be included 12aaa36a97SAlex Deucher * in all copies or substantial portions of the Software. 13aaa36a97SAlex Deucher * 14aaa36a97SAlex Deucher * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 15aaa36a97SAlex Deucher * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16aaa36a97SAlex Deucher * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 17aaa36a97SAlex Deucher * THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 18aaa36a97SAlex Deucher * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 19aaa36a97SAlex Deucher * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 20aaa36a97SAlex Deucher * 21aaa36a97SAlex Deucher */ 22aaa36a97SAlex Deucher 23aaa36a97SAlex Deucher #ifndef __ICELAND_SDMA_PKT_OPEN_H_ 24aaa36a97SAlex Deucher #define __ICELAND_SDMA_PKT_OPEN_H_ 25aaa36a97SAlex Deucher 26aaa36a97SAlex Deucher #define SDMA_OP_NOP 0 27aaa36a97SAlex Deucher #define SDMA_OP_COPY 1 28aaa36a97SAlex Deucher #define SDMA_OP_WRITE 2 29aaa36a97SAlex Deucher #define SDMA_OP_INDIRECT 4 30aaa36a97SAlex Deucher #define SDMA_OP_FENCE 5 31aaa36a97SAlex Deucher #define SDMA_OP_TRAP 6 32aaa36a97SAlex Deucher #define SDMA_OP_SEM 7 33aaa36a97SAlex Deucher #define SDMA_OP_POLL_REGMEM 8 34aaa36a97SAlex Deucher #define SDMA_OP_COND_EXE 9 35aaa36a97SAlex Deucher #define SDMA_OP_ATOMIC 10 36aaa36a97SAlex Deucher #define SDMA_OP_CONST_FILL 11 37aaa36a97SAlex Deucher #define SDMA_OP_GEN_PTEPDE 12 38aaa36a97SAlex Deucher #define SDMA_OP_TIMESTAMP 13 39aaa36a97SAlex Deucher #define SDMA_OP_SRBM_WRITE 14 40aaa36a97SAlex Deucher #define SDMA_OP_PRE_EXE 15 41aaa36a97SAlex Deucher #define SDMA_SUBOP_TIMESTAMP_SET 0 42aaa36a97SAlex Deucher #define SDMA_SUBOP_TIMESTAMP_GET 1 43aaa36a97SAlex Deucher #define SDMA_SUBOP_TIMESTAMP_GET_GLOBAL 2 44aaa36a97SAlex Deucher #define SDMA_SUBOP_COPY_LINEAR 0 45aaa36a97SAlex Deucher #define SDMA_SUBOP_COPY_LINEAR_SUB_WIND 4 46aaa36a97SAlex Deucher #define SDMA_SUBOP_COPY_TILED 1 47aaa36a97SAlex Deucher #define SDMA_SUBOP_COPY_TILED_SUB_WIND 5 48aaa36a97SAlex Deucher #define SDMA_SUBOP_COPY_T2T_SUB_WIND 6 49aaa36a97SAlex Deucher #define SDMA_SUBOP_COPY_SOA 3 50aaa36a97SAlex Deucher #define SDMA_SUBOP_WRITE_LINEAR 0 51aaa36a97SAlex Deucher #define SDMA_SUBOP_WRITE_TILED 1 52aaa36a97SAlex Deucher 53aaa36a97SAlex Deucher /*define for op field*/ 54aaa36a97SAlex Deucher #define SDMA_PKT_HEADER_op_offset 0 55aaa36a97SAlex Deucher #define SDMA_PKT_HEADER_op_mask 0x000000FF 56aaa36a97SAlex Deucher #define SDMA_PKT_HEADER_op_shift 0 57aaa36a97SAlex Deucher #define SDMA_PKT_HEADER_OP(x) (((x) & SDMA_PKT_HEADER_op_mask) << SDMA_PKT_HEADER_op_shift) 58aaa36a97SAlex Deucher 59aaa36a97SAlex Deucher /*define for sub_op field*/ 60aaa36a97SAlex Deucher #define SDMA_PKT_HEADER_sub_op_offset 0 61aaa36a97SAlex Deucher #define SDMA_PKT_HEADER_sub_op_mask 0x000000FF 62aaa36a97SAlex Deucher #define SDMA_PKT_HEADER_sub_op_shift 8 63aaa36a97SAlex Deucher #define SDMA_PKT_HEADER_SUB_OP(x) (((x) & SDMA_PKT_HEADER_sub_op_mask) << SDMA_PKT_HEADER_sub_op_shift) 64aaa36a97SAlex Deucher 65aaa36a97SAlex Deucher /* 66aaa36a97SAlex Deucher ** Definitions for SDMA_PKT_COPY_LINEAR packet 67aaa36a97SAlex Deucher */ 68aaa36a97SAlex Deucher 69aaa36a97SAlex Deucher /*define for HEADER word*/ 70aaa36a97SAlex Deucher /*define for op field*/ 71aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_HEADER_op_offset 0 72aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_HEADER_op_mask 0x000000FF 73aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_HEADER_op_shift 0 74aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_HEADER_OP(x) (((x) & SDMA_PKT_COPY_LINEAR_HEADER_op_mask) << SDMA_PKT_COPY_LINEAR_HEADER_op_shift) 75aaa36a97SAlex Deucher 76aaa36a97SAlex Deucher /*define for sub_op field*/ 77aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_HEADER_sub_op_offset 0 78aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_HEADER_sub_op_mask 0x000000FF 79aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_HEADER_sub_op_shift 8 80aaa36a97SAlex 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) 81aaa36a97SAlex Deucher 82aaa36a97SAlex Deucher /*define for broadcast field*/ 83aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_HEADER_broadcast_offset 0 84aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_HEADER_broadcast_mask 0x00000001 85aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_HEADER_broadcast_shift 27 86aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_HEADER_BROADCAST(x) (((x) & SDMA_PKT_COPY_LINEAR_HEADER_broadcast_mask) << SDMA_PKT_COPY_LINEAR_HEADER_broadcast_shift) 87aaa36a97SAlex Deucher 88aaa36a97SAlex Deucher /*define for COUNT word*/ 89aaa36a97SAlex Deucher /*define for count field*/ 90aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_COUNT_count_offset 1 91aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_COUNT_count_mask 0x003FFFFF 92aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_COUNT_count_shift 0 93aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_COUNT_COUNT(x) (((x) & SDMA_PKT_COPY_LINEAR_COUNT_count_mask) << SDMA_PKT_COPY_LINEAR_COUNT_count_shift) 94aaa36a97SAlex Deucher 95aaa36a97SAlex Deucher /*define for PARAMETER word*/ 96aaa36a97SAlex Deucher /*define for dst_sw field*/ 97aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_PARAMETER_dst_sw_offset 2 98aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_PARAMETER_dst_sw_mask 0x00000003 99aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_PARAMETER_dst_sw_shift 16 100aaa36a97SAlex 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) 101aaa36a97SAlex Deucher 102aaa36a97SAlex Deucher /*define for dst_ha field*/ 103aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_PARAMETER_dst_ha_offset 2 104aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_PARAMETER_dst_ha_mask 0x00000001 105aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_PARAMETER_dst_ha_shift 22 106aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_PARAMETER_DST_HA(x) (((x) & SDMA_PKT_COPY_LINEAR_PARAMETER_dst_ha_mask) << SDMA_PKT_COPY_LINEAR_PARAMETER_dst_ha_shift) 107aaa36a97SAlex Deucher 108aaa36a97SAlex Deucher /*define for src_sw field*/ 109aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_PARAMETER_src_sw_offset 2 110aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_PARAMETER_src_sw_mask 0x00000003 111aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_PARAMETER_src_sw_shift 24 112aaa36a97SAlex 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) 113aaa36a97SAlex Deucher 114aaa36a97SAlex Deucher /*define for src_ha field*/ 115aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_PARAMETER_src_ha_offset 2 116aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_PARAMETER_src_ha_mask 0x00000001 117aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_PARAMETER_src_ha_shift 30 118aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_PARAMETER_SRC_HA(x) (((x) & SDMA_PKT_COPY_LINEAR_PARAMETER_src_ha_mask) << SDMA_PKT_COPY_LINEAR_PARAMETER_src_ha_shift) 119aaa36a97SAlex Deucher 120aaa36a97SAlex Deucher /*define for SRC_ADDR_LO word*/ 121aaa36a97SAlex Deucher /*define for src_addr_31_0 field*/ 122aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SRC_ADDR_LO_src_addr_31_0_offset 3 123aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SRC_ADDR_LO_src_addr_31_0_mask 0xFFFFFFFF 124aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SRC_ADDR_LO_src_addr_31_0_shift 0 125aaa36a97SAlex 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) 126aaa36a97SAlex Deucher 127aaa36a97SAlex Deucher /*define for SRC_ADDR_HI word*/ 128aaa36a97SAlex Deucher /*define for src_addr_63_32 field*/ 129aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SRC_ADDR_HI_src_addr_63_32_offset 4 130aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SRC_ADDR_HI_src_addr_63_32_mask 0xFFFFFFFF 131aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SRC_ADDR_HI_src_addr_63_32_shift 0 132aaa36a97SAlex 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) 133aaa36a97SAlex Deucher 134aaa36a97SAlex Deucher /*define for DST_ADDR_LO word*/ 135aaa36a97SAlex Deucher /*define for dst_addr_31_0 field*/ 136aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_DST_ADDR_LO_dst_addr_31_0_offset 5 137aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_DST_ADDR_LO_dst_addr_31_0_mask 0xFFFFFFFF 138aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_DST_ADDR_LO_dst_addr_31_0_shift 0 139aaa36a97SAlex 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) 140aaa36a97SAlex Deucher 141aaa36a97SAlex Deucher /*define for DST_ADDR_HI word*/ 142aaa36a97SAlex Deucher /*define for dst_addr_63_32 field*/ 143aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_DST_ADDR_HI_dst_addr_63_32_offset 6 144aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_DST_ADDR_HI_dst_addr_63_32_mask 0xFFFFFFFF 145aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_DST_ADDR_HI_dst_addr_63_32_shift 0 146aaa36a97SAlex 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) 147aaa36a97SAlex Deucher 148aaa36a97SAlex Deucher 149aaa36a97SAlex Deucher /* 150aaa36a97SAlex Deucher ** Definitions for SDMA_PKT_COPY_BROADCAST_LINEAR packet 151aaa36a97SAlex Deucher */ 152aaa36a97SAlex Deucher 153aaa36a97SAlex Deucher /*define for HEADER word*/ 154aaa36a97SAlex Deucher /*define for op field*/ 155aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_HEADER_op_offset 0 156aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_HEADER_op_mask 0x000000FF 157aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_HEADER_op_shift 0 158aaa36a97SAlex 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) 159aaa36a97SAlex Deucher 160aaa36a97SAlex Deucher /*define for sub_op field*/ 161aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_HEADER_sub_op_offset 0 162aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_HEADER_sub_op_mask 0x000000FF 163aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_HEADER_sub_op_shift 8 164aaa36a97SAlex 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) 165aaa36a97SAlex Deucher 166aaa36a97SAlex Deucher /*define for broadcast field*/ 167aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_HEADER_broadcast_offset 0 168aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_HEADER_broadcast_mask 0x00000001 169aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_HEADER_broadcast_shift 27 170aaa36a97SAlex 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) 171aaa36a97SAlex Deucher 172aaa36a97SAlex Deucher /*define for COUNT word*/ 173aaa36a97SAlex Deucher /*define for count field*/ 174aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_COUNT_count_offset 1 175aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_COUNT_count_mask 0x003FFFFF 176aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_COUNT_count_shift 0 177aaa36a97SAlex 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) 178aaa36a97SAlex Deucher 179aaa36a97SAlex Deucher /*define for PARAMETER word*/ 180aaa36a97SAlex Deucher /*define for dst2_sw field*/ 181aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_dst2_sw_offset 2 182aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_dst2_sw_mask 0x00000003 183aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_dst2_sw_shift 8 184aaa36a97SAlex 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) 185aaa36a97SAlex Deucher 186aaa36a97SAlex Deucher /*define for dst2_ha field*/ 187aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_dst2_ha_offset 2 188aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_dst2_ha_mask 0x00000001 189aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_dst2_ha_shift 14 190aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_DST2_HA(x) (((x) & SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_dst2_ha_mask) << SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_dst2_ha_shift) 191aaa36a97SAlex Deucher 192aaa36a97SAlex Deucher /*define for dst1_sw field*/ 193aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_dst1_sw_offset 2 194aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_dst1_sw_mask 0x00000003 195aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_dst1_sw_shift 16 196aaa36a97SAlex 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) 197aaa36a97SAlex Deucher 198aaa36a97SAlex Deucher /*define for dst1_ha field*/ 199aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_dst1_ha_offset 2 200aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_dst1_ha_mask 0x00000001 201aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_dst1_ha_shift 22 202aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_DST1_HA(x) (((x) & SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_dst1_ha_mask) << SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_dst1_ha_shift) 203aaa36a97SAlex Deucher 204aaa36a97SAlex Deucher /*define for src_sw field*/ 205aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_src_sw_offset 2 206aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_src_sw_mask 0x00000003 207aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_src_sw_shift 24 208aaa36a97SAlex 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) 209aaa36a97SAlex Deucher 210aaa36a97SAlex Deucher /*define for src_ha field*/ 211aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_src_ha_offset 2 212aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_src_ha_mask 0x00000001 213aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_src_ha_shift 30 214aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_SRC_HA(x) (((x) & SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_src_ha_mask) << SDMA_PKT_COPY_BROADCAST_LINEAR_PARAMETER_src_ha_shift) 215aaa36a97SAlex Deucher 216aaa36a97SAlex Deucher /*define for SRC_ADDR_LO word*/ 217aaa36a97SAlex Deucher /*define for src_addr_31_0 field*/ 218aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_SRC_ADDR_LO_src_addr_31_0_offset 3 219aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_SRC_ADDR_LO_src_addr_31_0_mask 0xFFFFFFFF 220aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_SRC_ADDR_LO_src_addr_31_0_shift 0 221aaa36a97SAlex 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) 222aaa36a97SAlex Deucher 223aaa36a97SAlex Deucher /*define for SRC_ADDR_HI word*/ 224aaa36a97SAlex Deucher /*define for src_addr_63_32 field*/ 225aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_SRC_ADDR_HI_src_addr_63_32_offset 4 226aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_SRC_ADDR_HI_src_addr_63_32_mask 0xFFFFFFFF 227aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_SRC_ADDR_HI_src_addr_63_32_shift 0 228aaa36a97SAlex 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) 229aaa36a97SAlex Deucher 230aaa36a97SAlex Deucher /*define for DST1_ADDR_LO word*/ 231aaa36a97SAlex Deucher /*define for dst1_addr_31_0 field*/ 232aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_DST1_ADDR_LO_dst1_addr_31_0_offset 5 233aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_DST1_ADDR_LO_dst1_addr_31_0_mask 0xFFFFFFFF 234aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_DST1_ADDR_LO_dst1_addr_31_0_shift 0 235aaa36a97SAlex 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) 236aaa36a97SAlex Deucher 237aaa36a97SAlex Deucher /*define for DST1_ADDR_HI word*/ 238aaa36a97SAlex Deucher /*define for dst1_addr_63_32 field*/ 239aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_DST1_ADDR_HI_dst1_addr_63_32_offset 6 240aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_DST1_ADDR_HI_dst1_addr_63_32_mask 0xFFFFFFFF 241aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_DST1_ADDR_HI_dst1_addr_63_32_shift 0 242aaa36a97SAlex 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) 243aaa36a97SAlex Deucher 244aaa36a97SAlex Deucher /*define for DST2_ADDR_LO word*/ 245aaa36a97SAlex Deucher /*define for dst2_addr_31_0 field*/ 246aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_DST2_ADDR_LO_dst2_addr_31_0_offset 7 247aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_DST2_ADDR_LO_dst2_addr_31_0_mask 0xFFFFFFFF 248aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_DST2_ADDR_LO_dst2_addr_31_0_shift 0 249aaa36a97SAlex 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) 250aaa36a97SAlex Deucher 251aaa36a97SAlex Deucher /*define for DST2_ADDR_HI word*/ 252aaa36a97SAlex Deucher /*define for dst2_addr_63_32 field*/ 253aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_DST2_ADDR_HI_dst2_addr_63_32_offset 8 254aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_DST2_ADDR_HI_dst2_addr_63_32_mask 0xFFFFFFFF 255aaa36a97SAlex Deucher #define SDMA_PKT_COPY_BROADCAST_LINEAR_DST2_ADDR_HI_dst2_addr_63_32_shift 0 256aaa36a97SAlex 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) 257aaa36a97SAlex Deucher 258aaa36a97SAlex Deucher 259aaa36a97SAlex Deucher /* 260aaa36a97SAlex Deucher ** Definitions for SDMA_PKT_COPY_LINEAR_SUBWIN packet 261aaa36a97SAlex Deucher */ 262aaa36a97SAlex Deucher 263aaa36a97SAlex Deucher /*define for HEADER word*/ 264aaa36a97SAlex Deucher /*define for op field*/ 265aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_HEADER_op_offset 0 266aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_HEADER_op_mask 0x000000FF 267aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_HEADER_op_shift 0 268aaa36a97SAlex 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) 269aaa36a97SAlex Deucher 270aaa36a97SAlex Deucher /*define for sub_op field*/ 271aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_HEADER_sub_op_offset 0 272aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_HEADER_sub_op_mask 0x000000FF 273aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_HEADER_sub_op_shift 8 274aaa36a97SAlex 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) 275aaa36a97SAlex Deucher 276aaa36a97SAlex Deucher /*define for elementsize field*/ 277aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_HEADER_elementsize_offset 0 278aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_HEADER_elementsize_mask 0x00000007 279aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_HEADER_elementsize_shift 29 280aaa36a97SAlex 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) 281aaa36a97SAlex Deucher 282aaa36a97SAlex Deucher /*define for SRC_ADDR_LO word*/ 283aaa36a97SAlex Deucher /*define for src_addr_31_0 field*/ 284aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_SRC_ADDR_LO_src_addr_31_0_offset 1 285aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_SRC_ADDR_LO_src_addr_31_0_mask 0xFFFFFFFF 286aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_SRC_ADDR_LO_src_addr_31_0_shift 0 287aaa36a97SAlex 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) 288aaa36a97SAlex Deucher 289aaa36a97SAlex Deucher /*define for SRC_ADDR_HI word*/ 290aaa36a97SAlex Deucher /*define for src_addr_63_32 field*/ 291aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_SRC_ADDR_HI_src_addr_63_32_offset 2 292aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_SRC_ADDR_HI_src_addr_63_32_mask 0xFFFFFFFF 293aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_SRC_ADDR_HI_src_addr_63_32_shift 0 294aaa36a97SAlex 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) 295aaa36a97SAlex Deucher 296aaa36a97SAlex Deucher /*define for DW_3 word*/ 297aaa36a97SAlex Deucher /*define for src_x field*/ 298aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_3_src_x_offset 3 299aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_3_src_x_mask 0x00003FFF 300aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_3_src_x_shift 0 301aaa36a97SAlex 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) 302aaa36a97SAlex Deucher 303aaa36a97SAlex Deucher /*define for src_y field*/ 304aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_3_src_y_offset 3 305aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_3_src_y_mask 0x00003FFF 306aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_3_src_y_shift 16 307aaa36a97SAlex 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) 308aaa36a97SAlex Deucher 309aaa36a97SAlex Deucher /*define for DW_4 word*/ 310aaa36a97SAlex Deucher /*define for src_z field*/ 311aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_4_src_z_offset 4 312aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_4_src_z_mask 0x000007FF 313aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_4_src_z_shift 0 314aaa36a97SAlex 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) 315aaa36a97SAlex Deucher 316aaa36a97SAlex Deucher /*define for src_pitch field*/ 317aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_4_src_pitch_offset 4 318aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_4_src_pitch_mask 0x00003FFF 319aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_4_src_pitch_shift 16 320aaa36a97SAlex 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) 321aaa36a97SAlex Deucher 322aaa36a97SAlex Deucher /*define for DW_5 word*/ 323aaa36a97SAlex Deucher /*define for src_slice_pitch field*/ 324aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_5_src_slice_pitch_offset 5 325aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_5_src_slice_pitch_mask 0x0FFFFFFF 326aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_5_src_slice_pitch_shift 0 327aaa36a97SAlex 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) 328aaa36a97SAlex Deucher 329aaa36a97SAlex Deucher /*define for DST_ADDR_LO word*/ 330aaa36a97SAlex Deucher /*define for dst_addr_31_0 field*/ 331aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DST_ADDR_LO_dst_addr_31_0_offset 6 332aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DST_ADDR_LO_dst_addr_31_0_mask 0xFFFFFFFF 333aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DST_ADDR_LO_dst_addr_31_0_shift 0 334aaa36a97SAlex 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) 335aaa36a97SAlex Deucher 336aaa36a97SAlex Deucher /*define for DST_ADDR_HI word*/ 337aaa36a97SAlex Deucher /*define for dst_addr_63_32 field*/ 338aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DST_ADDR_HI_dst_addr_63_32_offset 7 339aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DST_ADDR_HI_dst_addr_63_32_mask 0xFFFFFFFF 340aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DST_ADDR_HI_dst_addr_63_32_shift 0 341aaa36a97SAlex 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) 342aaa36a97SAlex Deucher 343aaa36a97SAlex Deucher /*define for DW_8 word*/ 344aaa36a97SAlex Deucher /*define for dst_x field*/ 345aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_8_dst_x_offset 8 346aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_8_dst_x_mask 0x00003FFF 347aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_8_dst_x_shift 0 348aaa36a97SAlex 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) 349aaa36a97SAlex Deucher 350aaa36a97SAlex Deucher /*define for dst_y field*/ 351aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_8_dst_y_offset 8 352aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_8_dst_y_mask 0x00003FFF 353aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_8_dst_y_shift 16 354aaa36a97SAlex 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) 355aaa36a97SAlex Deucher 356aaa36a97SAlex Deucher /*define for DW_9 word*/ 357aaa36a97SAlex Deucher /*define for dst_z field*/ 358aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_9_dst_z_offset 9 359aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_9_dst_z_mask 0x000007FF 360aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_9_dst_z_shift 0 361aaa36a97SAlex 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) 362aaa36a97SAlex Deucher 363aaa36a97SAlex Deucher /*define for dst_pitch field*/ 364aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_9_dst_pitch_offset 9 365aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_9_dst_pitch_mask 0x00003FFF 366aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_9_dst_pitch_shift 16 367aaa36a97SAlex 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) 368aaa36a97SAlex Deucher 369aaa36a97SAlex Deucher /*define for DW_10 word*/ 370aaa36a97SAlex Deucher /*define for dst_slice_pitch field*/ 371aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_10_dst_slice_pitch_offset 10 372aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_10_dst_slice_pitch_mask 0x0FFFFFFF 373aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_10_dst_slice_pitch_shift 0 374aaa36a97SAlex 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) 375aaa36a97SAlex Deucher 376aaa36a97SAlex Deucher /*define for DW_11 word*/ 377aaa36a97SAlex Deucher /*define for rect_x field*/ 378aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_11_rect_x_offset 11 379aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_11_rect_x_mask 0x00003FFF 380aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_11_rect_x_shift 0 381aaa36a97SAlex 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) 382aaa36a97SAlex Deucher 383aaa36a97SAlex Deucher /*define for rect_y field*/ 384aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_11_rect_y_offset 11 385aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_11_rect_y_mask 0x00003FFF 386aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_11_rect_y_shift 16 387aaa36a97SAlex 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) 388aaa36a97SAlex Deucher 389aaa36a97SAlex Deucher /*define for DW_12 word*/ 390aaa36a97SAlex Deucher /*define for rect_z field*/ 391aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_12_rect_z_offset 12 392aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_12_rect_z_mask 0x000007FF 393aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_12_rect_z_shift 0 394aaa36a97SAlex 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) 395aaa36a97SAlex Deucher 396aaa36a97SAlex Deucher /*define for dst_sw field*/ 397aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_12_dst_sw_offset 12 398aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_12_dst_sw_mask 0x00000003 399aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_12_dst_sw_shift 16 400aaa36a97SAlex 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) 401aaa36a97SAlex Deucher 402aaa36a97SAlex Deucher /*define for dst_ha field*/ 403aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_12_dst_ha_offset 12 404aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_12_dst_ha_mask 0x00000001 405aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_12_dst_ha_shift 22 406aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_12_DST_HA(x) (((x) & SDMA_PKT_COPY_LINEAR_SUBWIN_DW_12_dst_ha_mask) << SDMA_PKT_COPY_LINEAR_SUBWIN_DW_12_dst_ha_shift) 407aaa36a97SAlex Deucher 408aaa36a97SAlex Deucher /*define for src_sw field*/ 409aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_12_src_sw_offset 12 410aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_12_src_sw_mask 0x00000003 411aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_12_src_sw_shift 24 412aaa36a97SAlex 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) 413aaa36a97SAlex Deucher 414aaa36a97SAlex Deucher /*define for src_ha field*/ 415aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_12_src_ha_offset 12 416aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_12_src_ha_mask 0x00000001 417aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_12_src_ha_shift 30 418aaa36a97SAlex Deucher #define SDMA_PKT_COPY_LINEAR_SUBWIN_DW_12_SRC_HA(x) (((x) & SDMA_PKT_COPY_LINEAR_SUBWIN_DW_12_src_ha_mask) << SDMA_PKT_COPY_LINEAR_SUBWIN_DW_12_src_ha_shift) 419aaa36a97SAlex Deucher 420aaa36a97SAlex Deucher 421aaa36a97SAlex Deucher /* 422aaa36a97SAlex Deucher ** Definitions for SDMA_PKT_COPY_TILED packet 423aaa36a97SAlex Deucher */ 424aaa36a97SAlex Deucher 425aaa36a97SAlex Deucher /*define for HEADER word*/ 426aaa36a97SAlex Deucher /*define for op field*/ 427aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_HEADER_op_offset 0 428aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_HEADER_op_mask 0x000000FF 429aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_HEADER_op_shift 0 430aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_HEADER_OP(x) (((x) & SDMA_PKT_COPY_TILED_HEADER_op_mask) << SDMA_PKT_COPY_TILED_HEADER_op_shift) 431aaa36a97SAlex Deucher 432aaa36a97SAlex Deucher /*define for sub_op field*/ 433aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_HEADER_sub_op_offset 0 434aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_HEADER_sub_op_mask 0x000000FF 435aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_HEADER_sub_op_shift 8 436aaa36a97SAlex 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) 437aaa36a97SAlex Deucher 438aaa36a97SAlex Deucher /*define for detile field*/ 439aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_HEADER_detile_offset 0 440aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_HEADER_detile_mask 0x00000001 441aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_HEADER_detile_shift 31 442aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_HEADER_DETILE(x) (((x) & SDMA_PKT_COPY_TILED_HEADER_detile_mask) << SDMA_PKT_COPY_TILED_HEADER_detile_shift) 443aaa36a97SAlex Deucher 444aaa36a97SAlex Deucher /*define for TILED_ADDR_LO word*/ 445aaa36a97SAlex Deucher /*define for tiled_addr_31_0 field*/ 446aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_TILED_ADDR_LO_tiled_addr_31_0_offset 1 447aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_TILED_ADDR_LO_tiled_addr_31_0_mask 0xFFFFFFFF 448aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_TILED_ADDR_LO_tiled_addr_31_0_shift 0 449aaa36a97SAlex 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) 450aaa36a97SAlex Deucher 451aaa36a97SAlex Deucher /*define for TILED_ADDR_HI word*/ 452aaa36a97SAlex Deucher /*define for tiled_addr_63_32 field*/ 453aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_TILED_ADDR_HI_tiled_addr_63_32_offset 2 454aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_TILED_ADDR_HI_tiled_addr_63_32_mask 0xFFFFFFFF 455aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_TILED_ADDR_HI_tiled_addr_63_32_shift 0 456aaa36a97SAlex 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) 457aaa36a97SAlex Deucher 458aaa36a97SAlex Deucher /*define for DW_3 word*/ 459aaa36a97SAlex Deucher /*define for pitch_in_tile field*/ 460aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_3_pitch_in_tile_offset 3 461aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_3_pitch_in_tile_mask 0x000007FF 462aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_3_pitch_in_tile_shift 0 463aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_3_PITCH_IN_TILE(x) (((x) & SDMA_PKT_COPY_TILED_DW_3_pitch_in_tile_mask) << SDMA_PKT_COPY_TILED_DW_3_pitch_in_tile_shift) 464aaa36a97SAlex Deucher 465aaa36a97SAlex Deucher /*define for height field*/ 466aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_3_height_offset 3 467aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_3_height_mask 0x00003FFF 468aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_3_height_shift 16 469aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_3_HEIGHT(x) (((x) & SDMA_PKT_COPY_TILED_DW_3_height_mask) << SDMA_PKT_COPY_TILED_DW_3_height_shift) 470aaa36a97SAlex Deucher 471aaa36a97SAlex Deucher /*define for DW_4 word*/ 472aaa36a97SAlex Deucher /*define for slice_pitch field*/ 473aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_4_slice_pitch_offset 4 474aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_4_slice_pitch_mask 0x003FFFFF 475aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_4_slice_pitch_shift 0 476aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_4_SLICE_PITCH(x) (((x) & SDMA_PKT_COPY_TILED_DW_4_slice_pitch_mask) << SDMA_PKT_COPY_TILED_DW_4_slice_pitch_shift) 477aaa36a97SAlex Deucher 478aaa36a97SAlex Deucher /*define for DW_5 word*/ 479aaa36a97SAlex Deucher /*define for element_size field*/ 480aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_element_size_offset 5 481aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_element_size_mask 0x00000007 482aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_element_size_shift 0 483aaa36a97SAlex 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) 484aaa36a97SAlex Deucher 485aaa36a97SAlex Deucher /*define for array_mode field*/ 486aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_array_mode_offset 5 487aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_array_mode_mask 0x0000000F 488aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_array_mode_shift 3 489aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_ARRAY_MODE(x) (((x) & SDMA_PKT_COPY_TILED_DW_5_array_mode_mask) << SDMA_PKT_COPY_TILED_DW_5_array_mode_shift) 490aaa36a97SAlex Deucher 491aaa36a97SAlex Deucher /*define for mit_mode field*/ 492aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_mit_mode_offset 5 493aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_mit_mode_mask 0x00000007 494aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_mit_mode_shift 8 495aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_MIT_MODE(x) (((x) & SDMA_PKT_COPY_TILED_DW_5_mit_mode_mask) << SDMA_PKT_COPY_TILED_DW_5_mit_mode_shift) 496aaa36a97SAlex Deucher 497aaa36a97SAlex Deucher /*define for tilesplit_size field*/ 498aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_tilesplit_size_offset 5 499aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_tilesplit_size_mask 0x00000007 500aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_tilesplit_size_shift 11 501aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_TILESPLIT_SIZE(x) (((x) & SDMA_PKT_COPY_TILED_DW_5_tilesplit_size_mask) << SDMA_PKT_COPY_TILED_DW_5_tilesplit_size_shift) 502aaa36a97SAlex Deucher 503aaa36a97SAlex Deucher /*define for bank_w field*/ 504aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_bank_w_offset 5 505aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_bank_w_mask 0x00000003 506aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_bank_w_shift 15 507aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_BANK_W(x) (((x) & SDMA_PKT_COPY_TILED_DW_5_bank_w_mask) << SDMA_PKT_COPY_TILED_DW_5_bank_w_shift) 508aaa36a97SAlex Deucher 509aaa36a97SAlex Deucher /*define for bank_h field*/ 510aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_bank_h_offset 5 511aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_bank_h_mask 0x00000003 512aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_bank_h_shift 18 513aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_BANK_H(x) (((x) & SDMA_PKT_COPY_TILED_DW_5_bank_h_mask) << SDMA_PKT_COPY_TILED_DW_5_bank_h_shift) 514aaa36a97SAlex Deucher 515aaa36a97SAlex Deucher /*define for num_bank field*/ 516aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_num_bank_offset 5 517aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_num_bank_mask 0x00000003 518aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_num_bank_shift 21 519aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_NUM_BANK(x) (((x) & SDMA_PKT_COPY_TILED_DW_5_num_bank_mask) << SDMA_PKT_COPY_TILED_DW_5_num_bank_shift) 520aaa36a97SAlex Deucher 521aaa36a97SAlex Deucher /*define for mat_aspt field*/ 522aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_mat_aspt_offset 5 523aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_mat_aspt_mask 0x00000003 524aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_mat_aspt_shift 24 525aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_MAT_ASPT(x) (((x) & SDMA_PKT_COPY_TILED_DW_5_mat_aspt_mask) << SDMA_PKT_COPY_TILED_DW_5_mat_aspt_shift) 526aaa36a97SAlex Deucher 527aaa36a97SAlex Deucher /*define for pipe_config field*/ 528aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_pipe_config_offset 5 529aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_pipe_config_mask 0x0000001F 530aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_pipe_config_shift 26 531aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_5_PIPE_CONFIG(x) (((x) & SDMA_PKT_COPY_TILED_DW_5_pipe_config_mask) << SDMA_PKT_COPY_TILED_DW_5_pipe_config_shift) 532aaa36a97SAlex Deucher 533aaa36a97SAlex Deucher /*define for DW_6 word*/ 534aaa36a97SAlex Deucher /*define for x field*/ 535aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_6_x_offset 6 536aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_6_x_mask 0x00003FFF 537aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_6_x_shift 0 538aaa36a97SAlex 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) 539aaa36a97SAlex Deucher 540aaa36a97SAlex Deucher /*define for y field*/ 541aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_6_y_offset 6 542aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_6_y_mask 0x00003FFF 543aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_6_y_shift 16 544aaa36a97SAlex 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) 545aaa36a97SAlex Deucher 546aaa36a97SAlex Deucher /*define for DW_7 word*/ 547aaa36a97SAlex Deucher /*define for z field*/ 548aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_7_z_offset 7 549aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_7_z_mask 0x00000FFF 550aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_7_z_shift 0 551aaa36a97SAlex 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) 552aaa36a97SAlex Deucher 553aaa36a97SAlex Deucher /*define for linear_sw field*/ 554aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_7_linear_sw_offset 7 555aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_7_linear_sw_mask 0x00000003 556aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_7_linear_sw_shift 16 557aaa36a97SAlex 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) 558aaa36a97SAlex Deucher 559aaa36a97SAlex Deucher /*define for tile_sw field*/ 560aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_7_tile_sw_offset 7 561aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_7_tile_sw_mask 0x00000003 562aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_DW_7_tile_sw_shift 24 563aaa36a97SAlex 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) 564aaa36a97SAlex Deucher 565aaa36a97SAlex Deucher /*define for LINEAR_ADDR_LO word*/ 566aaa36a97SAlex Deucher /*define for linear_addr_31_0 field*/ 567aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_LINEAR_ADDR_LO_linear_addr_31_0_offset 8 568aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_LINEAR_ADDR_LO_linear_addr_31_0_mask 0xFFFFFFFF 569aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_LINEAR_ADDR_LO_linear_addr_31_0_shift 0 570aaa36a97SAlex 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) 571aaa36a97SAlex Deucher 572aaa36a97SAlex Deucher /*define for LINEAR_ADDR_HI word*/ 573aaa36a97SAlex Deucher /*define for linear_addr_63_32 field*/ 574aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_LINEAR_ADDR_HI_linear_addr_63_32_offset 9 575aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_LINEAR_ADDR_HI_linear_addr_63_32_mask 0xFFFFFFFF 576aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_LINEAR_ADDR_HI_linear_addr_63_32_shift 0 577aaa36a97SAlex 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) 578aaa36a97SAlex Deucher 579aaa36a97SAlex Deucher /*define for LINEAR_PITCH word*/ 580aaa36a97SAlex Deucher /*define for linear_pitch field*/ 581aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_LINEAR_PITCH_linear_pitch_offset 10 582aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_LINEAR_PITCH_linear_pitch_mask 0x0007FFFF 583aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_LINEAR_PITCH_linear_pitch_shift 0 584aaa36a97SAlex 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) 585aaa36a97SAlex Deucher 586aaa36a97SAlex Deucher /*define for COUNT word*/ 587aaa36a97SAlex Deucher /*define for count field*/ 588aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_COUNT_count_offset 11 589aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_COUNT_count_mask 0x000FFFFF 590aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_COUNT_count_shift 0 591aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_COUNT_COUNT(x) (((x) & SDMA_PKT_COPY_TILED_COUNT_count_mask) << SDMA_PKT_COPY_TILED_COUNT_count_shift) 592aaa36a97SAlex Deucher 593aaa36a97SAlex Deucher 594aaa36a97SAlex Deucher /* 595aaa36a97SAlex Deucher ** Definitions for SDMA_PKT_COPY_L2T_BROADCAST packet 596aaa36a97SAlex Deucher */ 597aaa36a97SAlex Deucher 598aaa36a97SAlex Deucher /*define for HEADER word*/ 599aaa36a97SAlex Deucher /*define for op field*/ 600aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_HEADER_op_offset 0 601aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_HEADER_op_mask 0x000000FF 602aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_HEADER_op_shift 0 603aaa36a97SAlex 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) 604aaa36a97SAlex Deucher 605aaa36a97SAlex Deucher /*define for sub_op field*/ 606aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_HEADER_sub_op_offset 0 607aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_HEADER_sub_op_mask 0x000000FF 608aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_HEADER_sub_op_shift 8 609aaa36a97SAlex 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) 610aaa36a97SAlex Deucher 611aaa36a97SAlex Deucher /*define for videocopy field*/ 612aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_HEADER_videocopy_offset 0 613aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_HEADER_videocopy_mask 0x00000001 614aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_HEADER_videocopy_shift 26 615aaa36a97SAlex 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) 616aaa36a97SAlex Deucher 617aaa36a97SAlex Deucher /*define for broadcast field*/ 618aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_HEADER_broadcast_offset 0 619aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_HEADER_broadcast_mask 0x00000001 620aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_HEADER_broadcast_shift 27 621aaa36a97SAlex 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) 622aaa36a97SAlex Deucher 623aaa36a97SAlex Deucher /*define for TILED_ADDR_LO_0 word*/ 624aaa36a97SAlex Deucher /*define for tiled_addr0_31_0 field*/ 625aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_TILED_ADDR_LO_0_tiled_addr0_31_0_offset 1 626aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_TILED_ADDR_LO_0_tiled_addr0_31_0_mask 0xFFFFFFFF 627aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_TILED_ADDR_LO_0_tiled_addr0_31_0_shift 0 628aaa36a97SAlex 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) 629aaa36a97SAlex Deucher 630aaa36a97SAlex Deucher /*define for TILED_ADDR_HI_0 word*/ 631aaa36a97SAlex Deucher /*define for tiled_addr0_63_32 field*/ 632aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_TILED_ADDR_HI_0_tiled_addr0_63_32_offset 2 633aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_TILED_ADDR_HI_0_tiled_addr0_63_32_mask 0xFFFFFFFF 634aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_TILED_ADDR_HI_0_tiled_addr0_63_32_shift 0 635aaa36a97SAlex 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) 636aaa36a97SAlex Deucher 637aaa36a97SAlex Deucher /*define for TILED_ADDR_LO_1 word*/ 638aaa36a97SAlex Deucher /*define for tiled_addr1_31_0 field*/ 639aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_TILED_ADDR_LO_1_tiled_addr1_31_0_offset 3 640aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_TILED_ADDR_LO_1_tiled_addr1_31_0_mask 0xFFFFFFFF 641aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_TILED_ADDR_LO_1_tiled_addr1_31_0_shift 0 642aaa36a97SAlex 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) 643aaa36a97SAlex Deucher 644aaa36a97SAlex Deucher /*define for TILED_ADDR_HI_1 word*/ 645aaa36a97SAlex Deucher /*define for tiled_addr1_63_32 field*/ 646aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_TILED_ADDR_HI_1_tiled_addr1_63_32_offset 4 647aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_TILED_ADDR_HI_1_tiled_addr1_63_32_mask 0xFFFFFFFF 648aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_TILED_ADDR_HI_1_tiled_addr1_63_32_shift 0 649aaa36a97SAlex 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) 650aaa36a97SAlex Deucher 651aaa36a97SAlex Deucher /*define for DW_5 word*/ 652aaa36a97SAlex Deucher /*define for pitch_in_tile field*/ 653aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_5_pitch_in_tile_offset 5 654aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_5_pitch_in_tile_mask 0x000007FF 655aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_5_pitch_in_tile_shift 0 656aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_5_PITCH_IN_TILE(x) (((x) & SDMA_PKT_COPY_L2T_BROADCAST_DW_5_pitch_in_tile_mask) << SDMA_PKT_COPY_L2T_BROADCAST_DW_5_pitch_in_tile_shift) 657aaa36a97SAlex Deucher 658aaa36a97SAlex Deucher /*define for height field*/ 659aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_5_height_offset 5 660aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_5_height_mask 0x00003FFF 661aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_5_height_shift 16 662aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_5_HEIGHT(x) (((x) & SDMA_PKT_COPY_L2T_BROADCAST_DW_5_height_mask) << SDMA_PKT_COPY_L2T_BROADCAST_DW_5_height_shift) 663aaa36a97SAlex Deucher 664aaa36a97SAlex Deucher /*define for DW_6 word*/ 665aaa36a97SAlex Deucher /*define for slice_pitch field*/ 666aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_6_slice_pitch_offset 6 667aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_6_slice_pitch_mask 0x003FFFFF 668aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_6_slice_pitch_shift 0 669aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_6_SLICE_PITCH(x) (((x) & SDMA_PKT_COPY_L2T_BROADCAST_DW_6_slice_pitch_mask) << SDMA_PKT_COPY_L2T_BROADCAST_DW_6_slice_pitch_shift) 670aaa36a97SAlex Deucher 671aaa36a97SAlex Deucher /*define for DW_7 word*/ 672aaa36a97SAlex Deucher /*define for element_size field*/ 673aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_element_size_offset 7 674aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_element_size_mask 0x00000007 675aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_element_size_shift 0 676aaa36a97SAlex 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) 677aaa36a97SAlex Deucher 678aaa36a97SAlex Deucher /*define for array_mode field*/ 679aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_array_mode_offset 7 680aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_array_mode_mask 0x0000000F 681aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_array_mode_shift 3 682aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_ARRAY_MODE(x) (((x) & SDMA_PKT_COPY_L2T_BROADCAST_DW_7_array_mode_mask) << SDMA_PKT_COPY_L2T_BROADCAST_DW_7_array_mode_shift) 683aaa36a97SAlex Deucher 684aaa36a97SAlex Deucher /*define for mit_mode field*/ 685aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_mit_mode_offset 7 686aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_mit_mode_mask 0x00000007 687aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_mit_mode_shift 8 688aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_MIT_MODE(x) (((x) & SDMA_PKT_COPY_L2T_BROADCAST_DW_7_mit_mode_mask) << SDMA_PKT_COPY_L2T_BROADCAST_DW_7_mit_mode_shift) 689aaa36a97SAlex Deucher 690aaa36a97SAlex Deucher /*define for tilesplit_size field*/ 691aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_tilesplit_size_offset 7 692aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_tilesplit_size_mask 0x00000007 693aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_tilesplit_size_shift 11 694aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_TILESPLIT_SIZE(x) (((x) & SDMA_PKT_COPY_L2T_BROADCAST_DW_7_tilesplit_size_mask) << SDMA_PKT_COPY_L2T_BROADCAST_DW_7_tilesplit_size_shift) 695aaa36a97SAlex Deucher 696aaa36a97SAlex Deucher /*define for bank_w field*/ 697aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_bank_w_offset 7 698aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_bank_w_mask 0x00000003 699aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_bank_w_shift 15 700aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_BANK_W(x) (((x) & SDMA_PKT_COPY_L2T_BROADCAST_DW_7_bank_w_mask) << SDMA_PKT_COPY_L2T_BROADCAST_DW_7_bank_w_shift) 701aaa36a97SAlex Deucher 702aaa36a97SAlex Deucher /*define for bank_h field*/ 703aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_bank_h_offset 7 704aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_bank_h_mask 0x00000003 705aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_bank_h_shift 18 706aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_BANK_H(x) (((x) & SDMA_PKT_COPY_L2T_BROADCAST_DW_7_bank_h_mask) << SDMA_PKT_COPY_L2T_BROADCAST_DW_7_bank_h_shift) 707aaa36a97SAlex Deucher 708aaa36a97SAlex Deucher /*define for num_bank field*/ 709aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_num_bank_offset 7 710aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_num_bank_mask 0x00000003 711aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_num_bank_shift 21 712aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_NUM_BANK(x) (((x) & SDMA_PKT_COPY_L2T_BROADCAST_DW_7_num_bank_mask) << SDMA_PKT_COPY_L2T_BROADCAST_DW_7_num_bank_shift) 713aaa36a97SAlex Deucher 714aaa36a97SAlex Deucher /*define for mat_aspt field*/ 715aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_mat_aspt_offset 7 716aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_mat_aspt_mask 0x00000003 717aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_mat_aspt_shift 24 718aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_MAT_ASPT(x) (((x) & SDMA_PKT_COPY_L2T_BROADCAST_DW_7_mat_aspt_mask) << SDMA_PKT_COPY_L2T_BROADCAST_DW_7_mat_aspt_shift) 719aaa36a97SAlex Deucher 720aaa36a97SAlex Deucher /*define for pipe_config field*/ 721aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_pipe_config_offset 7 722aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_pipe_config_mask 0x0000001F 723aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_pipe_config_shift 26 724aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_7_PIPE_CONFIG(x) (((x) & SDMA_PKT_COPY_L2T_BROADCAST_DW_7_pipe_config_mask) << SDMA_PKT_COPY_L2T_BROADCAST_DW_7_pipe_config_shift) 725aaa36a97SAlex Deucher 726aaa36a97SAlex Deucher /*define for DW_8 word*/ 727aaa36a97SAlex Deucher /*define for x field*/ 728aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_8_x_offset 8 729aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_8_x_mask 0x00003FFF 730aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_8_x_shift 0 731aaa36a97SAlex 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) 732aaa36a97SAlex Deucher 733aaa36a97SAlex Deucher /*define for y field*/ 734aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_8_y_offset 8 735aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_8_y_mask 0x00003FFF 736aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_8_y_shift 16 737aaa36a97SAlex 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) 738aaa36a97SAlex Deucher 739aaa36a97SAlex Deucher /*define for DW_9 word*/ 740aaa36a97SAlex Deucher /*define for z field*/ 741aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_9_z_offset 9 742aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_9_z_mask 0x00000FFF 743aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_9_z_shift 0 744aaa36a97SAlex 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) 745aaa36a97SAlex Deucher 746aaa36a97SAlex Deucher /*define for DW_10 word*/ 747aaa36a97SAlex Deucher /*define for dst2_sw field*/ 748aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_10_dst2_sw_offset 10 749aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_10_dst2_sw_mask 0x00000003 750aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_10_dst2_sw_shift 8 751aaa36a97SAlex 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) 752aaa36a97SAlex Deucher 753aaa36a97SAlex Deucher /*define for dst2_ha field*/ 754aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_10_dst2_ha_offset 10 755aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_10_dst2_ha_mask 0x00000001 756aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_10_dst2_ha_shift 14 757aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_10_DST2_HA(x) (((x) & SDMA_PKT_COPY_L2T_BROADCAST_DW_10_dst2_ha_mask) << SDMA_PKT_COPY_L2T_BROADCAST_DW_10_dst2_ha_shift) 758aaa36a97SAlex Deucher 759aaa36a97SAlex Deucher /*define for linear_sw field*/ 760aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_10_linear_sw_offset 10 761aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_10_linear_sw_mask 0x00000003 762aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_10_linear_sw_shift 16 763aaa36a97SAlex 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) 764aaa36a97SAlex Deucher 765aaa36a97SAlex Deucher /*define for tile_sw field*/ 766aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_10_tile_sw_offset 10 767aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_10_tile_sw_mask 0x00000003 768aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_DW_10_tile_sw_shift 24 769aaa36a97SAlex 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) 770aaa36a97SAlex Deucher 771aaa36a97SAlex Deucher /*define for LINEAR_ADDR_LO word*/ 772aaa36a97SAlex Deucher /*define for linear_addr_31_0 field*/ 773aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_LINEAR_ADDR_LO_linear_addr_31_0_offset 11 774aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_LINEAR_ADDR_LO_linear_addr_31_0_mask 0xFFFFFFFF 775aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_LINEAR_ADDR_LO_linear_addr_31_0_shift 0 776aaa36a97SAlex 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) 777aaa36a97SAlex Deucher 778aaa36a97SAlex Deucher /*define for LINEAR_ADDR_HI word*/ 779aaa36a97SAlex Deucher /*define for linear_addr_63_32 field*/ 780aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_LINEAR_ADDR_HI_linear_addr_63_32_offset 12 781aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_LINEAR_ADDR_HI_linear_addr_63_32_mask 0xFFFFFFFF 782aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_LINEAR_ADDR_HI_linear_addr_63_32_shift 0 783aaa36a97SAlex 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) 784aaa36a97SAlex Deucher 785aaa36a97SAlex Deucher /*define for LINEAR_PITCH word*/ 786aaa36a97SAlex Deucher /*define for linear_pitch field*/ 787aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_LINEAR_PITCH_linear_pitch_offset 13 788aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_LINEAR_PITCH_linear_pitch_mask 0x0007FFFF 789aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_LINEAR_PITCH_linear_pitch_shift 0 790aaa36a97SAlex 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) 791aaa36a97SAlex Deucher 792aaa36a97SAlex Deucher /*define for COUNT word*/ 793aaa36a97SAlex Deucher /*define for count field*/ 794aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_COUNT_count_offset 14 795aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_COUNT_count_mask 0x000FFFFF 796aaa36a97SAlex Deucher #define SDMA_PKT_COPY_L2T_BROADCAST_COUNT_count_shift 0 797aaa36a97SAlex 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) 798aaa36a97SAlex Deucher 799aaa36a97SAlex Deucher 800aaa36a97SAlex Deucher /* 801aaa36a97SAlex Deucher ** Definitions for SDMA_PKT_COPY_T2T packet 802aaa36a97SAlex Deucher */ 803aaa36a97SAlex Deucher 804aaa36a97SAlex Deucher /*define for HEADER word*/ 805aaa36a97SAlex Deucher /*define for op field*/ 806aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_HEADER_op_offset 0 807aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_HEADER_op_mask 0x000000FF 808aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_HEADER_op_shift 0 809aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_HEADER_OP(x) (((x) & SDMA_PKT_COPY_T2T_HEADER_op_mask) << SDMA_PKT_COPY_T2T_HEADER_op_shift) 810aaa36a97SAlex Deucher 811aaa36a97SAlex Deucher /*define for sub_op field*/ 812aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_HEADER_sub_op_offset 0 813aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_HEADER_sub_op_mask 0x000000FF 814aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_HEADER_sub_op_shift 8 815aaa36a97SAlex 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) 816aaa36a97SAlex Deucher 817aaa36a97SAlex Deucher /*define for SRC_ADDR_LO word*/ 818aaa36a97SAlex Deucher /*define for src_addr_31_0 field*/ 819aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_SRC_ADDR_LO_src_addr_31_0_offset 1 820aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_SRC_ADDR_LO_src_addr_31_0_mask 0xFFFFFFFF 821aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_SRC_ADDR_LO_src_addr_31_0_shift 0 822aaa36a97SAlex 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) 823aaa36a97SAlex Deucher 824aaa36a97SAlex Deucher /*define for SRC_ADDR_HI word*/ 825aaa36a97SAlex Deucher /*define for src_addr_63_32 field*/ 826aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_SRC_ADDR_HI_src_addr_63_32_offset 2 827aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_SRC_ADDR_HI_src_addr_63_32_mask 0xFFFFFFFF 828aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_SRC_ADDR_HI_src_addr_63_32_shift 0 829aaa36a97SAlex 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) 830aaa36a97SAlex Deucher 831aaa36a97SAlex Deucher /*define for DW_3 word*/ 832aaa36a97SAlex Deucher /*define for src_x field*/ 833aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_3_src_x_offset 3 834aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_3_src_x_mask 0x00003FFF 835aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_3_src_x_shift 0 836aaa36a97SAlex 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) 837aaa36a97SAlex Deucher 838aaa36a97SAlex Deucher /*define for src_y field*/ 839aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_3_src_y_offset 3 840aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_3_src_y_mask 0x00003FFF 841aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_3_src_y_shift 16 842aaa36a97SAlex 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) 843aaa36a97SAlex Deucher 844aaa36a97SAlex Deucher /*define for DW_4 word*/ 845aaa36a97SAlex Deucher /*define for src_z field*/ 846aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_4_src_z_offset 4 847aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_4_src_z_mask 0x000007FF 848aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_4_src_z_shift 0 849aaa36a97SAlex 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) 850aaa36a97SAlex Deucher 851aaa36a97SAlex Deucher /*define for src_pitch_in_tile field*/ 852aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_4_src_pitch_in_tile_offset 4 853aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_4_src_pitch_in_tile_mask 0x00000FFF 854aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_4_src_pitch_in_tile_shift 16 855aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_4_SRC_PITCH_IN_TILE(x) (((x) & SDMA_PKT_COPY_T2T_DW_4_src_pitch_in_tile_mask) << SDMA_PKT_COPY_T2T_DW_4_src_pitch_in_tile_shift) 856aaa36a97SAlex Deucher 857aaa36a97SAlex Deucher /*define for DW_5 word*/ 858aaa36a97SAlex Deucher /*define for src_slice_pitch field*/ 859aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_5_src_slice_pitch_offset 5 860aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_5_src_slice_pitch_mask 0x003FFFFF 861aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_5_src_slice_pitch_shift 0 862aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_5_SRC_SLICE_PITCH(x) (((x) & SDMA_PKT_COPY_T2T_DW_5_src_slice_pitch_mask) << SDMA_PKT_COPY_T2T_DW_5_src_slice_pitch_shift) 863aaa36a97SAlex Deucher 864aaa36a97SAlex Deucher /*define for DW_6 word*/ 865aaa36a97SAlex Deucher /*define for src_element_size field*/ 866aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_src_element_size_offset 6 867aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_src_element_size_mask 0x00000007 868aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_src_element_size_shift 0 869aaa36a97SAlex 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) 870aaa36a97SAlex Deucher 871aaa36a97SAlex Deucher /*define for src_array_mode field*/ 872aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_src_array_mode_offset 6 873aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_src_array_mode_mask 0x0000000F 874aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_src_array_mode_shift 3 875aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_SRC_ARRAY_MODE(x) (((x) & SDMA_PKT_COPY_T2T_DW_6_src_array_mode_mask) << SDMA_PKT_COPY_T2T_DW_6_src_array_mode_shift) 876aaa36a97SAlex Deucher 877aaa36a97SAlex Deucher /*define for src_mit_mode field*/ 878aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_src_mit_mode_offset 6 879aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_src_mit_mode_mask 0x00000007 880aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_src_mit_mode_shift 8 881aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_SRC_MIT_MODE(x) (((x) & SDMA_PKT_COPY_T2T_DW_6_src_mit_mode_mask) << SDMA_PKT_COPY_T2T_DW_6_src_mit_mode_shift) 882aaa36a97SAlex Deucher 883aaa36a97SAlex Deucher /*define for src_tilesplit_size field*/ 884aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_src_tilesplit_size_offset 6 885aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_src_tilesplit_size_mask 0x00000007 886aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_src_tilesplit_size_shift 11 887aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_SRC_TILESPLIT_SIZE(x) (((x) & SDMA_PKT_COPY_T2T_DW_6_src_tilesplit_size_mask) << SDMA_PKT_COPY_T2T_DW_6_src_tilesplit_size_shift) 888aaa36a97SAlex Deucher 889aaa36a97SAlex Deucher /*define for src_bank_w field*/ 890aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_src_bank_w_offset 6 891aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_src_bank_w_mask 0x00000003 892aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_src_bank_w_shift 15 893aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_SRC_BANK_W(x) (((x) & SDMA_PKT_COPY_T2T_DW_6_src_bank_w_mask) << SDMA_PKT_COPY_T2T_DW_6_src_bank_w_shift) 894aaa36a97SAlex Deucher 895aaa36a97SAlex Deucher /*define for src_bank_h field*/ 896aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_src_bank_h_offset 6 897aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_src_bank_h_mask 0x00000003 898aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_src_bank_h_shift 18 899aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_SRC_BANK_H(x) (((x) & SDMA_PKT_COPY_T2T_DW_6_src_bank_h_mask) << SDMA_PKT_COPY_T2T_DW_6_src_bank_h_shift) 900aaa36a97SAlex Deucher 901aaa36a97SAlex Deucher /*define for src_num_bank field*/ 902aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_src_num_bank_offset 6 903aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_src_num_bank_mask 0x00000003 904aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_src_num_bank_shift 21 905aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_SRC_NUM_BANK(x) (((x) & SDMA_PKT_COPY_T2T_DW_6_src_num_bank_mask) << SDMA_PKT_COPY_T2T_DW_6_src_num_bank_shift) 906aaa36a97SAlex Deucher 907aaa36a97SAlex Deucher /*define for src_mat_aspt field*/ 908aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_src_mat_aspt_offset 6 909aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_src_mat_aspt_mask 0x00000003 910aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_src_mat_aspt_shift 24 911aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_SRC_MAT_ASPT(x) (((x) & SDMA_PKT_COPY_T2T_DW_6_src_mat_aspt_mask) << SDMA_PKT_COPY_T2T_DW_6_src_mat_aspt_shift) 912aaa36a97SAlex Deucher 913aaa36a97SAlex Deucher /*define for src_pipe_config field*/ 914aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_src_pipe_config_offset 6 915aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_src_pipe_config_mask 0x0000001F 916aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_src_pipe_config_shift 26 917aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_6_SRC_PIPE_CONFIG(x) (((x) & SDMA_PKT_COPY_T2T_DW_6_src_pipe_config_mask) << SDMA_PKT_COPY_T2T_DW_6_src_pipe_config_shift) 918aaa36a97SAlex Deucher 919aaa36a97SAlex Deucher /*define for DST_ADDR_LO word*/ 920aaa36a97SAlex Deucher /*define for dst_addr_31_0 field*/ 921aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DST_ADDR_LO_dst_addr_31_0_offset 7 922aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DST_ADDR_LO_dst_addr_31_0_mask 0xFFFFFFFF 923aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DST_ADDR_LO_dst_addr_31_0_shift 0 924aaa36a97SAlex 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) 925aaa36a97SAlex Deucher 926aaa36a97SAlex Deucher /*define for DST_ADDR_HI word*/ 927aaa36a97SAlex Deucher /*define for dst_addr_63_32 field*/ 928aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DST_ADDR_HI_dst_addr_63_32_offset 8 929aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DST_ADDR_HI_dst_addr_63_32_mask 0xFFFFFFFF 930aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DST_ADDR_HI_dst_addr_63_32_shift 0 931aaa36a97SAlex 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) 932aaa36a97SAlex Deucher 933aaa36a97SAlex Deucher /*define for DW_9 word*/ 934aaa36a97SAlex Deucher /*define for dst_x field*/ 935aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_9_dst_x_offset 9 936aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_9_dst_x_mask 0x00003FFF 937aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_9_dst_x_shift 0 938aaa36a97SAlex 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) 939aaa36a97SAlex Deucher 940aaa36a97SAlex Deucher /*define for dst_y field*/ 941aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_9_dst_y_offset 9 942aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_9_dst_y_mask 0x00003FFF 943aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_9_dst_y_shift 16 944aaa36a97SAlex 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) 945aaa36a97SAlex Deucher 946aaa36a97SAlex Deucher /*define for DW_10 word*/ 947aaa36a97SAlex Deucher /*define for dst_z field*/ 948aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_10_dst_z_offset 10 949aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_10_dst_z_mask 0x000007FF 950aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_10_dst_z_shift 0 951aaa36a97SAlex 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) 952aaa36a97SAlex Deucher 953aaa36a97SAlex Deucher /*define for dst_pitch_in_tile field*/ 954aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_10_dst_pitch_in_tile_offset 10 955aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_10_dst_pitch_in_tile_mask 0x00000FFF 956aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_10_dst_pitch_in_tile_shift 16 957aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_10_DST_PITCH_IN_TILE(x) (((x) & SDMA_PKT_COPY_T2T_DW_10_dst_pitch_in_tile_mask) << SDMA_PKT_COPY_T2T_DW_10_dst_pitch_in_tile_shift) 958aaa36a97SAlex Deucher 959aaa36a97SAlex Deucher /*define for DW_11 word*/ 960aaa36a97SAlex Deucher /*define for dst_slice_pitch field*/ 961aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_11_dst_slice_pitch_offset 11 962aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_11_dst_slice_pitch_mask 0x003FFFFF 963aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_11_dst_slice_pitch_shift 0 964aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_11_DST_SLICE_PITCH(x) (((x) & SDMA_PKT_COPY_T2T_DW_11_dst_slice_pitch_mask) << SDMA_PKT_COPY_T2T_DW_11_dst_slice_pitch_shift) 965aaa36a97SAlex Deucher 966aaa36a97SAlex Deucher /*define for DW_12 word*/ 967aaa36a97SAlex Deucher /*define for dst_array_mode field*/ 968aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_dst_array_mode_offset 12 969aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_dst_array_mode_mask 0x0000000F 970aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_dst_array_mode_shift 3 971aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_DST_ARRAY_MODE(x) (((x) & SDMA_PKT_COPY_T2T_DW_12_dst_array_mode_mask) << SDMA_PKT_COPY_T2T_DW_12_dst_array_mode_shift) 972aaa36a97SAlex Deucher 973aaa36a97SAlex Deucher /*define for dst_mit_mode field*/ 974aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_dst_mit_mode_offset 12 975aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_dst_mit_mode_mask 0x00000007 976aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_dst_mit_mode_shift 8 977aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_DST_MIT_MODE(x) (((x) & SDMA_PKT_COPY_T2T_DW_12_dst_mit_mode_mask) << SDMA_PKT_COPY_T2T_DW_12_dst_mit_mode_shift) 978aaa36a97SAlex Deucher 979aaa36a97SAlex Deucher /*define for dst_tilesplit_size field*/ 980aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_dst_tilesplit_size_offset 12 981aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_dst_tilesplit_size_mask 0x00000007 982aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_dst_tilesplit_size_shift 11 983aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_DST_TILESPLIT_SIZE(x) (((x) & SDMA_PKT_COPY_T2T_DW_12_dst_tilesplit_size_mask) << SDMA_PKT_COPY_T2T_DW_12_dst_tilesplit_size_shift) 984aaa36a97SAlex Deucher 985aaa36a97SAlex Deucher /*define for dst_bank_w field*/ 986aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_dst_bank_w_offset 12 987aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_dst_bank_w_mask 0x00000003 988aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_dst_bank_w_shift 15 989aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_DST_BANK_W(x) (((x) & SDMA_PKT_COPY_T2T_DW_12_dst_bank_w_mask) << SDMA_PKT_COPY_T2T_DW_12_dst_bank_w_shift) 990aaa36a97SAlex Deucher 991aaa36a97SAlex Deucher /*define for dst_bank_h field*/ 992aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_dst_bank_h_offset 12 993aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_dst_bank_h_mask 0x00000003 994aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_dst_bank_h_shift 18 995aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_DST_BANK_H(x) (((x) & SDMA_PKT_COPY_T2T_DW_12_dst_bank_h_mask) << SDMA_PKT_COPY_T2T_DW_12_dst_bank_h_shift) 996aaa36a97SAlex Deucher 997aaa36a97SAlex Deucher /*define for dst_num_bank field*/ 998aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_dst_num_bank_offset 12 999aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_dst_num_bank_mask 0x00000003 1000aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_dst_num_bank_shift 21 1001aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_DST_NUM_BANK(x) (((x) & SDMA_PKT_COPY_T2T_DW_12_dst_num_bank_mask) << SDMA_PKT_COPY_T2T_DW_12_dst_num_bank_shift) 1002aaa36a97SAlex Deucher 1003aaa36a97SAlex Deucher /*define for dst_mat_aspt field*/ 1004aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_dst_mat_aspt_offset 12 1005aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_dst_mat_aspt_mask 0x00000003 1006aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_dst_mat_aspt_shift 24 1007aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_DST_MAT_ASPT(x) (((x) & SDMA_PKT_COPY_T2T_DW_12_dst_mat_aspt_mask) << SDMA_PKT_COPY_T2T_DW_12_dst_mat_aspt_shift) 1008aaa36a97SAlex Deucher 1009aaa36a97SAlex Deucher /*define for dst_pipe_config field*/ 1010aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_dst_pipe_config_offset 12 1011aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_dst_pipe_config_mask 0x0000001F 1012aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_dst_pipe_config_shift 26 1013aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_12_DST_PIPE_CONFIG(x) (((x) & SDMA_PKT_COPY_T2T_DW_12_dst_pipe_config_mask) << SDMA_PKT_COPY_T2T_DW_12_dst_pipe_config_shift) 1014aaa36a97SAlex Deucher 1015aaa36a97SAlex Deucher /*define for DW_13 word*/ 1016aaa36a97SAlex Deucher /*define for rect_x field*/ 1017aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_13_rect_x_offset 13 1018aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_13_rect_x_mask 0x00003FFF 1019aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_13_rect_x_shift 0 1020aaa36a97SAlex 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) 1021aaa36a97SAlex Deucher 1022aaa36a97SAlex Deucher /*define for rect_y field*/ 1023aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_13_rect_y_offset 13 1024aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_13_rect_y_mask 0x00003FFF 1025aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_13_rect_y_shift 16 1026aaa36a97SAlex 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) 1027aaa36a97SAlex Deucher 1028aaa36a97SAlex Deucher /*define for DW_14 word*/ 1029aaa36a97SAlex Deucher /*define for rect_z field*/ 1030aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_14_rect_z_offset 14 1031aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_14_rect_z_mask 0x000007FF 1032aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_14_rect_z_shift 0 1033aaa36a97SAlex 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) 1034aaa36a97SAlex Deucher 1035aaa36a97SAlex Deucher /*define for dst_sw field*/ 1036aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_14_dst_sw_offset 14 1037aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_14_dst_sw_mask 0x00000003 1038aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_14_dst_sw_shift 16 1039aaa36a97SAlex 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) 1040aaa36a97SAlex Deucher 1041aaa36a97SAlex Deucher /*define for src_sw field*/ 1042aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_14_src_sw_offset 14 1043aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_14_src_sw_mask 0x00000003 1044aaa36a97SAlex Deucher #define SDMA_PKT_COPY_T2T_DW_14_src_sw_shift 24 1045aaa36a97SAlex 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) 1046aaa36a97SAlex Deucher 1047aaa36a97SAlex Deucher 1048aaa36a97SAlex Deucher /* 1049aaa36a97SAlex Deucher ** Definitions for SDMA_PKT_COPY_TILED_SUBWIN packet 1050aaa36a97SAlex Deucher */ 1051aaa36a97SAlex Deucher 1052aaa36a97SAlex Deucher /*define for HEADER word*/ 1053aaa36a97SAlex Deucher /*define for op field*/ 1054aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_HEADER_op_offset 0 1055aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_HEADER_op_mask 0x000000FF 1056aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_HEADER_op_shift 0 1057aaa36a97SAlex 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) 1058aaa36a97SAlex Deucher 1059aaa36a97SAlex Deucher /*define for sub_op field*/ 1060aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_HEADER_sub_op_offset 0 1061aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_HEADER_sub_op_mask 0x000000FF 1062aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_HEADER_sub_op_shift 8 1063aaa36a97SAlex 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) 1064aaa36a97SAlex Deucher 1065aaa36a97SAlex Deucher /*define for detile field*/ 1066aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_HEADER_detile_offset 0 1067aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_HEADER_detile_mask 0x00000001 1068aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_HEADER_detile_shift 31 1069aaa36a97SAlex 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) 1070aaa36a97SAlex Deucher 1071aaa36a97SAlex Deucher /*define for TILED_ADDR_LO word*/ 1072aaa36a97SAlex Deucher /*define for tiled_addr_31_0 field*/ 1073aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_TILED_ADDR_LO_tiled_addr_31_0_offset 1 1074aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_TILED_ADDR_LO_tiled_addr_31_0_mask 0xFFFFFFFF 1075aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_TILED_ADDR_LO_tiled_addr_31_0_shift 0 1076aaa36a97SAlex 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) 1077aaa36a97SAlex Deucher 1078aaa36a97SAlex Deucher /*define for TILED_ADDR_HI word*/ 1079aaa36a97SAlex Deucher /*define for tiled_addr_63_32 field*/ 1080aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_TILED_ADDR_HI_tiled_addr_63_32_offset 2 1081aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_TILED_ADDR_HI_tiled_addr_63_32_mask 0xFFFFFFFF 1082aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_TILED_ADDR_HI_tiled_addr_63_32_shift 0 1083aaa36a97SAlex 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) 1084aaa36a97SAlex Deucher 1085aaa36a97SAlex Deucher /*define for DW_3 word*/ 1086aaa36a97SAlex Deucher /*define for tiled_x field*/ 1087aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_3_tiled_x_offset 3 1088aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_3_tiled_x_mask 0x00003FFF 1089aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_3_tiled_x_shift 0 1090aaa36a97SAlex 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) 1091aaa36a97SAlex Deucher 1092aaa36a97SAlex Deucher /*define for tiled_y field*/ 1093aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_3_tiled_y_offset 3 1094aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_3_tiled_y_mask 0x00003FFF 1095aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_3_tiled_y_shift 16 1096aaa36a97SAlex 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) 1097aaa36a97SAlex Deucher 1098aaa36a97SAlex Deucher /*define for DW_4 word*/ 1099aaa36a97SAlex Deucher /*define for tiled_z field*/ 1100aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_4_tiled_z_offset 4 1101aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_4_tiled_z_mask 0x000007FF 1102aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_4_tiled_z_shift 0 1103aaa36a97SAlex 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) 1104aaa36a97SAlex Deucher 1105aaa36a97SAlex Deucher /*define for pitch_in_tile field*/ 1106aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_4_pitch_in_tile_offset 4 1107aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_4_pitch_in_tile_mask 0x00000FFF 1108aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_4_pitch_in_tile_shift 16 1109aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_4_PITCH_IN_TILE(x) (((x) & SDMA_PKT_COPY_TILED_SUBWIN_DW_4_pitch_in_tile_mask) << SDMA_PKT_COPY_TILED_SUBWIN_DW_4_pitch_in_tile_shift) 1110aaa36a97SAlex Deucher 1111aaa36a97SAlex Deucher /*define for DW_5 word*/ 1112aaa36a97SAlex Deucher /*define for slice_pitch field*/ 1113aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_5_slice_pitch_offset 5 1114aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_5_slice_pitch_mask 0x003FFFFF 1115aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_5_slice_pitch_shift 0 1116aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_5_SLICE_PITCH(x) (((x) & SDMA_PKT_COPY_TILED_SUBWIN_DW_5_slice_pitch_mask) << SDMA_PKT_COPY_TILED_SUBWIN_DW_5_slice_pitch_shift) 1117aaa36a97SAlex Deucher 1118aaa36a97SAlex Deucher /*define for DW_6 word*/ 1119aaa36a97SAlex Deucher /*define for element_size field*/ 1120aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_element_size_offset 6 1121aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_element_size_mask 0x00000007 1122aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_element_size_shift 0 1123aaa36a97SAlex 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) 1124aaa36a97SAlex Deucher 1125aaa36a97SAlex Deucher /*define for array_mode field*/ 1126aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_array_mode_offset 6 1127aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_array_mode_mask 0x0000000F 1128aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_array_mode_shift 3 1129aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_ARRAY_MODE(x) (((x) & SDMA_PKT_COPY_TILED_SUBWIN_DW_6_array_mode_mask) << SDMA_PKT_COPY_TILED_SUBWIN_DW_6_array_mode_shift) 1130aaa36a97SAlex Deucher 1131aaa36a97SAlex Deucher /*define for mit_mode field*/ 1132aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_mit_mode_offset 6 1133aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_mit_mode_mask 0x00000007 1134aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_mit_mode_shift 8 1135aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_MIT_MODE(x) (((x) & SDMA_PKT_COPY_TILED_SUBWIN_DW_6_mit_mode_mask) << SDMA_PKT_COPY_TILED_SUBWIN_DW_6_mit_mode_shift) 1136aaa36a97SAlex Deucher 1137aaa36a97SAlex Deucher /*define for tilesplit_size field*/ 1138aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_tilesplit_size_offset 6 1139aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_tilesplit_size_mask 0x00000007 1140aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_tilesplit_size_shift 11 1141aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_TILESPLIT_SIZE(x) (((x) & SDMA_PKT_COPY_TILED_SUBWIN_DW_6_tilesplit_size_mask) << SDMA_PKT_COPY_TILED_SUBWIN_DW_6_tilesplit_size_shift) 1142aaa36a97SAlex Deucher 1143aaa36a97SAlex Deucher /*define for bank_w field*/ 1144aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_bank_w_offset 6 1145aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_bank_w_mask 0x00000003 1146aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_bank_w_shift 15 1147aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_BANK_W(x) (((x) & SDMA_PKT_COPY_TILED_SUBWIN_DW_6_bank_w_mask) << SDMA_PKT_COPY_TILED_SUBWIN_DW_6_bank_w_shift) 1148aaa36a97SAlex Deucher 1149aaa36a97SAlex Deucher /*define for bank_h field*/ 1150aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_bank_h_offset 6 1151aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_bank_h_mask 0x00000003 1152aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_bank_h_shift 18 1153aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_BANK_H(x) (((x) & SDMA_PKT_COPY_TILED_SUBWIN_DW_6_bank_h_mask) << SDMA_PKT_COPY_TILED_SUBWIN_DW_6_bank_h_shift) 1154aaa36a97SAlex Deucher 1155aaa36a97SAlex Deucher /*define for num_bank field*/ 1156aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_num_bank_offset 6 1157aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_num_bank_mask 0x00000003 1158aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_num_bank_shift 21 1159aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_NUM_BANK(x) (((x) & SDMA_PKT_COPY_TILED_SUBWIN_DW_6_num_bank_mask) << SDMA_PKT_COPY_TILED_SUBWIN_DW_6_num_bank_shift) 1160aaa36a97SAlex Deucher 1161aaa36a97SAlex Deucher /*define for mat_aspt field*/ 1162aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_mat_aspt_offset 6 1163aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_mat_aspt_mask 0x00000003 1164aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_mat_aspt_shift 24 1165aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_MAT_ASPT(x) (((x) & SDMA_PKT_COPY_TILED_SUBWIN_DW_6_mat_aspt_mask) << SDMA_PKT_COPY_TILED_SUBWIN_DW_6_mat_aspt_shift) 1166aaa36a97SAlex Deucher 1167aaa36a97SAlex Deucher /*define for pipe_config field*/ 1168aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_pipe_config_offset 6 1169aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_pipe_config_mask 0x0000001F 1170aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_pipe_config_shift 26 1171aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_6_PIPE_CONFIG(x) (((x) & SDMA_PKT_COPY_TILED_SUBWIN_DW_6_pipe_config_mask) << SDMA_PKT_COPY_TILED_SUBWIN_DW_6_pipe_config_shift) 1172aaa36a97SAlex Deucher 1173aaa36a97SAlex Deucher /*define for LINEAR_ADDR_LO word*/ 1174aaa36a97SAlex Deucher /*define for linear_addr_31_0 field*/ 1175aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_LINEAR_ADDR_LO_linear_addr_31_0_offset 7 1176aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_LINEAR_ADDR_LO_linear_addr_31_0_mask 0xFFFFFFFF 1177aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_LINEAR_ADDR_LO_linear_addr_31_0_shift 0 1178aaa36a97SAlex 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) 1179aaa36a97SAlex Deucher 1180aaa36a97SAlex Deucher /*define for LINEAR_ADDR_HI word*/ 1181aaa36a97SAlex Deucher /*define for linear_addr_63_32 field*/ 1182aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_LINEAR_ADDR_HI_linear_addr_63_32_offset 8 1183aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_LINEAR_ADDR_HI_linear_addr_63_32_mask 0xFFFFFFFF 1184aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_LINEAR_ADDR_HI_linear_addr_63_32_shift 0 1185aaa36a97SAlex 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) 1186aaa36a97SAlex Deucher 1187aaa36a97SAlex Deucher /*define for DW_9 word*/ 1188aaa36a97SAlex Deucher /*define for linear_x field*/ 1189aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_9_linear_x_offset 9 1190aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_9_linear_x_mask 0x00003FFF 1191aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_9_linear_x_shift 0 1192aaa36a97SAlex 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) 1193aaa36a97SAlex Deucher 1194aaa36a97SAlex Deucher /*define for linear_y field*/ 1195aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_9_linear_y_offset 9 1196aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_9_linear_y_mask 0x00003FFF 1197aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_9_linear_y_shift 16 1198aaa36a97SAlex 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) 1199aaa36a97SAlex Deucher 1200aaa36a97SAlex Deucher /*define for DW_10 word*/ 1201aaa36a97SAlex Deucher /*define for linear_z field*/ 1202aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_10_linear_z_offset 10 1203aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_10_linear_z_mask 0x000007FF 1204aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_10_linear_z_shift 0 1205aaa36a97SAlex 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) 1206aaa36a97SAlex Deucher 1207aaa36a97SAlex Deucher /*define for linear_pitch field*/ 1208aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_10_linear_pitch_offset 10 1209aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_10_linear_pitch_mask 0x00003FFF 1210aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_10_linear_pitch_shift 16 1211aaa36a97SAlex 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) 1212aaa36a97SAlex Deucher 1213aaa36a97SAlex Deucher /*define for DW_11 word*/ 1214aaa36a97SAlex Deucher /*define for linear_slice_pitch field*/ 1215aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_11_linear_slice_pitch_offset 11 1216aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_11_linear_slice_pitch_mask 0x0FFFFFFF 1217aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_11_linear_slice_pitch_shift 0 1218aaa36a97SAlex 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) 1219aaa36a97SAlex Deucher 1220aaa36a97SAlex Deucher /*define for DW_12 word*/ 1221aaa36a97SAlex Deucher /*define for rect_x field*/ 1222aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_12_rect_x_offset 12 1223aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_12_rect_x_mask 0x00003FFF 1224aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_12_rect_x_shift 0 1225aaa36a97SAlex 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) 1226aaa36a97SAlex Deucher 1227aaa36a97SAlex Deucher /*define for rect_y field*/ 1228aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_12_rect_y_offset 12 1229aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_12_rect_y_mask 0x00003FFF 1230aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_12_rect_y_shift 16 1231aaa36a97SAlex 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) 1232aaa36a97SAlex Deucher 1233aaa36a97SAlex Deucher /*define for DW_13 word*/ 1234aaa36a97SAlex Deucher /*define for rect_z field*/ 1235aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_13_rect_z_offset 13 1236aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_13_rect_z_mask 0x000007FF 1237aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_13_rect_z_shift 0 1238aaa36a97SAlex 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) 1239aaa36a97SAlex Deucher 1240aaa36a97SAlex Deucher /*define for linear_sw field*/ 1241aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_13_linear_sw_offset 13 1242aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_13_linear_sw_mask 0x00000003 1243aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_13_linear_sw_shift 16 1244aaa36a97SAlex 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) 1245aaa36a97SAlex Deucher 1246aaa36a97SAlex Deucher /*define for tile_sw field*/ 1247aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_13_tile_sw_offset 13 1248aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_13_tile_sw_mask 0x00000003 1249aaa36a97SAlex Deucher #define SDMA_PKT_COPY_TILED_SUBWIN_DW_13_tile_sw_shift 24 1250aaa36a97SAlex 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) 1251aaa36a97SAlex Deucher 1252aaa36a97SAlex Deucher 1253aaa36a97SAlex Deucher /* 1254aaa36a97SAlex Deucher ** Definitions for SDMA_PKT_COPY_STRUCT packet 1255aaa36a97SAlex Deucher */ 1256aaa36a97SAlex Deucher 1257aaa36a97SAlex Deucher /*define for HEADER word*/ 1258aaa36a97SAlex Deucher /*define for op field*/ 1259aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_HEADER_op_offset 0 1260aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_HEADER_op_mask 0x000000FF 1261aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_HEADER_op_shift 0 1262aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_HEADER_OP(x) (((x) & SDMA_PKT_COPY_STRUCT_HEADER_op_mask) << SDMA_PKT_COPY_STRUCT_HEADER_op_shift) 1263aaa36a97SAlex Deucher 1264aaa36a97SAlex Deucher /*define for sub_op field*/ 1265aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_HEADER_sub_op_offset 0 1266aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_HEADER_sub_op_mask 0x000000FF 1267aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_HEADER_sub_op_shift 8 1268aaa36a97SAlex 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) 1269aaa36a97SAlex Deucher 1270aaa36a97SAlex Deucher /*define for detile field*/ 1271aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_HEADER_detile_offset 0 1272aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_HEADER_detile_mask 0x00000001 1273aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_HEADER_detile_shift 31 1274aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_HEADER_DETILE(x) (((x) & SDMA_PKT_COPY_STRUCT_HEADER_detile_mask) << SDMA_PKT_COPY_STRUCT_HEADER_detile_shift) 1275aaa36a97SAlex Deucher 1276aaa36a97SAlex Deucher /*define for SB_ADDR_LO word*/ 1277aaa36a97SAlex Deucher /*define for sb_addr_31_0 field*/ 1278aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_SB_ADDR_LO_sb_addr_31_0_offset 1 1279aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_SB_ADDR_LO_sb_addr_31_0_mask 0xFFFFFFFF 1280aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_SB_ADDR_LO_sb_addr_31_0_shift 0 1281aaa36a97SAlex 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) 1282aaa36a97SAlex Deucher 1283aaa36a97SAlex Deucher /*define for SB_ADDR_HI word*/ 1284aaa36a97SAlex Deucher /*define for sb_addr_63_32 field*/ 1285aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_SB_ADDR_HI_sb_addr_63_32_offset 2 1286aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_SB_ADDR_HI_sb_addr_63_32_mask 0xFFFFFFFF 1287aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_SB_ADDR_HI_sb_addr_63_32_shift 0 1288aaa36a97SAlex 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) 1289aaa36a97SAlex Deucher 1290aaa36a97SAlex Deucher /*define for START_INDEX word*/ 1291aaa36a97SAlex Deucher /*define for start_index field*/ 1292aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_START_INDEX_start_index_offset 3 1293aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_START_INDEX_start_index_mask 0xFFFFFFFF 1294aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_START_INDEX_start_index_shift 0 1295aaa36a97SAlex 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) 1296aaa36a97SAlex Deucher 1297aaa36a97SAlex Deucher /*define for COUNT word*/ 1298aaa36a97SAlex Deucher /*define for count field*/ 1299aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_COUNT_count_offset 4 1300aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_COUNT_count_mask 0xFFFFFFFF 1301aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_COUNT_count_shift 0 1302aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_COUNT_COUNT(x) (((x) & SDMA_PKT_COPY_STRUCT_COUNT_count_mask) << SDMA_PKT_COPY_STRUCT_COUNT_count_shift) 1303aaa36a97SAlex Deucher 1304aaa36a97SAlex Deucher /*define for DW_5 word*/ 1305aaa36a97SAlex Deucher /*define for stride field*/ 1306aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_DW_5_stride_offset 5 1307aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_DW_5_stride_mask 0x000007FF 1308aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_DW_5_stride_shift 0 1309aaa36a97SAlex 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) 1310aaa36a97SAlex Deucher 1311aaa36a97SAlex Deucher /*define for struct_sw field*/ 1312aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_DW_5_struct_sw_offset 5 1313aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_DW_5_struct_sw_mask 0x00000003 1314aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_DW_5_struct_sw_shift 16 1315aaa36a97SAlex 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) 1316aaa36a97SAlex Deucher 1317aaa36a97SAlex Deucher /*define for struct_ha field*/ 1318aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_DW_5_struct_ha_offset 5 1319aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_DW_5_struct_ha_mask 0x00000001 1320aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_DW_5_struct_ha_shift 22 1321aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_DW_5_STRUCT_HA(x) (((x) & SDMA_PKT_COPY_STRUCT_DW_5_struct_ha_mask) << SDMA_PKT_COPY_STRUCT_DW_5_struct_ha_shift) 1322aaa36a97SAlex Deucher 1323aaa36a97SAlex Deucher /*define for linear_sw field*/ 1324aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_DW_5_linear_sw_offset 5 1325aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_DW_5_linear_sw_mask 0x00000003 1326aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_DW_5_linear_sw_shift 24 1327aaa36a97SAlex 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) 1328aaa36a97SAlex Deucher 1329aaa36a97SAlex Deucher /*define for linear_ha field*/ 1330aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_DW_5_linear_ha_offset 5 1331aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_DW_5_linear_ha_mask 0x00000001 1332aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_DW_5_linear_ha_shift 30 1333aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_DW_5_LINEAR_HA(x) (((x) & SDMA_PKT_COPY_STRUCT_DW_5_linear_ha_mask) << SDMA_PKT_COPY_STRUCT_DW_5_linear_ha_shift) 1334aaa36a97SAlex Deucher 1335aaa36a97SAlex Deucher /*define for LINEAR_ADDR_LO word*/ 1336aaa36a97SAlex Deucher /*define for linear_addr_31_0 field*/ 1337aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_LINEAR_ADDR_LO_linear_addr_31_0_offset 6 1338aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_LINEAR_ADDR_LO_linear_addr_31_0_mask 0xFFFFFFFF 1339aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_LINEAR_ADDR_LO_linear_addr_31_0_shift 0 1340aaa36a97SAlex 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) 1341aaa36a97SAlex Deucher 1342aaa36a97SAlex Deucher /*define for LINEAR_ADDR_HI word*/ 1343aaa36a97SAlex Deucher /*define for linear_addr_63_32 field*/ 1344aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_LINEAR_ADDR_HI_linear_addr_63_32_offset 7 1345aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_LINEAR_ADDR_HI_linear_addr_63_32_mask 0xFFFFFFFF 1346aaa36a97SAlex Deucher #define SDMA_PKT_COPY_STRUCT_LINEAR_ADDR_HI_linear_addr_63_32_shift 0 1347aaa36a97SAlex 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) 1348aaa36a97SAlex Deucher 1349aaa36a97SAlex Deucher 1350aaa36a97SAlex Deucher /* 1351aaa36a97SAlex Deucher ** Definitions for SDMA_PKT_WRITE_UNTILED packet 1352aaa36a97SAlex Deucher */ 1353aaa36a97SAlex Deucher 1354aaa36a97SAlex Deucher /*define for HEADER word*/ 1355aaa36a97SAlex Deucher /*define for op field*/ 1356aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_HEADER_op_offset 0 1357aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_HEADER_op_mask 0x000000FF 1358aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_HEADER_op_shift 0 1359aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_HEADER_OP(x) (((x) & SDMA_PKT_WRITE_UNTILED_HEADER_op_mask) << SDMA_PKT_WRITE_UNTILED_HEADER_op_shift) 1360aaa36a97SAlex Deucher 1361aaa36a97SAlex Deucher /*define for sub_op field*/ 1362aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_HEADER_sub_op_offset 0 1363aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_HEADER_sub_op_mask 0x000000FF 1364aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_HEADER_sub_op_shift 8 1365aaa36a97SAlex 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) 1366aaa36a97SAlex Deucher 1367aaa36a97SAlex Deucher /*define for DST_ADDR_LO word*/ 1368aaa36a97SAlex Deucher /*define for dst_addr_31_0 field*/ 1369aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_DST_ADDR_LO_dst_addr_31_0_offset 1 1370aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_DST_ADDR_LO_dst_addr_31_0_mask 0xFFFFFFFF 1371aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_DST_ADDR_LO_dst_addr_31_0_shift 0 1372aaa36a97SAlex 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) 1373aaa36a97SAlex Deucher 1374aaa36a97SAlex Deucher /*define for DST_ADDR_HI word*/ 1375aaa36a97SAlex Deucher /*define for dst_addr_63_32 field*/ 1376aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_DST_ADDR_HI_dst_addr_63_32_offset 2 1377aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_DST_ADDR_HI_dst_addr_63_32_mask 0xFFFFFFFF 1378aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_DST_ADDR_HI_dst_addr_63_32_shift 0 1379aaa36a97SAlex 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) 1380aaa36a97SAlex Deucher 1381aaa36a97SAlex Deucher /*define for DW_3 word*/ 1382aaa36a97SAlex Deucher /*define for count field*/ 1383aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_DW_3_count_offset 3 1384aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_DW_3_count_mask 0x003FFFFF 1385aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_DW_3_count_shift 0 1386aaa36a97SAlex 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) 1387aaa36a97SAlex Deucher 1388aaa36a97SAlex Deucher /*define for sw field*/ 1389aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_DW_3_sw_offset 3 1390aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_DW_3_sw_mask 0x00000003 1391aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_DW_3_sw_shift 24 1392aaa36a97SAlex 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) 1393aaa36a97SAlex Deucher 1394aaa36a97SAlex Deucher /*define for DATA0 word*/ 1395aaa36a97SAlex Deucher /*define for data0 field*/ 1396aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_DATA0_data0_offset 4 1397aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_DATA0_data0_mask 0xFFFFFFFF 1398aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_DATA0_data0_shift 0 1399aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_UNTILED_DATA0_DATA0(x) (((x) & SDMA_PKT_WRITE_UNTILED_DATA0_data0_mask) << SDMA_PKT_WRITE_UNTILED_DATA0_data0_shift) 1400aaa36a97SAlex Deucher 1401aaa36a97SAlex Deucher 1402aaa36a97SAlex Deucher /* 1403aaa36a97SAlex Deucher ** Definitions for SDMA_PKT_WRITE_TILED packet 1404aaa36a97SAlex Deucher */ 1405aaa36a97SAlex Deucher 1406aaa36a97SAlex Deucher /*define for HEADER word*/ 1407aaa36a97SAlex Deucher /*define for op field*/ 1408aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_HEADER_op_offset 0 1409aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_HEADER_op_mask 0x000000FF 1410aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_HEADER_op_shift 0 1411aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_HEADER_OP(x) (((x) & SDMA_PKT_WRITE_TILED_HEADER_op_mask) << SDMA_PKT_WRITE_TILED_HEADER_op_shift) 1412aaa36a97SAlex Deucher 1413aaa36a97SAlex Deucher /*define for sub_op field*/ 1414aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_HEADER_sub_op_offset 0 1415aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_HEADER_sub_op_mask 0x000000FF 1416aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_HEADER_sub_op_shift 8 1417aaa36a97SAlex 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) 1418aaa36a97SAlex Deucher 1419aaa36a97SAlex Deucher /*define for DST_ADDR_LO word*/ 1420aaa36a97SAlex Deucher /*define for dst_addr_31_0 field*/ 1421aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DST_ADDR_LO_dst_addr_31_0_offset 1 1422aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DST_ADDR_LO_dst_addr_31_0_mask 0xFFFFFFFF 1423aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DST_ADDR_LO_dst_addr_31_0_shift 0 1424aaa36a97SAlex 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) 1425aaa36a97SAlex Deucher 1426aaa36a97SAlex Deucher /*define for DST_ADDR_HI word*/ 1427aaa36a97SAlex Deucher /*define for dst_addr_63_32 field*/ 1428aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DST_ADDR_HI_dst_addr_63_32_offset 2 1429aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DST_ADDR_HI_dst_addr_63_32_mask 0xFFFFFFFF 1430aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DST_ADDR_HI_dst_addr_63_32_shift 0 1431aaa36a97SAlex 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) 1432aaa36a97SAlex Deucher 1433aaa36a97SAlex Deucher /*define for DW_3 word*/ 1434aaa36a97SAlex Deucher /*define for pitch_in_tile field*/ 1435aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_3_pitch_in_tile_offset 3 1436aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_3_pitch_in_tile_mask 0x000007FF 1437aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_3_pitch_in_tile_shift 0 1438aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_3_PITCH_IN_TILE(x) (((x) & SDMA_PKT_WRITE_TILED_DW_3_pitch_in_tile_mask) << SDMA_PKT_WRITE_TILED_DW_3_pitch_in_tile_shift) 1439aaa36a97SAlex Deucher 1440aaa36a97SAlex Deucher /*define for height field*/ 1441aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_3_height_offset 3 1442aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_3_height_mask 0x00003FFF 1443aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_3_height_shift 16 1444aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_3_HEIGHT(x) (((x) & SDMA_PKT_WRITE_TILED_DW_3_height_mask) << SDMA_PKT_WRITE_TILED_DW_3_height_shift) 1445aaa36a97SAlex Deucher 1446aaa36a97SAlex Deucher /*define for DW_4 word*/ 1447aaa36a97SAlex Deucher /*define for slice_pitch field*/ 1448aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_4_slice_pitch_offset 4 1449aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_4_slice_pitch_mask 0x003FFFFF 1450aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_4_slice_pitch_shift 0 1451aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_4_SLICE_PITCH(x) (((x) & SDMA_PKT_WRITE_TILED_DW_4_slice_pitch_mask) << SDMA_PKT_WRITE_TILED_DW_4_slice_pitch_shift) 1452aaa36a97SAlex Deucher 1453aaa36a97SAlex Deucher /*define for DW_5 word*/ 1454aaa36a97SAlex Deucher /*define for element_size field*/ 1455aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_element_size_offset 5 1456aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_element_size_mask 0x00000007 1457aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_element_size_shift 0 1458aaa36a97SAlex 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) 1459aaa36a97SAlex Deucher 1460aaa36a97SAlex Deucher /*define for array_mode field*/ 1461aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_array_mode_offset 5 1462aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_array_mode_mask 0x0000000F 1463aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_array_mode_shift 3 1464aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_ARRAY_MODE(x) (((x) & SDMA_PKT_WRITE_TILED_DW_5_array_mode_mask) << SDMA_PKT_WRITE_TILED_DW_5_array_mode_shift) 1465aaa36a97SAlex Deucher 1466aaa36a97SAlex Deucher /*define for mit_mode field*/ 1467aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_mit_mode_offset 5 1468aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_mit_mode_mask 0x00000007 1469aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_mit_mode_shift 8 1470aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_MIT_MODE(x) (((x) & SDMA_PKT_WRITE_TILED_DW_5_mit_mode_mask) << SDMA_PKT_WRITE_TILED_DW_5_mit_mode_shift) 1471aaa36a97SAlex Deucher 1472aaa36a97SAlex Deucher /*define for tilesplit_size field*/ 1473aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_tilesplit_size_offset 5 1474aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_tilesplit_size_mask 0x00000007 1475aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_tilesplit_size_shift 11 1476aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_TILESPLIT_SIZE(x) (((x) & SDMA_PKT_WRITE_TILED_DW_5_tilesplit_size_mask) << SDMA_PKT_WRITE_TILED_DW_5_tilesplit_size_shift) 1477aaa36a97SAlex Deucher 1478aaa36a97SAlex Deucher /*define for bank_w field*/ 1479aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_bank_w_offset 5 1480aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_bank_w_mask 0x00000003 1481aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_bank_w_shift 15 1482aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_BANK_W(x) (((x) & SDMA_PKT_WRITE_TILED_DW_5_bank_w_mask) << SDMA_PKT_WRITE_TILED_DW_5_bank_w_shift) 1483aaa36a97SAlex Deucher 1484aaa36a97SAlex Deucher /*define for bank_h field*/ 1485aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_bank_h_offset 5 1486aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_bank_h_mask 0x00000003 1487aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_bank_h_shift 18 1488aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_BANK_H(x) (((x) & SDMA_PKT_WRITE_TILED_DW_5_bank_h_mask) << SDMA_PKT_WRITE_TILED_DW_5_bank_h_shift) 1489aaa36a97SAlex Deucher 1490aaa36a97SAlex Deucher /*define for num_bank field*/ 1491aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_num_bank_offset 5 1492aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_num_bank_mask 0x00000003 1493aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_num_bank_shift 21 1494aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_NUM_BANK(x) (((x) & SDMA_PKT_WRITE_TILED_DW_5_num_bank_mask) << SDMA_PKT_WRITE_TILED_DW_5_num_bank_shift) 1495aaa36a97SAlex Deucher 1496aaa36a97SAlex Deucher /*define for mat_aspt field*/ 1497aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_mat_aspt_offset 5 1498aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_mat_aspt_mask 0x00000003 1499aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_mat_aspt_shift 24 1500aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_MAT_ASPT(x) (((x) & SDMA_PKT_WRITE_TILED_DW_5_mat_aspt_mask) << SDMA_PKT_WRITE_TILED_DW_5_mat_aspt_shift) 1501aaa36a97SAlex Deucher 1502aaa36a97SAlex Deucher /*define for pipe_config field*/ 1503aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_pipe_config_offset 5 1504aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_pipe_config_mask 0x0000001F 1505aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_pipe_config_shift 26 1506aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_5_PIPE_CONFIG(x) (((x) & SDMA_PKT_WRITE_TILED_DW_5_pipe_config_mask) << SDMA_PKT_WRITE_TILED_DW_5_pipe_config_shift) 1507aaa36a97SAlex Deucher 1508aaa36a97SAlex Deucher /*define for DW_6 word*/ 1509aaa36a97SAlex Deucher /*define for x field*/ 1510aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_6_x_offset 6 1511aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_6_x_mask 0x00003FFF 1512aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_6_x_shift 0 1513aaa36a97SAlex 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) 1514aaa36a97SAlex Deucher 1515aaa36a97SAlex Deucher /*define for y field*/ 1516aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_6_y_offset 6 1517aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_6_y_mask 0x00003FFF 1518aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_6_y_shift 16 1519aaa36a97SAlex 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) 1520aaa36a97SAlex Deucher 1521aaa36a97SAlex Deucher /*define for DW_7 word*/ 1522aaa36a97SAlex Deucher /*define for z field*/ 1523aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_7_z_offset 7 1524aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_7_z_mask 0x00000FFF 1525aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_7_z_shift 0 1526aaa36a97SAlex 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) 1527aaa36a97SAlex Deucher 1528aaa36a97SAlex Deucher /*define for sw field*/ 1529aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_7_sw_offset 7 1530aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_7_sw_mask 0x00000003 1531aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DW_7_sw_shift 24 1532aaa36a97SAlex 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) 1533aaa36a97SAlex Deucher 1534aaa36a97SAlex Deucher /*define for COUNT word*/ 1535aaa36a97SAlex Deucher /*define for count field*/ 1536aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_COUNT_count_offset 8 1537aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_COUNT_count_mask 0x003FFFFF 1538aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_COUNT_count_shift 0 1539aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_COUNT_COUNT(x) (((x) & SDMA_PKT_WRITE_TILED_COUNT_count_mask) << SDMA_PKT_WRITE_TILED_COUNT_count_shift) 1540aaa36a97SAlex Deucher 1541aaa36a97SAlex Deucher /*define for DATA0 word*/ 1542aaa36a97SAlex Deucher /*define for data0 field*/ 1543aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DATA0_data0_offset 9 1544aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DATA0_data0_mask 0xFFFFFFFF 1545aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DATA0_data0_shift 0 1546aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_TILED_DATA0_DATA0(x) (((x) & SDMA_PKT_WRITE_TILED_DATA0_data0_mask) << SDMA_PKT_WRITE_TILED_DATA0_data0_shift) 1547aaa36a97SAlex Deucher 1548aaa36a97SAlex Deucher 1549aaa36a97SAlex Deucher /* 1550aaa36a97SAlex Deucher ** Definitions for SDMA_PKT_WRITE_INCR packet 1551aaa36a97SAlex Deucher */ 1552aaa36a97SAlex Deucher 1553aaa36a97SAlex Deucher /*define for HEADER word*/ 1554aaa36a97SAlex Deucher /*define for op field*/ 1555aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_INCR_HEADER_op_offset 0 1556aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_INCR_HEADER_op_mask 0x000000FF 1557aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_INCR_HEADER_op_shift 0 1558aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_INCR_HEADER_OP(x) (((x) & SDMA_PKT_WRITE_INCR_HEADER_op_mask) << SDMA_PKT_WRITE_INCR_HEADER_op_shift) 1559aaa36a97SAlex Deucher 1560aaa36a97SAlex Deucher /*define for sub_op field*/ 1561aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_INCR_HEADER_sub_op_offset 0 1562aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_INCR_HEADER_sub_op_mask 0x000000FF 1563aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_INCR_HEADER_sub_op_shift 8 1564aaa36a97SAlex 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) 1565aaa36a97SAlex Deucher 1566aaa36a97SAlex Deucher /*define for DST_ADDR_LO word*/ 1567aaa36a97SAlex Deucher /*define for dst_addr_31_0 field*/ 1568aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_INCR_DST_ADDR_LO_dst_addr_31_0_offset 1 1569aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_INCR_DST_ADDR_LO_dst_addr_31_0_mask 0xFFFFFFFF 1570aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_INCR_DST_ADDR_LO_dst_addr_31_0_shift 0 1571aaa36a97SAlex 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) 1572aaa36a97SAlex Deucher 1573aaa36a97SAlex Deucher /*define for DST_ADDR_HI word*/ 1574aaa36a97SAlex Deucher /*define for dst_addr_63_32 field*/ 1575aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_INCR_DST_ADDR_HI_dst_addr_63_32_offset 2 1576aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_INCR_DST_ADDR_HI_dst_addr_63_32_mask 0xFFFFFFFF 1577aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_INCR_DST_ADDR_HI_dst_addr_63_32_shift 0 1578aaa36a97SAlex 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) 1579aaa36a97SAlex Deucher 1580aaa36a97SAlex Deucher /*define for MASK_DW0 word*/ 1581aaa36a97SAlex Deucher /*define for mask_dw0 field*/ 1582aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_INCR_MASK_DW0_mask_dw0_offset 3 1583aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_INCR_MASK_DW0_mask_dw0_mask 0xFFFFFFFF 1584aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_INCR_MASK_DW0_mask_dw0_shift 0 1585aaa36a97SAlex 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) 1586aaa36a97SAlex Deucher 1587aaa36a97SAlex Deucher /*define for MASK_DW1 word*/ 1588aaa36a97SAlex Deucher /*define for mask_dw1 field*/ 1589aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_INCR_MASK_DW1_mask_dw1_offset 4 1590aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_INCR_MASK_DW1_mask_dw1_mask 0xFFFFFFFF 1591aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_INCR_MASK_DW1_mask_dw1_shift 0 1592aaa36a97SAlex 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) 1593aaa36a97SAlex Deucher 1594aaa36a97SAlex Deucher /*define for INIT_DW0 word*/ 1595aaa36a97SAlex Deucher /*define for init_dw0 field*/ 1596aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_INCR_INIT_DW0_init_dw0_offset 5 1597aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_INCR_INIT_DW0_init_dw0_mask 0xFFFFFFFF 1598aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_INCR_INIT_DW0_init_dw0_shift 0 1599aaa36a97SAlex 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) 1600aaa36a97SAlex Deucher 1601aaa36a97SAlex Deucher /*define for INIT_DW1 word*/ 1602aaa36a97SAlex Deucher /*define for init_dw1 field*/ 1603aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_INCR_INIT_DW1_init_dw1_offset 6 1604aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_INCR_INIT_DW1_init_dw1_mask 0xFFFFFFFF 1605aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_INCR_INIT_DW1_init_dw1_shift 0 1606aaa36a97SAlex 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) 1607aaa36a97SAlex Deucher 1608aaa36a97SAlex Deucher /*define for INCR_DW0 word*/ 1609aaa36a97SAlex Deucher /*define for incr_dw0 field*/ 1610aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_INCR_INCR_DW0_incr_dw0_offset 7 1611aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_INCR_INCR_DW0_incr_dw0_mask 0xFFFFFFFF 1612aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_INCR_INCR_DW0_incr_dw0_shift 0 1613aaa36a97SAlex 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) 1614aaa36a97SAlex Deucher 1615aaa36a97SAlex Deucher /*define for INCR_DW1 word*/ 1616aaa36a97SAlex Deucher /*define for incr_dw1 field*/ 1617aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_INCR_INCR_DW1_incr_dw1_offset 8 1618aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_INCR_INCR_DW1_incr_dw1_mask 0xFFFFFFFF 1619aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_INCR_INCR_DW1_incr_dw1_shift 0 1620aaa36a97SAlex 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) 1621aaa36a97SAlex Deucher 1622aaa36a97SAlex Deucher /*define for COUNT word*/ 1623aaa36a97SAlex Deucher /*define for count field*/ 1624aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_INCR_COUNT_count_offset 9 1625aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_INCR_COUNT_count_mask 0x0007FFFF 1626aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_INCR_COUNT_count_shift 0 1627aaa36a97SAlex Deucher #define SDMA_PKT_WRITE_INCR_COUNT_COUNT(x) (((x) & SDMA_PKT_WRITE_INCR_COUNT_count_mask) << SDMA_PKT_WRITE_INCR_COUNT_count_shift) 1628aaa36a97SAlex Deucher 1629aaa36a97SAlex Deucher 1630aaa36a97SAlex Deucher /* 1631aaa36a97SAlex Deucher ** Definitions for SDMA_PKT_INDIRECT packet 1632aaa36a97SAlex Deucher */ 1633aaa36a97SAlex Deucher 1634aaa36a97SAlex Deucher /*define for HEADER word*/ 1635aaa36a97SAlex Deucher /*define for op field*/ 1636aaa36a97SAlex Deucher #define SDMA_PKT_INDIRECT_HEADER_op_offset 0 1637aaa36a97SAlex Deucher #define SDMA_PKT_INDIRECT_HEADER_op_mask 0x000000FF 1638aaa36a97SAlex Deucher #define SDMA_PKT_INDIRECT_HEADER_op_shift 0 1639aaa36a97SAlex Deucher #define SDMA_PKT_INDIRECT_HEADER_OP(x) (((x) & SDMA_PKT_INDIRECT_HEADER_op_mask) << SDMA_PKT_INDIRECT_HEADER_op_shift) 1640aaa36a97SAlex Deucher 1641aaa36a97SAlex Deucher /*define for sub_op field*/ 1642aaa36a97SAlex Deucher #define SDMA_PKT_INDIRECT_HEADER_sub_op_offset 0 1643aaa36a97SAlex Deucher #define SDMA_PKT_INDIRECT_HEADER_sub_op_mask 0x000000FF 1644aaa36a97SAlex Deucher #define SDMA_PKT_INDIRECT_HEADER_sub_op_shift 8 1645aaa36a97SAlex Deucher #define SDMA_PKT_INDIRECT_HEADER_SUB_OP(x) (((x) & SDMA_PKT_INDIRECT_HEADER_sub_op_mask) << SDMA_PKT_INDIRECT_HEADER_sub_op_shift) 1646aaa36a97SAlex Deucher 1647aaa36a97SAlex Deucher /*define for vmid field*/ 1648aaa36a97SAlex Deucher #define SDMA_PKT_INDIRECT_HEADER_vmid_offset 0 1649aaa36a97SAlex Deucher #define SDMA_PKT_INDIRECT_HEADER_vmid_mask 0x0000000F 1650aaa36a97SAlex Deucher #define SDMA_PKT_INDIRECT_HEADER_vmid_shift 16 1651aaa36a97SAlex Deucher #define SDMA_PKT_INDIRECT_HEADER_VMID(x) (((x) & SDMA_PKT_INDIRECT_HEADER_vmid_mask) << SDMA_PKT_INDIRECT_HEADER_vmid_shift) 1652aaa36a97SAlex Deucher 1653aaa36a97SAlex Deucher /*define for BASE_LO word*/ 1654aaa36a97SAlex Deucher /*define for ib_base_31_0 field*/ 1655aaa36a97SAlex Deucher #define SDMA_PKT_INDIRECT_BASE_LO_ib_base_31_0_offset 1 1656aaa36a97SAlex Deucher #define SDMA_PKT_INDIRECT_BASE_LO_ib_base_31_0_mask 0xFFFFFFFF 1657aaa36a97SAlex Deucher #define SDMA_PKT_INDIRECT_BASE_LO_ib_base_31_0_shift 0 1658aaa36a97SAlex 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) 1659aaa36a97SAlex Deucher 1660aaa36a97SAlex Deucher /*define for BASE_HI word*/ 1661aaa36a97SAlex Deucher /*define for ib_base_63_32 field*/ 1662aaa36a97SAlex Deucher #define SDMA_PKT_INDIRECT_BASE_HI_ib_base_63_32_offset 2 1663aaa36a97SAlex Deucher #define SDMA_PKT_INDIRECT_BASE_HI_ib_base_63_32_mask 0xFFFFFFFF 1664aaa36a97SAlex Deucher #define SDMA_PKT_INDIRECT_BASE_HI_ib_base_63_32_shift 0 1665aaa36a97SAlex 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) 1666aaa36a97SAlex Deucher 1667aaa36a97SAlex Deucher /*define for IB_SIZE word*/ 1668aaa36a97SAlex Deucher /*define for ib_size field*/ 1669aaa36a97SAlex Deucher #define SDMA_PKT_INDIRECT_IB_SIZE_ib_size_offset 3 1670aaa36a97SAlex Deucher #define SDMA_PKT_INDIRECT_IB_SIZE_ib_size_mask 0x000FFFFF 1671aaa36a97SAlex Deucher #define SDMA_PKT_INDIRECT_IB_SIZE_ib_size_shift 0 1672aaa36a97SAlex 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) 1673aaa36a97SAlex Deucher 1674aaa36a97SAlex Deucher /*define for CSA_ADDR_LO word*/ 1675aaa36a97SAlex Deucher /*define for csa_addr_31_0 field*/ 1676aaa36a97SAlex Deucher #define SDMA_PKT_INDIRECT_CSA_ADDR_LO_csa_addr_31_0_offset 4 1677aaa36a97SAlex Deucher #define SDMA_PKT_INDIRECT_CSA_ADDR_LO_csa_addr_31_0_mask 0xFFFFFFFF 1678aaa36a97SAlex Deucher #define SDMA_PKT_INDIRECT_CSA_ADDR_LO_csa_addr_31_0_shift 0 1679aaa36a97SAlex 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) 1680aaa36a97SAlex Deucher 1681aaa36a97SAlex Deucher /*define for CSA_ADDR_HI word*/ 1682aaa36a97SAlex Deucher /*define for csa_addr_63_32 field*/ 1683aaa36a97SAlex Deucher #define SDMA_PKT_INDIRECT_CSA_ADDR_HI_csa_addr_63_32_offset 5 1684aaa36a97SAlex Deucher #define SDMA_PKT_INDIRECT_CSA_ADDR_HI_csa_addr_63_32_mask 0xFFFFFFFF 1685aaa36a97SAlex Deucher #define SDMA_PKT_INDIRECT_CSA_ADDR_HI_csa_addr_63_32_shift 0 1686aaa36a97SAlex 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) 1687aaa36a97SAlex Deucher 1688aaa36a97SAlex Deucher 1689aaa36a97SAlex Deucher /* 1690aaa36a97SAlex Deucher ** Definitions for SDMA_PKT_SEMAPHORE packet 1691aaa36a97SAlex Deucher */ 1692aaa36a97SAlex Deucher 1693aaa36a97SAlex Deucher /*define for HEADER word*/ 1694aaa36a97SAlex Deucher /*define for op field*/ 1695aaa36a97SAlex Deucher #define SDMA_PKT_SEMAPHORE_HEADER_op_offset 0 1696aaa36a97SAlex Deucher #define SDMA_PKT_SEMAPHORE_HEADER_op_mask 0x000000FF 1697aaa36a97SAlex Deucher #define SDMA_PKT_SEMAPHORE_HEADER_op_shift 0 1698aaa36a97SAlex Deucher #define SDMA_PKT_SEMAPHORE_HEADER_OP(x) (((x) & SDMA_PKT_SEMAPHORE_HEADER_op_mask) << SDMA_PKT_SEMAPHORE_HEADER_op_shift) 1699aaa36a97SAlex Deucher 1700aaa36a97SAlex Deucher /*define for sub_op field*/ 1701aaa36a97SAlex Deucher #define SDMA_PKT_SEMAPHORE_HEADER_sub_op_offset 0 1702aaa36a97SAlex Deucher #define SDMA_PKT_SEMAPHORE_HEADER_sub_op_mask 0x000000FF 1703aaa36a97SAlex Deucher #define SDMA_PKT_SEMAPHORE_HEADER_sub_op_shift 8 1704aaa36a97SAlex Deucher #define SDMA_PKT_SEMAPHORE_HEADER_SUB_OP(x) (((x) & SDMA_PKT_SEMAPHORE_HEADER_sub_op_mask) << SDMA_PKT_SEMAPHORE_HEADER_sub_op_shift) 1705aaa36a97SAlex Deucher 1706aaa36a97SAlex Deucher /*define for write_one field*/ 1707aaa36a97SAlex Deucher #define SDMA_PKT_SEMAPHORE_HEADER_write_one_offset 0 1708aaa36a97SAlex Deucher #define SDMA_PKT_SEMAPHORE_HEADER_write_one_mask 0x00000001 1709aaa36a97SAlex Deucher #define SDMA_PKT_SEMAPHORE_HEADER_write_one_shift 29 1710aaa36a97SAlex Deucher #define SDMA_PKT_SEMAPHORE_HEADER_WRITE_ONE(x) (((x) & SDMA_PKT_SEMAPHORE_HEADER_write_one_mask) << SDMA_PKT_SEMAPHORE_HEADER_write_one_shift) 1711aaa36a97SAlex Deucher 1712aaa36a97SAlex Deucher /*define for signal field*/ 1713aaa36a97SAlex Deucher #define SDMA_PKT_SEMAPHORE_HEADER_signal_offset 0 1714aaa36a97SAlex Deucher #define SDMA_PKT_SEMAPHORE_HEADER_signal_mask 0x00000001 1715aaa36a97SAlex Deucher #define SDMA_PKT_SEMAPHORE_HEADER_signal_shift 30 1716aaa36a97SAlex Deucher #define SDMA_PKT_SEMAPHORE_HEADER_SIGNAL(x) (((x) & SDMA_PKT_SEMAPHORE_HEADER_signal_mask) << SDMA_PKT_SEMAPHORE_HEADER_signal_shift) 1717aaa36a97SAlex Deucher 1718aaa36a97SAlex Deucher /*define for mailbox field*/ 1719aaa36a97SAlex Deucher #define SDMA_PKT_SEMAPHORE_HEADER_mailbox_offset 0 1720aaa36a97SAlex Deucher #define SDMA_PKT_SEMAPHORE_HEADER_mailbox_mask 0x00000001 1721aaa36a97SAlex Deucher #define SDMA_PKT_SEMAPHORE_HEADER_mailbox_shift 31 1722aaa36a97SAlex Deucher #define SDMA_PKT_SEMAPHORE_HEADER_MAILBOX(x) (((x) & SDMA_PKT_SEMAPHORE_HEADER_mailbox_mask) << SDMA_PKT_SEMAPHORE_HEADER_mailbox_shift) 1723aaa36a97SAlex Deucher 1724aaa36a97SAlex Deucher /*define for ADDR_LO word*/ 1725aaa36a97SAlex Deucher /*define for addr_31_0 field*/ 1726aaa36a97SAlex Deucher #define SDMA_PKT_SEMAPHORE_ADDR_LO_addr_31_0_offset 1 1727aaa36a97SAlex Deucher #define SDMA_PKT_SEMAPHORE_ADDR_LO_addr_31_0_mask 0xFFFFFFFF 1728aaa36a97SAlex Deucher #define SDMA_PKT_SEMAPHORE_ADDR_LO_addr_31_0_shift 0 1729aaa36a97SAlex 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) 1730aaa36a97SAlex Deucher 1731aaa36a97SAlex Deucher /*define for ADDR_HI word*/ 1732aaa36a97SAlex Deucher /*define for addr_63_32 field*/ 1733aaa36a97SAlex Deucher #define SDMA_PKT_SEMAPHORE_ADDR_HI_addr_63_32_offset 2 1734aaa36a97SAlex Deucher #define SDMA_PKT_SEMAPHORE_ADDR_HI_addr_63_32_mask 0xFFFFFFFF 1735aaa36a97SAlex Deucher #define SDMA_PKT_SEMAPHORE_ADDR_HI_addr_63_32_shift 0 1736aaa36a97SAlex 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) 1737aaa36a97SAlex Deucher 1738aaa36a97SAlex Deucher 1739aaa36a97SAlex Deucher /* 1740aaa36a97SAlex Deucher ** Definitions for SDMA_PKT_FENCE packet 1741aaa36a97SAlex Deucher */ 1742aaa36a97SAlex Deucher 1743aaa36a97SAlex Deucher /*define for HEADER word*/ 1744aaa36a97SAlex Deucher /*define for op field*/ 1745aaa36a97SAlex Deucher #define SDMA_PKT_FENCE_HEADER_op_offset 0 1746aaa36a97SAlex Deucher #define SDMA_PKT_FENCE_HEADER_op_mask 0x000000FF 1747aaa36a97SAlex Deucher #define SDMA_PKT_FENCE_HEADER_op_shift 0 1748aaa36a97SAlex Deucher #define SDMA_PKT_FENCE_HEADER_OP(x) (((x) & SDMA_PKT_FENCE_HEADER_op_mask) << SDMA_PKT_FENCE_HEADER_op_shift) 1749aaa36a97SAlex Deucher 1750aaa36a97SAlex Deucher /*define for sub_op field*/ 1751aaa36a97SAlex Deucher #define SDMA_PKT_FENCE_HEADER_sub_op_offset 0 1752aaa36a97SAlex Deucher #define SDMA_PKT_FENCE_HEADER_sub_op_mask 0x000000FF 1753aaa36a97SAlex Deucher #define SDMA_PKT_FENCE_HEADER_sub_op_shift 8 1754aaa36a97SAlex Deucher #define SDMA_PKT_FENCE_HEADER_SUB_OP(x) (((x) & SDMA_PKT_FENCE_HEADER_sub_op_mask) << SDMA_PKT_FENCE_HEADER_sub_op_shift) 1755aaa36a97SAlex Deucher 1756aaa36a97SAlex Deucher /*define for ADDR_LO word*/ 1757aaa36a97SAlex Deucher /*define for addr_31_0 field*/ 1758aaa36a97SAlex Deucher #define SDMA_PKT_FENCE_ADDR_LO_addr_31_0_offset 1 1759aaa36a97SAlex Deucher #define SDMA_PKT_FENCE_ADDR_LO_addr_31_0_mask 0xFFFFFFFF 1760aaa36a97SAlex Deucher #define SDMA_PKT_FENCE_ADDR_LO_addr_31_0_shift 0 1761aaa36a97SAlex 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) 1762aaa36a97SAlex Deucher 1763aaa36a97SAlex Deucher /*define for ADDR_HI word*/ 1764aaa36a97SAlex Deucher /*define for addr_63_32 field*/ 1765aaa36a97SAlex Deucher #define SDMA_PKT_FENCE_ADDR_HI_addr_63_32_offset 2 1766aaa36a97SAlex Deucher #define SDMA_PKT_FENCE_ADDR_HI_addr_63_32_mask 0xFFFFFFFF 1767aaa36a97SAlex Deucher #define SDMA_PKT_FENCE_ADDR_HI_addr_63_32_shift 0 1768aaa36a97SAlex 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) 1769aaa36a97SAlex Deucher 1770aaa36a97SAlex Deucher /*define for DATA word*/ 1771aaa36a97SAlex Deucher /*define for data field*/ 1772aaa36a97SAlex Deucher #define SDMA_PKT_FENCE_DATA_data_offset 3 1773aaa36a97SAlex Deucher #define SDMA_PKT_FENCE_DATA_data_mask 0xFFFFFFFF 1774aaa36a97SAlex Deucher #define SDMA_PKT_FENCE_DATA_data_shift 0 1775aaa36a97SAlex Deucher #define SDMA_PKT_FENCE_DATA_DATA(x) (((x) & SDMA_PKT_FENCE_DATA_data_mask) << SDMA_PKT_FENCE_DATA_data_shift) 1776aaa36a97SAlex Deucher 1777aaa36a97SAlex Deucher 1778aaa36a97SAlex Deucher /* 1779aaa36a97SAlex Deucher ** Definitions for SDMA_PKT_SRBM_WRITE packet 1780aaa36a97SAlex Deucher */ 1781aaa36a97SAlex Deucher 1782aaa36a97SAlex Deucher /*define for HEADER word*/ 1783aaa36a97SAlex Deucher /*define for op field*/ 1784aaa36a97SAlex Deucher #define SDMA_PKT_SRBM_WRITE_HEADER_op_offset 0 1785aaa36a97SAlex Deucher #define SDMA_PKT_SRBM_WRITE_HEADER_op_mask 0x000000FF 1786aaa36a97SAlex Deucher #define SDMA_PKT_SRBM_WRITE_HEADER_op_shift 0 1787aaa36a97SAlex Deucher #define SDMA_PKT_SRBM_WRITE_HEADER_OP(x) (((x) & SDMA_PKT_SRBM_WRITE_HEADER_op_mask) << SDMA_PKT_SRBM_WRITE_HEADER_op_shift) 1788aaa36a97SAlex Deucher 1789aaa36a97SAlex Deucher /*define for sub_op field*/ 1790aaa36a97SAlex Deucher #define SDMA_PKT_SRBM_WRITE_HEADER_sub_op_offset 0 1791aaa36a97SAlex Deucher #define SDMA_PKT_SRBM_WRITE_HEADER_sub_op_mask 0x000000FF 1792aaa36a97SAlex Deucher #define SDMA_PKT_SRBM_WRITE_HEADER_sub_op_shift 8 1793aaa36a97SAlex 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) 1794aaa36a97SAlex Deucher 1795aaa36a97SAlex Deucher /*define for byte_en field*/ 1796aaa36a97SAlex Deucher #define SDMA_PKT_SRBM_WRITE_HEADER_byte_en_offset 0 1797aaa36a97SAlex Deucher #define SDMA_PKT_SRBM_WRITE_HEADER_byte_en_mask 0x0000000F 1798aaa36a97SAlex Deucher #define SDMA_PKT_SRBM_WRITE_HEADER_byte_en_shift 28 1799aaa36a97SAlex 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) 1800aaa36a97SAlex Deucher 1801aaa36a97SAlex Deucher /*define for ADDR word*/ 1802aaa36a97SAlex Deucher /*define for addr field*/ 1803aaa36a97SAlex Deucher #define SDMA_PKT_SRBM_WRITE_ADDR_addr_offset 1 1804aaa36a97SAlex Deucher #define SDMA_PKT_SRBM_WRITE_ADDR_addr_mask 0x0000FFFF 1805aaa36a97SAlex Deucher #define SDMA_PKT_SRBM_WRITE_ADDR_addr_shift 0 1806aaa36a97SAlex Deucher #define SDMA_PKT_SRBM_WRITE_ADDR_ADDR(x) (((x) & SDMA_PKT_SRBM_WRITE_ADDR_addr_mask) << SDMA_PKT_SRBM_WRITE_ADDR_addr_shift) 1807aaa36a97SAlex Deucher 1808aaa36a97SAlex Deucher /*define for DATA word*/ 1809aaa36a97SAlex Deucher /*define for data field*/ 1810aaa36a97SAlex Deucher #define SDMA_PKT_SRBM_WRITE_DATA_data_offset 2 1811aaa36a97SAlex Deucher #define SDMA_PKT_SRBM_WRITE_DATA_data_mask 0xFFFFFFFF 1812aaa36a97SAlex Deucher #define SDMA_PKT_SRBM_WRITE_DATA_data_shift 0 1813aaa36a97SAlex Deucher #define SDMA_PKT_SRBM_WRITE_DATA_DATA(x) (((x) & SDMA_PKT_SRBM_WRITE_DATA_data_mask) << SDMA_PKT_SRBM_WRITE_DATA_data_shift) 1814aaa36a97SAlex Deucher 1815aaa36a97SAlex Deucher 1816aaa36a97SAlex Deucher /* 1817aaa36a97SAlex Deucher ** Definitions for SDMA_PKT_PRE_EXE packet 1818aaa36a97SAlex Deucher */ 1819aaa36a97SAlex Deucher 1820aaa36a97SAlex Deucher /*define for HEADER word*/ 1821aaa36a97SAlex Deucher /*define for op field*/ 1822aaa36a97SAlex Deucher #define SDMA_PKT_PRE_EXE_HEADER_op_offset 0 1823aaa36a97SAlex Deucher #define SDMA_PKT_PRE_EXE_HEADER_op_mask 0x000000FF 1824aaa36a97SAlex Deucher #define SDMA_PKT_PRE_EXE_HEADER_op_shift 0 1825aaa36a97SAlex Deucher #define SDMA_PKT_PRE_EXE_HEADER_OP(x) (((x) & SDMA_PKT_PRE_EXE_HEADER_op_mask) << SDMA_PKT_PRE_EXE_HEADER_op_shift) 1826aaa36a97SAlex Deucher 1827aaa36a97SAlex Deucher /*define for sub_op field*/ 1828aaa36a97SAlex Deucher #define SDMA_PKT_PRE_EXE_HEADER_sub_op_offset 0 1829aaa36a97SAlex Deucher #define SDMA_PKT_PRE_EXE_HEADER_sub_op_mask 0x000000FF 1830aaa36a97SAlex Deucher #define SDMA_PKT_PRE_EXE_HEADER_sub_op_shift 8 1831aaa36a97SAlex 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) 1832aaa36a97SAlex Deucher 1833aaa36a97SAlex Deucher /*define for dev_sel field*/ 1834aaa36a97SAlex Deucher #define SDMA_PKT_PRE_EXE_HEADER_dev_sel_offset 0 1835aaa36a97SAlex Deucher #define SDMA_PKT_PRE_EXE_HEADER_dev_sel_mask 0x000000FF 1836aaa36a97SAlex Deucher #define SDMA_PKT_PRE_EXE_HEADER_dev_sel_shift 16 1837aaa36a97SAlex 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) 1838aaa36a97SAlex Deucher 1839aaa36a97SAlex Deucher /*define for EXEC_COUNT word*/ 1840aaa36a97SAlex Deucher /*define for exec_count field*/ 1841aaa36a97SAlex Deucher #define SDMA_PKT_PRE_EXE_EXEC_COUNT_exec_count_offset 1 1842aaa36a97SAlex Deucher #define SDMA_PKT_PRE_EXE_EXEC_COUNT_exec_count_mask 0x00003FFF 1843aaa36a97SAlex Deucher #define SDMA_PKT_PRE_EXE_EXEC_COUNT_exec_count_shift 0 1844aaa36a97SAlex 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) 1845aaa36a97SAlex Deucher 1846aaa36a97SAlex Deucher 1847aaa36a97SAlex Deucher /* 1848aaa36a97SAlex Deucher ** Definitions for SDMA_PKT_COND_EXE packet 1849aaa36a97SAlex Deucher */ 1850aaa36a97SAlex Deucher 1851aaa36a97SAlex Deucher /*define for HEADER word*/ 1852aaa36a97SAlex Deucher /*define for op field*/ 1853aaa36a97SAlex Deucher #define SDMA_PKT_COND_EXE_HEADER_op_offset 0 1854aaa36a97SAlex Deucher #define SDMA_PKT_COND_EXE_HEADER_op_mask 0x000000FF 1855aaa36a97SAlex Deucher #define SDMA_PKT_COND_EXE_HEADER_op_shift 0 1856aaa36a97SAlex Deucher #define SDMA_PKT_COND_EXE_HEADER_OP(x) (((x) & SDMA_PKT_COND_EXE_HEADER_op_mask) << SDMA_PKT_COND_EXE_HEADER_op_shift) 1857aaa36a97SAlex Deucher 1858aaa36a97SAlex Deucher /*define for sub_op field*/ 1859aaa36a97SAlex Deucher #define SDMA_PKT_COND_EXE_HEADER_sub_op_offset 0 1860aaa36a97SAlex Deucher #define SDMA_PKT_COND_EXE_HEADER_sub_op_mask 0x000000FF 1861aaa36a97SAlex Deucher #define SDMA_PKT_COND_EXE_HEADER_sub_op_shift 8 1862aaa36a97SAlex 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) 1863aaa36a97SAlex Deucher 1864aaa36a97SAlex Deucher /*define for ADDR_LO word*/ 1865aaa36a97SAlex Deucher /*define for addr_31_0 field*/ 1866aaa36a97SAlex Deucher #define SDMA_PKT_COND_EXE_ADDR_LO_addr_31_0_offset 1 1867aaa36a97SAlex Deucher #define SDMA_PKT_COND_EXE_ADDR_LO_addr_31_0_mask 0xFFFFFFFF 1868aaa36a97SAlex Deucher #define SDMA_PKT_COND_EXE_ADDR_LO_addr_31_0_shift 0 1869aaa36a97SAlex 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) 1870aaa36a97SAlex Deucher 1871aaa36a97SAlex Deucher /*define for ADDR_HI word*/ 1872aaa36a97SAlex Deucher /*define for addr_63_32 field*/ 1873aaa36a97SAlex Deucher #define SDMA_PKT_COND_EXE_ADDR_HI_addr_63_32_offset 2 1874aaa36a97SAlex Deucher #define SDMA_PKT_COND_EXE_ADDR_HI_addr_63_32_mask 0xFFFFFFFF 1875aaa36a97SAlex Deucher #define SDMA_PKT_COND_EXE_ADDR_HI_addr_63_32_shift 0 1876aaa36a97SAlex 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) 1877aaa36a97SAlex Deucher 1878aaa36a97SAlex Deucher /*define for REFERENCE word*/ 1879aaa36a97SAlex Deucher /*define for reference field*/ 1880aaa36a97SAlex Deucher #define SDMA_PKT_COND_EXE_REFERENCE_reference_offset 3 1881aaa36a97SAlex Deucher #define SDMA_PKT_COND_EXE_REFERENCE_reference_mask 0xFFFFFFFF 1882aaa36a97SAlex Deucher #define SDMA_PKT_COND_EXE_REFERENCE_reference_shift 0 1883aaa36a97SAlex Deucher #define SDMA_PKT_COND_EXE_REFERENCE_REFERENCE(x) (((x) & SDMA_PKT_COND_EXE_REFERENCE_reference_mask) << SDMA_PKT_COND_EXE_REFERENCE_reference_shift) 1884aaa36a97SAlex Deucher 1885aaa36a97SAlex Deucher /*define for EXEC_COUNT word*/ 1886aaa36a97SAlex Deucher /*define for exec_count field*/ 1887aaa36a97SAlex Deucher #define SDMA_PKT_COND_EXE_EXEC_COUNT_exec_count_offset 4 1888aaa36a97SAlex Deucher #define SDMA_PKT_COND_EXE_EXEC_COUNT_exec_count_mask 0x00003FFF 1889aaa36a97SAlex Deucher #define SDMA_PKT_COND_EXE_EXEC_COUNT_exec_count_shift 0 1890aaa36a97SAlex 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) 1891aaa36a97SAlex Deucher 1892aaa36a97SAlex Deucher 1893aaa36a97SAlex Deucher /* 1894aaa36a97SAlex Deucher ** Definitions for SDMA_PKT_CONSTANT_FILL packet 1895aaa36a97SAlex Deucher */ 1896aaa36a97SAlex Deucher 1897aaa36a97SAlex Deucher /*define for HEADER word*/ 1898aaa36a97SAlex Deucher /*define for op field*/ 1899aaa36a97SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_HEADER_op_offset 0 1900aaa36a97SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_HEADER_op_mask 0x000000FF 1901aaa36a97SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_HEADER_op_shift 0 1902aaa36a97SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_HEADER_OP(x) (((x) & SDMA_PKT_CONSTANT_FILL_HEADER_op_mask) << SDMA_PKT_CONSTANT_FILL_HEADER_op_shift) 1903aaa36a97SAlex Deucher 1904aaa36a97SAlex Deucher /*define for sub_op field*/ 1905aaa36a97SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_HEADER_sub_op_offset 0 1906aaa36a97SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_HEADER_sub_op_mask 0x000000FF 1907aaa36a97SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_HEADER_sub_op_shift 8 1908aaa36a97SAlex 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) 1909aaa36a97SAlex Deucher 1910aaa36a97SAlex Deucher /*define for sw field*/ 1911aaa36a97SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_HEADER_sw_offset 0 1912aaa36a97SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_HEADER_sw_mask 0x00000003 1913aaa36a97SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_HEADER_sw_shift 16 1914aaa36a97SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_HEADER_SW(x) (((x) & SDMA_PKT_CONSTANT_FILL_HEADER_sw_mask) << SDMA_PKT_CONSTANT_FILL_HEADER_sw_shift) 1915aaa36a97SAlex Deucher 1916aaa36a97SAlex Deucher /*define for fillsize field*/ 1917aaa36a97SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_HEADER_fillsize_offset 0 1918aaa36a97SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_HEADER_fillsize_mask 0x00000003 1919aaa36a97SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_HEADER_fillsize_shift 30 1920aaa36a97SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_HEADER_FILLSIZE(x) (((x) & SDMA_PKT_CONSTANT_FILL_HEADER_fillsize_mask) << SDMA_PKT_CONSTANT_FILL_HEADER_fillsize_shift) 1921aaa36a97SAlex Deucher 1922aaa36a97SAlex Deucher /*define for DST_ADDR_LO word*/ 1923aaa36a97SAlex Deucher /*define for dst_addr_31_0 field*/ 1924aaa36a97SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_DST_ADDR_LO_dst_addr_31_0_offset 1 1925aaa36a97SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_DST_ADDR_LO_dst_addr_31_0_mask 0xFFFFFFFF 1926aaa36a97SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_DST_ADDR_LO_dst_addr_31_0_shift 0 1927aaa36a97SAlex 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) 1928aaa36a97SAlex Deucher 1929aaa36a97SAlex Deucher /*define for DST_ADDR_HI word*/ 1930aaa36a97SAlex Deucher /*define for dst_addr_63_32 field*/ 1931aaa36a97SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_DST_ADDR_HI_dst_addr_63_32_offset 2 1932aaa36a97SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_DST_ADDR_HI_dst_addr_63_32_mask 0xFFFFFFFF 1933aaa36a97SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_DST_ADDR_HI_dst_addr_63_32_shift 0 1934aaa36a97SAlex 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) 1935aaa36a97SAlex Deucher 1936aaa36a97SAlex Deucher /*define for DATA word*/ 1937aaa36a97SAlex Deucher /*define for src_data_31_0 field*/ 1938aaa36a97SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_DATA_src_data_31_0_offset 3 1939aaa36a97SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_DATA_src_data_31_0_mask 0xFFFFFFFF 1940aaa36a97SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_DATA_src_data_31_0_shift 0 1941aaa36a97SAlex 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) 1942aaa36a97SAlex Deucher 1943aaa36a97SAlex Deucher /*define for COUNT word*/ 1944aaa36a97SAlex Deucher /*define for count field*/ 1945aaa36a97SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_COUNT_count_offset 4 1946aaa36a97SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_COUNT_count_mask 0x003FFFFF 1947aaa36a97SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_COUNT_count_shift 0 1948aaa36a97SAlex Deucher #define SDMA_PKT_CONSTANT_FILL_COUNT_COUNT(x) (((x) & SDMA_PKT_CONSTANT_FILL_COUNT_count_mask) << SDMA_PKT_CONSTANT_FILL_COUNT_count_shift) 1949aaa36a97SAlex Deucher 1950aaa36a97SAlex Deucher 1951aaa36a97SAlex Deucher /* 1952aaa36a97SAlex Deucher ** Definitions for SDMA_PKT_POLL_REGMEM packet 1953aaa36a97SAlex Deucher */ 1954aaa36a97SAlex Deucher 1955aaa36a97SAlex Deucher /*define for HEADER word*/ 1956aaa36a97SAlex Deucher /*define for op field*/ 1957aaa36a97SAlex Deucher #define SDMA_PKT_POLL_REGMEM_HEADER_op_offset 0 1958aaa36a97SAlex Deucher #define SDMA_PKT_POLL_REGMEM_HEADER_op_mask 0x000000FF 1959aaa36a97SAlex Deucher #define SDMA_PKT_POLL_REGMEM_HEADER_op_shift 0 1960aaa36a97SAlex Deucher #define SDMA_PKT_POLL_REGMEM_HEADER_OP(x) (((x) & SDMA_PKT_POLL_REGMEM_HEADER_op_mask) << SDMA_PKT_POLL_REGMEM_HEADER_op_shift) 1961aaa36a97SAlex Deucher 1962aaa36a97SAlex Deucher /*define for sub_op field*/ 1963aaa36a97SAlex Deucher #define SDMA_PKT_POLL_REGMEM_HEADER_sub_op_offset 0 1964aaa36a97SAlex Deucher #define SDMA_PKT_POLL_REGMEM_HEADER_sub_op_mask 0x000000FF 1965aaa36a97SAlex Deucher #define SDMA_PKT_POLL_REGMEM_HEADER_sub_op_shift 8 1966aaa36a97SAlex 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) 1967aaa36a97SAlex Deucher 1968aaa36a97SAlex Deucher /*define for hdp_flush field*/ 1969aaa36a97SAlex Deucher #define SDMA_PKT_POLL_REGMEM_HEADER_hdp_flush_offset 0 1970aaa36a97SAlex Deucher #define SDMA_PKT_POLL_REGMEM_HEADER_hdp_flush_mask 0x00000001 1971aaa36a97SAlex Deucher #define SDMA_PKT_POLL_REGMEM_HEADER_hdp_flush_shift 26 1972aaa36a97SAlex 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) 1973aaa36a97SAlex Deucher 1974aaa36a97SAlex Deucher /*define for func field*/ 1975aaa36a97SAlex Deucher #define SDMA_PKT_POLL_REGMEM_HEADER_func_offset 0 1976aaa36a97SAlex Deucher #define SDMA_PKT_POLL_REGMEM_HEADER_func_mask 0x00000007 1977aaa36a97SAlex Deucher #define SDMA_PKT_POLL_REGMEM_HEADER_func_shift 28 1978aaa36a97SAlex Deucher #define SDMA_PKT_POLL_REGMEM_HEADER_FUNC(x) (((x) & SDMA_PKT_POLL_REGMEM_HEADER_func_mask) << SDMA_PKT_POLL_REGMEM_HEADER_func_shift) 1979aaa36a97SAlex Deucher 1980aaa36a97SAlex Deucher /*define for mem_poll field*/ 1981aaa36a97SAlex Deucher #define SDMA_PKT_POLL_REGMEM_HEADER_mem_poll_offset 0 1982aaa36a97SAlex Deucher #define SDMA_PKT_POLL_REGMEM_HEADER_mem_poll_mask 0x00000001 1983aaa36a97SAlex Deucher #define SDMA_PKT_POLL_REGMEM_HEADER_mem_poll_shift 31 1984aaa36a97SAlex 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) 1985aaa36a97SAlex Deucher 1986aaa36a97SAlex Deucher /*define for ADDR_LO word*/ 1987aaa36a97SAlex Deucher /*define for addr_31_0 field*/ 1988aaa36a97SAlex Deucher #define SDMA_PKT_POLL_REGMEM_ADDR_LO_addr_31_0_offset 1 1989aaa36a97SAlex Deucher #define SDMA_PKT_POLL_REGMEM_ADDR_LO_addr_31_0_mask 0xFFFFFFFF 1990aaa36a97SAlex Deucher #define SDMA_PKT_POLL_REGMEM_ADDR_LO_addr_31_0_shift 0 1991aaa36a97SAlex 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) 1992aaa36a97SAlex Deucher 1993aaa36a97SAlex Deucher /*define for ADDR_HI word*/ 1994aaa36a97SAlex Deucher /*define for addr_63_32 field*/ 1995aaa36a97SAlex Deucher #define SDMA_PKT_POLL_REGMEM_ADDR_HI_addr_63_32_offset 2 1996aaa36a97SAlex Deucher #define SDMA_PKT_POLL_REGMEM_ADDR_HI_addr_63_32_mask 0xFFFFFFFF 1997aaa36a97SAlex Deucher #define SDMA_PKT_POLL_REGMEM_ADDR_HI_addr_63_32_shift 0 1998aaa36a97SAlex 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) 1999aaa36a97SAlex Deucher 2000aaa36a97SAlex Deucher /*define for VALUE word*/ 2001aaa36a97SAlex Deucher /*define for value field*/ 2002aaa36a97SAlex Deucher #define SDMA_PKT_POLL_REGMEM_VALUE_value_offset 3 2003aaa36a97SAlex Deucher #define SDMA_PKT_POLL_REGMEM_VALUE_value_mask 0xFFFFFFFF 2004aaa36a97SAlex Deucher #define SDMA_PKT_POLL_REGMEM_VALUE_value_shift 0 2005aaa36a97SAlex Deucher #define SDMA_PKT_POLL_REGMEM_VALUE_VALUE(x) (((x) & SDMA_PKT_POLL_REGMEM_VALUE_value_mask) << SDMA_PKT_POLL_REGMEM_VALUE_value_shift) 2006aaa36a97SAlex Deucher 2007aaa36a97SAlex Deucher /*define for MASK word*/ 2008aaa36a97SAlex Deucher /*define for mask field*/ 2009aaa36a97SAlex Deucher #define SDMA_PKT_POLL_REGMEM_MASK_mask_offset 4 2010aaa36a97SAlex Deucher #define SDMA_PKT_POLL_REGMEM_MASK_mask_mask 0xFFFFFFFF 2011aaa36a97SAlex Deucher #define SDMA_PKT_POLL_REGMEM_MASK_mask_shift 0 2012aaa36a97SAlex Deucher #define SDMA_PKT_POLL_REGMEM_MASK_MASK(x) (((x) & SDMA_PKT_POLL_REGMEM_MASK_mask_mask) << SDMA_PKT_POLL_REGMEM_MASK_mask_shift) 2013aaa36a97SAlex Deucher 2014aaa36a97SAlex Deucher /*define for DW5 word*/ 2015aaa36a97SAlex Deucher /*define for interval field*/ 2016aaa36a97SAlex Deucher #define SDMA_PKT_POLL_REGMEM_DW5_interval_offset 5 2017aaa36a97SAlex Deucher #define SDMA_PKT_POLL_REGMEM_DW5_interval_mask 0x0000FFFF 2018aaa36a97SAlex Deucher #define SDMA_PKT_POLL_REGMEM_DW5_interval_shift 0 2019aaa36a97SAlex Deucher #define SDMA_PKT_POLL_REGMEM_DW5_INTERVAL(x) (((x) & SDMA_PKT_POLL_REGMEM_DW5_interval_mask) << SDMA_PKT_POLL_REGMEM_DW5_interval_shift) 2020aaa36a97SAlex Deucher 2021aaa36a97SAlex Deucher /*define for retry_count field*/ 2022aaa36a97SAlex Deucher #define SDMA_PKT_POLL_REGMEM_DW5_retry_count_offset 5 2023aaa36a97SAlex Deucher #define SDMA_PKT_POLL_REGMEM_DW5_retry_count_mask 0x00000FFF 2024aaa36a97SAlex Deucher #define SDMA_PKT_POLL_REGMEM_DW5_retry_count_shift 16 2025aaa36a97SAlex 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) 2026aaa36a97SAlex Deucher 2027aaa36a97SAlex Deucher 2028aaa36a97SAlex Deucher /* 2029aaa36a97SAlex Deucher ** Definitions for SDMA_PKT_TIMESTAMP_SET packet 2030aaa36a97SAlex Deucher */ 2031aaa36a97SAlex Deucher 2032aaa36a97SAlex Deucher /*define for HEADER word*/ 2033aaa36a97SAlex Deucher /*define for op field*/ 2034aaa36a97SAlex Deucher #define SDMA_PKT_TIMESTAMP_SET_HEADER_op_offset 0 2035aaa36a97SAlex Deucher #define SDMA_PKT_TIMESTAMP_SET_HEADER_op_mask 0x000000FF 2036aaa36a97SAlex Deucher #define SDMA_PKT_TIMESTAMP_SET_HEADER_op_shift 0 2037aaa36a97SAlex Deucher #define SDMA_PKT_TIMESTAMP_SET_HEADER_OP(x) (((x) & SDMA_PKT_TIMESTAMP_SET_HEADER_op_mask) << SDMA_PKT_TIMESTAMP_SET_HEADER_op_shift) 2038aaa36a97SAlex Deucher 2039aaa36a97SAlex Deucher /*define for sub_op field*/ 2040aaa36a97SAlex Deucher #define SDMA_PKT_TIMESTAMP_SET_HEADER_sub_op_offset 0 2041aaa36a97SAlex Deucher #define SDMA_PKT_TIMESTAMP_SET_HEADER_sub_op_mask 0x000000FF 2042aaa36a97SAlex Deucher #define SDMA_PKT_TIMESTAMP_SET_HEADER_sub_op_shift 8 2043aaa36a97SAlex 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) 2044aaa36a97SAlex Deucher 2045aaa36a97SAlex Deucher /*define for INIT_DATA_LO word*/ 2046aaa36a97SAlex Deucher /*define for init_data_31_0 field*/ 2047aaa36a97SAlex Deucher #define SDMA_PKT_TIMESTAMP_SET_INIT_DATA_LO_init_data_31_0_offset 1 2048aaa36a97SAlex Deucher #define SDMA_PKT_TIMESTAMP_SET_INIT_DATA_LO_init_data_31_0_mask 0xFFFFFFFF 2049aaa36a97SAlex Deucher #define SDMA_PKT_TIMESTAMP_SET_INIT_DATA_LO_init_data_31_0_shift 0 2050aaa36a97SAlex 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) 2051aaa36a97SAlex Deucher 2052aaa36a97SAlex Deucher /*define for INIT_DATA_HI word*/ 2053aaa36a97SAlex Deucher /*define for init_data_63_32 field*/ 2054aaa36a97SAlex Deucher #define SDMA_PKT_TIMESTAMP_SET_INIT_DATA_HI_init_data_63_32_offset 2 2055aaa36a97SAlex Deucher #define SDMA_PKT_TIMESTAMP_SET_INIT_DATA_HI_init_data_63_32_mask 0xFFFFFFFF 2056aaa36a97SAlex Deucher #define SDMA_PKT_TIMESTAMP_SET_INIT_DATA_HI_init_data_63_32_shift 0 2057aaa36a97SAlex 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) 2058aaa36a97SAlex Deucher 2059aaa36a97SAlex Deucher 2060aaa36a97SAlex Deucher /* 2061aaa36a97SAlex Deucher ** Definitions for SDMA_PKT_TIMESTAMP_GET packet 2062aaa36a97SAlex Deucher */ 2063aaa36a97SAlex Deucher 2064aaa36a97SAlex Deucher /*define for HEADER word*/ 2065aaa36a97SAlex Deucher /*define for op field*/ 2066aaa36a97SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_HEADER_op_offset 0 2067aaa36a97SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_HEADER_op_mask 0x000000FF 2068aaa36a97SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_HEADER_op_shift 0 2069aaa36a97SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_HEADER_OP(x) (((x) & SDMA_PKT_TIMESTAMP_GET_HEADER_op_mask) << SDMA_PKT_TIMESTAMP_GET_HEADER_op_shift) 2070aaa36a97SAlex Deucher 2071aaa36a97SAlex Deucher /*define for sub_op field*/ 2072aaa36a97SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_HEADER_sub_op_offset 0 2073aaa36a97SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_HEADER_sub_op_mask 0x000000FF 2074aaa36a97SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_HEADER_sub_op_shift 8 2075aaa36a97SAlex 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) 2076aaa36a97SAlex Deucher 2077aaa36a97SAlex Deucher /*define for WRITE_ADDR_LO word*/ 2078aaa36a97SAlex Deucher /*define for write_addr_31_3 field*/ 2079aaa36a97SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_WRITE_ADDR_LO_write_addr_31_3_offset 1 2080aaa36a97SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_WRITE_ADDR_LO_write_addr_31_3_mask 0x1FFFFFFF 2081aaa36a97SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_WRITE_ADDR_LO_write_addr_31_3_shift 3 2082aaa36a97SAlex 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) 2083aaa36a97SAlex Deucher 2084aaa36a97SAlex Deucher /*define for WRITE_ADDR_HI word*/ 2085aaa36a97SAlex Deucher /*define for write_addr_63_32 field*/ 2086aaa36a97SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_WRITE_ADDR_HI_write_addr_63_32_offset 2 2087aaa36a97SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_WRITE_ADDR_HI_write_addr_63_32_mask 0xFFFFFFFF 2088aaa36a97SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_WRITE_ADDR_HI_write_addr_63_32_shift 0 2089aaa36a97SAlex 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) 2090aaa36a97SAlex Deucher 2091aaa36a97SAlex Deucher 2092aaa36a97SAlex Deucher /* 2093aaa36a97SAlex Deucher ** Definitions for SDMA_PKT_TIMESTAMP_GET_GLOBAL packet 2094aaa36a97SAlex Deucher */ 2095aaa36a97SAlex Deucher 2096aaa36a97SAlex Deucher /*define for HEADER word*/ 2097aaa36a97SAlex Deucher /*define for op field*/ 2098aaa36a97SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_GLOBAL_HEADER_op_offset 0 2099aaa36a97SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_GLOBAL_HEADER_op_mask 0x000000FF 2100aaa36a97SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_GLOBAL_HEADER_op_shift 0 2101aaa36a97SAlex 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) 2102aaa36a97SAlex Deucher 2103aaa36a97SAlex Deucher /*define for sub_op field*/ 2104aaa36a97SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_GLOBAL_HEADER_sub_op_offset 0 2105aaa36a97SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_GLOBAL_HEADER_sub_op_mask 0x000000FF 2106aaa36a97SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_GLOBAL_HEADER_sub_op_shift 8 2107aaa36a97SAlex 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) 2108aaa36a97SAlex Deucher 2109aaa36a97SAlex Deucher /*define for WRITE_ADDR_LO word*/ 2110aaa36a97SAlex Deucher /*define for write_addr_31_3 field*/ 2111aaa36a97SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_GLOBAL_WRITE_ADDR_LO_write_addr_31_3_offset 1 2112aaa36a97SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_GLOBAL_WRITE_ADDR_LO_write_addr_31_3_mask 0x1FFFFFFF 2113aaa36a97SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_GLOBAL_WRITE_ADDR_LO_write_addr_31_3_shift 3 2114aaa36a97SAlex 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) 2115aaa36a97SAlex Deucher 2116aaa36a97SAlex Deucher /*define for WRITE_ADDR_HI word*/ 2117aaa36a97SAlex Deucher /*define for write_addr_63_32 field*/ 2118aaa36a97SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_GLOBAL_WRITE_ADDR_HI_write_addr_63_32_offset 2 2119aaa36a97SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_GLOBAL_WRITE_ADDR_HI_write_addr_63_32_mask 0xFFFFFFFF 2120aaa36a97SAlex Deucher #define SDMA_PKT_TIMESTAMP_GET_GLOBAL_WRITE_ADDR_HI_write_addr_63_32_shift 0 2121aaa36a97SAlex 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) 2122aaa36a97SAlex Deucher 2123aaa36a97SAlex Deucher 2124aaa36a97SAlex Deucher /* 2125aaa36a97SAlex Deucher ** Definitions for SDMA_PKT_TRAP packet 2126aaa36a97SAlex Deucher */ 2127aaa36a97SAlex Deucher 2128aaa36a97SAlex Deucher /*define for HEADER word*/ 2129aaa36a97SAlex Deucher /*define for op field*/ 2130aaa36a97SAlex Deucher #define SDMA_PKT_TRAP_HEADER_op_offset 0 2131aaa36a97SAlex Deucher #define SDMA_PKT_TRAP_HEADER_op_mask 0x000000FF 2132aaa36a97SAlex Deucher #define SDMA_PKT_TRAP_HEADER_op_shift 0 2133aaa36a97SAlex Deucher #define SDMA_PKT_TRAP_HEADER_OP(x) (((x) & SDMA_PKT_TRAP_HEADER_op_mask) << SDMA_PKT_TRAP_HEADER_op_shift) 2134aaa36a97SAlex Deucher 2135aaa36a97SAlex Deucher /*define for sub_op field*/ 2136aaa36a97SAlex Deucher #define SDMA_PKT_TRAP_HEADER_sub_op_offset 0 2137aaa36a97SAlex Deucher #define SDMA_PKT_TRAP_HEADER_sub_op_mask 0x000000FF 2138aaa36a97SAlex Deucher #define SDMA_PKT_TRAP_HEADER_sub_op_shift 8 2139aaa36a97SAlex Deucher #define SDMA_PKT_TRAP_HEADER_SUB_OP(x) (((x) & SDMA_PKT_TRAP_HEADER_sub_op_mask) << SDMA_PKT_TRAP_HEADER_sub_op_shift) 2140aaa36a97SAlex Deucher 2141aaa36a97SAlex Deucher /*define for INT_CONTEXT word*/ 2142aaa36a97SAlex Deucher /*define for int_context field*/ 2143aaa36a97SAlex Deucher #define SDMA_PKT_TRAP_INT_CONTEXT_int_context_offset 1 2144aaa36a97SAlex Deucher #define SDMA_PKT_TRAP_INT_CONTEXT_int_context_mask 0x0FFFFFFF 2145aaa36a97SAlex Deucher #define SDMA_PKT_TRAP_INT_CONTEXT_int_context_shift 0 2146aaa36a97SAlex 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) 2147aaa36a97SAlex Deucher 2148aaa36a97SAlex Deucher 2149aaa36a97SAlex Deucher /* 2150aaa36a97SAlex Deucher ** Definitions for SDMA_PKT_NOP packet 2151aaa36a97SAlex Deucher */ 2152aaa36a97SAlex Deucher 2153aaa36a97SAlex Deucher /*define for HEADER word*/ 2154aaa36a97SAlex Deucher /*define for op field*/ 2155aaa36a97SAlex Deucher #define SDMA_PKT_NOP_HEADER_op_offset 0 2156aaa36a97SAlex Deucher #define SDMA_PKT_NOP_HEADER_op_mask 0x000000FF 2157aaa36a97SAlex Deucher #define SDMA_PKT_NOP_HEADER_op_shift 0 2158aaa36a97SAlex Deucher #define SDMA_PKT_NOP_HEADER_OP(x) (((x) & SDMA_PKT_NOP_HEADER_op_mask) << SDMA_PKT_NOP_HEADER_op_shift) 2159aaa36a97SAlex Deucher 2160aaa36a97SAlex Deucher /*define for sub_op field*/ 2161aaa36a97SAlex Deucher #define SDMA_PKT_NOP_HEADER_sub_op_offset 0 2162aaa36a97SAlex Deucher #define SDMA_PKT_NOP_HEADER_sub_op_mask 0x000000FF 2163aaa36a97SAlex Deucher #define SDMA_PKT_NOP_HEADER_sub_op_shift 8 2164aaa36a97SAlex Deucher #define SDMA_PKT_NOP_HEADER_SUB_OP(x) (((x) & SDMA_PKT_NOP_HEADER_sub_op_mask) << SDMA_PKT_NOP_HEADER_sub_op_shift) 2165aaa36a97SAlex Deucher 21664207a734SJammy Zhou /*define for count field*/ 21674207a734SJammy Zhou #define SDMA_PKT_NOP_HEADER_count_offset 0 21684207a734SJammy Zhou #define SDMA_PKT_NOP_HEADER_count_mask 0x00003FFF 21694207a734SJammy Zhou #define SDMA_PKT_NOP_HEADER_count_shift 16 21704207a734SJammy Zhou #define SDMA_PKT_NOP_HEADER_COUNT(x) (((x) & SDMA_PKT_NOP_HEADER_count_mask) << SDMA_PKT_NOP_HEADER_count_shift) 2171aaa36a97SAlex Deucher 2172aaa36a97SAlex Deucher #endif /* __ICELAND_SDMA_PKT_OPEN_H_ */ 2173