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