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