1/*
2 * Copyright (C) 2019 Advanced Micro Devices, Inc.
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included
12 * in all copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17 * THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
18 * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 */
21
22#ifndef _vcn_2_5_OFFSET_HEADER
23#define _vcn_2_5_OFFSET_HEADER
24
25// addressBlock: uvd0_mmsch_dec
26// base address: 0x1e000
27#define mmMMSCH_VF_VMID 0x000b
28#define mmMMSCH_VF_VMID_BASE_IDX 0
29#define mmMMSCH_VF_CTX_ADDR_LO 0x000c
30#define mmMMSCH_VF_CTX_ADDR_LO_BASE_IDX 0
31#define mmMMSCH_VF_CTX_ADDR_HI 0x000d
32#define mmMMSCH_VF_CTX_ADDR_HI_BASE_IDX 0
33#define mmMMSCH_VF_CTX_SIZE 0x000e
34#define mmMMSCH_VF_CTX_SIZE_BASE_IDX 0
35#define mmMMSCH_VF_MAILBOX_HOST 0x0012
36#define mmMMSCH_VF_MAILBOX_HOST_BASE_IDX 0
37#define mmMMSCH_VF_MAILBOX_RESP 0x0013
38#define mmMMSCH_VF_MAILBOX_RESP_BASE_IDX 0
39
40
41// addressBlock: uvd0_jpegnpdec
42// base address: 0x1e200
43#define mmUVD_JPEG_CNTL 0x0080
44#define mmUVD_JPEG_CNTL_BASE_IDX 0
45#define mmUVD_JPEG_RB_BASE 0x0081
46#define mmUVD_JPEG_RB_BASE_BASE_IDX 0
47#define mmUVD_JPEG_RB_WPTR 0x0082
48#define mmUVD_JPEG_RB_WPTR_BASE_IDX 0
49#define mmUVD_JPEG_RB_RPTR 0x0083
50#define mmUVD_JPEG_RB_RPTR_BASE_IDX 0
51#define mmUVD_JPEG_RB_SIZE 0x0084
52#define mmUVD_JPEG_RB_SIZE_BASE_IDX 0
53#define mmUVD_JPEG_DEC_SCRATCH0 0x0089
54#define mmUVD_JPEG_DEC_SCRATCH0_BASE_IDX 0
55#define mmUVD_JPEG_INT_EN 0x008a
56#define mmUVD_JPEG_INT_EN_BASE_IDX 0
57#define mmUVD_JPEG_INT_STAT 0x008b
58#define mmUVD_JPEG_INT_STAT_BASE_IDX 0
59#define mmUVD_JPEG_PITCH 0x009f
60#define mmUVD_JPEG_PITCH_BASE_IDX 0
61#define mmUVD_JPEG_UV_PITCH 0x00a0
62#define mmUVD_JPEG_UV_PITCH_BASE_IDX 0
63#define mmJPEG_DEC_Y_GFX8_TILING_SURFACE 0x00a1
64#define mmJPEG_DEC_Y_GFX8_TILING_SURFACE_BASE_IDX 0
65#define mmJPEG_DEC_UV_GFX8_TILING_SURFACE 0x00a2
66#define mmJPEG_DEC_UV_GFX8_TILING_SURFACE_BASE_IDX 0
67#define mmJPEG_DEC_GFX8_ADDR_CONFIG 0x00a3
68#define mmJPEG_DEC_GFX8_ADDR_CONFIG_BASE_IDX 0
69#define mmJPEG_DEC_Y_GFX10_TILING_SURFACE 0x00a4
70#define mmJPEG_DEC_Y_GFX10_TILING_SURFACE_BASE_IDX 0
71#define mmJPEG_DEC_UV_GFX10_TILING_SURFACE 0x00a5
72#define mmJPEG_DEC_UV_GFX10_TILING_SURFACE_BASE_IDX 0
73#define mmJPEG_DEC_GFX10_ADDR_CONFIG 0x00a6
74#define mmJPEG_DEC_GFX10_ADDR_CONFIG_BASE_IDX 0
75#define mmJPEG_DEC_ADDR_MODE 0x00a7
76#define mmJPEG_DEC_ADDR_MODE_BASE_IDX 0
77#define mmUVD_JPEG_GPCOM_CMD 0x00a9
78#define mmUVD_JPEG_GPCOM_CMD_BASE_IDX 0
79#define mmUVD_JPEG_GPCOM_DATA0 0x00aa
80#define mmUVD_JPEG_GPCOM_DATA0_BASE_IDX 0
81#define mmUVD_JPEG_GPCOM_DATA1 0x00ab
82#define mmUVD_JPEG_GPCOM_DATA1_BASE_IDX 0
83#define mmUVD_JPEG_SCRATCH1 0x00ae
84#define mmUVD_JPEG_SCRATCH1_BASE_IDX 0
85#define mmUVD_JPEG_DEC_SOFT_RST 0x00af
86#define mmUVD_JPEG_DEC_SOFT_RST_BASE_IDX 0
87
88
89// addressBlock: uvd0_uvd_jpeg_enc_dec
90// base address: 0x1e300
91#define mmUVD_JPEG_ENC_INT_EN 0x00c1
92#define mmUVD_JPEG_ENC_INT_EN_BASE_IDX 0
93#define mmUVD_JPEG_ENC_INT_STATUS 0x00c2
94#define mmUVD_JPEG_ENC_INT_STATUS_BASE_IDX 0
95#define mmUVD_JPEG_ENC_ENGINE_CNTL 0x00c5
96#define mmUVD_JPEG_ENC_ENGINE_CNTL_BASE_IDX 0
97#define mmUVD_JPEG_ENC_SCRATCH1 0x00ce
98#define mmUVD_JPEG_ENC_SCRATCH1_BASE_IDX 0
99
100
101// addressBlock: uvd0_uvd_jpeg_enc_sclk_dec
102// base address: 0x1e380
103#define mmUVD_JPEG_ENC_STATUS 0x00e5
104#define mmUVD_JPEG_ENC_STATUS_BASE_IDX 0
105#define mmUVD_JPEG_ENC_PITCH 0x00e6
106#define mmUVD_JPEG_ENC_PITCH_BASE_IDX 0
107#define mmUVD_JPEG_ENC_LUMA_BASE 0x00e7
108#define mmUVD_JPEG_ENC_LUMA_BASE_BASE_IDX 0
109#define mmUVD_JPEG_ENC_CHROMAU_BASE 0x00e8
110#define mmUVD_JPEG_ENC_CHROMAU_BASE_BASE_IDX 0
111#define mmUVD_JPEG_ENC_CHROMAV_BASE 0x00e9
112#define mmUVD_JPEG_ENC_CHROMAV_BASE_BASE_IDX 0
113#define mmJPEG_ENC_Y_GFX10_TILING_SURFACE 0x00ea
114#define mmJPEG_ENC_Y_GFX10_TILING_SURFACE_BASE_IDX 0
115#define mmJPEG_ENC_UV_GFX10_TILING_SURFACE 0x00eb
116#define mmJPEG_ENC_UV_GFX10_TILING_SURFACE_BASE_IDX 0
117#define mmJPEG_ENC_GFX10_ADDR_CONFIG 0x00ec
118#define mmJPEG_ENC_GFX10_ADDR_CONFIG_BASE_IDX 0
119#define mmJPEG_ENC_ADDR_MODE 0x00ed
120#define mmJPEG_ENC_ADDR_MODE_BASE_IDX 0
121#define mmUVD_JPEG_ENC_GPCOM_CMD 0x00ee
122#define mmUVD_JPEG_ENC_GPCOM_CMD_BASE_IDX 0
123#define mmUVD_JPEG_ENC_GPCOM_DATA0 0x00ef
124#define mmUVD_JPEG_ENC_GPCOM_DATA0_BASE_IDX 0
125#define mmUVD_JPEG_ENC_GPCOM_DATA1 0x00f0
126#define mmUVD_JPEG_ENC_GPCOM_DATA1_BASE_IDX 0
127#define mmUVD_JPEG_ENC_CGC_CNTL 0x00f5
128#define mmUVD_JPEG_ENC_CGC_CNTL_BASE_IDX 0
129#define mmUVD_JPEG_ENC_SCRATCH0 0x00f6
130#define mmUVD_JPEG_ENC_SCRATCH0_BASE_IDX 0
131#define mmUVD_JPEG_ENC_SOFT_RST 0x00f7
132#define mmUVD_JPEG_ENC_SOFT_RST_BASE_IDX 0
133
134
135// addressBlock: uvd0_uvd_jrbc_dec
136// base address: 0x1e400
137#define mmUVD_JRBC_RB_WPTR 0x0100
138#define mmUVD_JRBC_RB_WPTR_BASE_IDX 0
139#define mmUVD_JRBC_RB_CNTL 0x0101
140#define mmUVD_JRBC_RB_CNTL_BASE_IDX 0
141#define mmUVD_JRBC_IB_SIZE 0x0102
142#define mmUVD_JRBC_IB_SIZE_BASE_IDX 0
143#define mmUVD_JRBC_URGENT_CNTL 0x0103
144#define mmUVD_JRBC_URGENT_CNTL_BASE_IDX 0
145#define mmUVD_JRBC_RB_REF_DATA 0x0104
146#define mmUVD_JRBC_RB_REF_DATA_BASE_IDX 0
147#define mmUVD_JRBC_RB_COND_RD_TIMER 0x0105
148#define mmUVD_JRBC_RB_COND_RD_TIMER_BASE_IDX 0
149#define mmUVD_JRBC_SOFT_RESET 0x0108
150#define mmUVD_JRBC_SOFT_RESET_BASE_IDX 0
151#define mmUVD_JRBC_STATUS 0x0109
152#define mmUVD_JRBC_STATUS_BASE_IDX 0
153#define mmUVD_JRBC_RB_RPTR 0x010a
154#define mmUVD_JRBC_RB_RPTR_BASE_IDX 0
155#define mmUVD_JRBC_RB_BUF_STATUS 0x010b
156#define mmUVD_JRBC_RB_BUF_STATUS_BASE_IDX 0
157#define mmUVD_JRBC_IB_BUF_STATUS 0x010c
158#define mmUVD_JRBC_IB_BUF_STATUS_BASE_IDX 0
159#define mmUVD_JRBC_IB_SIZE_UPDATE 0x010d
160#define mmUVD_JRBC_IB_SIZE_UPDATE_BASE_IDX 0
161#define mmUVD_JRBC_IB_COND_RD_TIMER 0x010e
162#define mmUVD_JRBC_IB_COND_RD_TIMER_BASE_IDX 0
163#define mmUVD_JRBC_IB_REF_DATA 0x010f
164#define mmUVD_JRBC_IB_REF_DATA_BASE_IDX 0
165#define mmUVD_JPEG_PREEMPT_CMD 0x0110
166#define mmUVD_JPEG_PREEMPT_CMD_BASE_IDX 0
167#define mmUVD_JPEG_PREEMPT_FENCE_DATA0 0x0111
168#define mmUVD_JPEG_PREEMPT_FENCE_DATA0_BASE_IDX 0
169#define mmUVD_JPEG_PREEMPT_FENCE_DATA1 0x0112
170#define mmUVD_JPEG_PREEMPT_FENCE_DATA1_BASE_IDX 0
171#define mmUVD_JRBC_RB_SIZE 0x0113
172#define mmUVD_JRBC_RB_SIZE_BASE_IDX 0
173#define mmUVD_JRBC_SCRATCH0 0x0114
174#define mmUVD_JRBC_SCRATCH0_BASE_IDX 0
175
176
177// addressBlock: uvd0_uvd_jrbc_enc_dec
178// base address: 0x1e480
179#define mmUVD_JRBC_ENC_RB_WPTR 0x0120
180#define mmUVD_JRBC_ENC_RB_WPTR_BASE_IDX 0
181#define mmUVD_JRBC_ENC_RB_CNTL 0x0121
182#define mmUVD_JRBC_ENC_RB_CNTL_BASE_IDX 0
183#define mmUVD_JRBC_ENC_IB_SIZE 0x0122
184#define mmUVD_JRBC_ENC_IB_SIZE_BASE_IDX 0
185#define mmUVD_JRBC_ENC_URGENT_CNTL 0x0123
186#define mmUVD_JRBC_ENC_URGENT_CNTL_BASE_IDX 0
187#define mmUVD_JRBC_ENC_RB_REF_DATA 0x0124
188#define mmUVD_JRBC_ENC_RB_REF_DATA_BASE_IDX 0
189#define mmUVD_JRBC_ENC_RB_COND_RD_TIMER 0x0125
190#define mmUVD_JRBC_ENC_RB_COND_RD_TIMER_BASE_IDX 0
191#define mmUVD_JRBC_ENC_SOFT_RESET 0x0128
192#define mmUVD_JRBC_ENC_SOFT_RESET_BASE_IDX 0
193#define mmUVD_JRBC_ENC_STATUS 0x0129
194#define mmUVD_JRBC_ENC_STATUS_BASE_IDX 0
195#define mmUVD_JRBC_ENC_RB_RPTR 0x012a
196#define mmUVD_JRBC_ENC_RB_RPTR_BASE_IDX 0
197#define mmUVD_JRBC_ENC_RB_BUF_STATUS 0x012b
198#define mmUVD_JRBC_ENC_RB_BUF_STATUS_BASE_IDX 0
199#define mmUVD_JRBC_ENC_IB_BUF_STATUS 0x012c
200#define mmUVD_JRBC_ENC_IB_BUF_STATUS_BASE_IDX 0
201#define mmUVD_JRBC_ENC_IB_SIZE_UPDATE 0x012d
202#define mmUVD_JRBC_ENC_IB_SIZE_UPDATE_BASE_IDX 0
203#define mmUVD_JRBC_ENC_IB_COND_RD_TIMER 0x012e
204#define mmUVD_JRBC_ENC_IB_COND_RD_TIMER_BASE_IDX 0
205#define mmUVD_JRBC_ENC_IB_REF_DATA 0x012f
206#define mmUVD_JRBC_ENC_IB_REF_DATA_BASE_IDX 0
207#define mmUVD_JPEG_ENC_PREEMPT_CMD 0x0130
208#define mmUVD_JPEG_ENC_PREEMPT_CMD_BASE_IDX 0
209#define mmUVD_JPEG_ENC_PREEMPT_FENCE_DATA0 0x0131
210#define mmUVD_JPEG_ENC_PREEMPT_FENCE_DATA0_BASE_IDX 0
211#define mmUVD_JPEG_ENC_PREEMPT_FENCE_DATA1 0x0132
212#define mmUVD_JPEG_ENC_PREEMPT_FENCE_DATA1_BASE_IDX 0
213#define mmUVD_JRBC_ENC_RB_SIZE 0x0133
214#define mmUVD_JRBC_ENC_RB_SIZE_BASE_IDX 0
215#define mmUVD_JRBC_ENC_SCRATCH0 0x0134
216#define mmUVD_JRBC_ENC_SCRATCH0_BASE_IDX 0
217
218
219// addressBlock: uvd0_uvd_jmi_dec
220// base address: 0x1e500
221#define mmUVD_JMI_CTRL 0x0145
222#define mmUVD_JMI_CTRL_BASE_IDX 0
223#define mmUVD_LMI_JRBC_CTRL 0x0146
224#define mmUVD_LMI_JRBC_CTRL_BASE_IDX 0
225#define mmUVD_LMI_JPEG_CTRL 0x0147
226#define mmUVD_LMI_JPEG_CTRL_BASE_IDX 0
227#define mmUVD_JMI_EJRBC_CTRL 0x0148
228#define mmUVD_JMI_EJRBC_CTRL_BASE_IDX 0
229#define mmUVD_LMI_EJPEG_CTRL 0x0149
230#define mmUVD_LMI_EJPEG_CTRL_BASE_IDX 0
231#define mmUVD_LMI_JRBC_IB_VMID 0x014f
232#define mmUVD_LMI_JRBC_IB_VMID_BASE_IDX 0
233#define mmUVD_LMI_JRBC_RB_VMID 0x0150
234#define mmUVD_LMI_JRBC_RB_VMID_BASE_IDX 0
235#define mmUVD_LMI_JPEG_VMID 0x0151
236#define mmUVD_LMI_JPEG_VMID_BASE_IDX 0
237#define mmUVD_JMI_ENC_JRBC_IB_VMID 0x0152
238#define mmUVD_JMI_ENC_JRBC_IB_VMID_BASE_IDX 0
239#define mmUVD_JMI_ENC_JRBC_RB_VMID 0x0153
240#define mmUVD_JMI_ENC_JRBC_RB_VMID_BASE_IDX 0
241#define mmUVD_JMI_ENC_JPEG_VMID 0x0154
242#define mmUVD_JMI_ENC_JPEG_VMID_BASE_IDX 0
243#define mmUVD_JMI_PERFMON_CTRL 0x015c
244#define mmUVD_JMI_PERFMON_CTRL_BASE_IDX 0
245#define mmUVD_JMI_PERFMON_COUNT_LO 0x015d
246#define mmUVD_JMI_PERFMON_COUNT_LO_BASE_IDX 0
247#define mmUVD_JMI_PERFMON_COUNT_HI 0x015e
248#define mmUVD_JMI_PERFMON_COUNT_HI_BASE_IDX 0
249#define mmUVD_LMI_JPEG_READ_64BIT_BAR_LOW 0x0160
250#define mmUVD_LMI_JPEG_READ_64BIT_BAR_LOW_BASE_IDX 0
251#define mmUVD_LMI_JPEG_READ_64BIT_BAR_HIGH 0x0161
252#define mmUVD_LMI_JPEG_READ_64BIT_BAR_HIGH_BASE_IDX 0
253#define mmUVD_LMI_JPEG_WRITE_64BIT_BAR_LOW 0x0162
254#define mmUVD_LMI_JPEG_WRITE_64BIT_BAR_LOW_BASE_IDX 0
255#define mmUVD_LMI_JPEG_WRITE_64BIT_BAR_HIGH 0x0163
256#define mmUVD_LMI_JPEG_WRITE_64BIT_BAR_HIGH_BASE_IDX 0
257#define mmUVD_LMI_JPEG_PREEMPT_FENCE_64BIT_BAR_LOW 0x0164
258#define mmUVD_LMI_JPEG_PREEMPT_FENCE_64BIT_BAR_LOW_BASE_IDX 0
259#define mmUVD_LMI_JPEG_PREEMPT_FENCE_64BIT_BAR_HIGH 0x0165
260#define mmUVD_LMI_JPEG_PREEMPT_FENCE_64BIT_BAR_HIGH_BASE_IDX 0
261#define mmUVD_LMI_JRBC_RB_64BIT_BAR_LOW 0x0166
262#define mmUVD_LMI_JRBC_RB_64BIT_BAR_LOW_BASE_IDX 0
263#define mmUVD_LMI_JRBC_RB_64BIT_BAR_HIGH 0x0167
264#define mmUVD_LMI_JRBC_RB_64BIT_BAR_HIGH_BASE_IDX 0
265#define mmUVD_LMI_JRBC_IB_64BIT_BAR_LOW 0x0168
266#define mmUVD_LMI_JRBC_IB_64BIT_BAR_LOW_BASE_IDX 0
267#define mmUVD_LMI_JRBC_IB_64BIT_BAR_HIGH 0x0169
268#define mmUVD_LMI_JRBC_IB_64BIT_BAR_HIGH_BASE_IDX 0
269#define mmUVD_LMI_JRBC_RB_MEM_WR_64BIT_BAR_LOW 0x016a
270#define mmUVD_LMI_JRBC_RB_MEM_WR_64BIT_BAR_LOW_BASE_IDX 0
271#define mmUVD_LMI_JRBC_RB_MEM_WR_64BIT_BAR_HIGH 0x016b
272#define mmUVD_LMI_JRBC_RB_MEM_WR_64BIT_BAR_HIGH_BASE_IDX 0
273#define mmUVD_LMI_JRBC_RB_MEM_RD_64BIT_BAR_LOW 0x016c
274#define mmUVD_LMI_JRBC_RB_MEM_RD_64BIT_BAR_LOW_BASE_IDX 0
275#define mmUVD_LMI_JRBC_RB_MEM_RD_64BIT_BAR_HIGH 0x016d
276#define mmUVD_LMI_JRBC_RB_MEM_RD_64BIT_BAR_HIGH_BASE_IDX 0
277#define mmUVD_LMI_JRBC_IB_MEM_WR_64BIT_BAR_LOW 0x016e
278#define mmUVD_LMI_JRBC_IB_MEM_WR_64BIT_BAR_LOW_BASE_IDX 0
279#define mmUVD_LMI_JRBC_IB_MEM_WR_64BIT_BAR_HIGH 0x016f
280#define mmUVD_LMI_JRBC_IB_MEM_WR_64BIT_BAR_HIGH_BASE_IDX 0
281#define mmUVD_LMI_JRBC_IB_MEM_RD_64BIT_BAR_LOW 0x0170
282#define mmUVD_LMI_JRBC_IB_MEM_RD_64BIT_BAR_LOW_BASE_IDX 0
283#define mmUVD_LMI_JRBC_IB_MEM_RD_64BIT_BAR_HIGH 0x0171
284#define mmUVD_LMI_JRBC_IB_MEM_RD_64BIT_BAR_HIGH_BASE_IDX 0
285#define mmUVD_LMI_EJPEG_PREEMPT_FENCE_64BIT_BAR_LOW 0x017a
286#define mmUVD_LMI_EJPEG_PREEMPT_FENCE_64BIT_BAR_LOW_BASE_IDX 0
287#define mmUVD_LMI_EJPEG_PREEMPT_FENCE_64BIT_BAR_HIGH 0x017b
288#define mmUVD_LMI_EJPEG_PREEMPT_FENCE_64BIT_BAR_HIGH_BASE_IDX 0
289#define mmUVD_LMI_EJRBC_RB_64BIT_BAR_LOW 0x017c
290#define mmUVD_LMI_EJRBC_RB_64BIT_BAR_LOW_BASE_IDX 0
291#define mmUVD_LMI_EJRBC_RB_64BIT_BAR_HIGH 0x017d
292#define mmUVD_LMI_EJRBC_RB_64BIT_BAR_HIGH_BASE_IDX 0
293#define mmUVD_LMI_EJRBC_IB_64BIT_BAR_LOW 0x017e
294#define mmUVD_LMI_EJRBC_IB_64BIT_BAR_LOW_BASE_IDX 0
295#define mmUVD_LMI_EJRBC_IB_64BIT_BAR_HIGH 0x017f
296#define mmUVD_LMI_EJRBC_IB_64BIT_BAR_HIGH_BASE_IDX 0
297#define mmUVD_LMI_EJRBC_RB_MEM_WR_64BIT_BAR_LOW 0x0180
298#define mmUVD_LMI_EJRBC_RB_MEM_WR_64BIT_BAR_LOW_BASE_IDX 0
299#define mmUVD_LMI_EJRBC_RB_MEM_WR_64BIT_BAR_HIGH 0x0181
300#define mmUVD_LMI_EJRBC_RB_MEM_WR_64BIT_BAR_HIGH_BASE_IDX 0
301#define mmUVD_LMI_EJRBC_RB_MEM_RD_64BIT_BAR_LOW 0x0182
302#define mmUVD_LMI_EJRBC_RB_MEM_RD_64BIT_BAR_LOW_BASE_IDX 0
303#define mmUVD_LMI_EJRBC_RB_MEM_RD_64BIT_BAR_HIGH 0x0183
304#define mmUVD_LMI_EJRBC_RB_MEM_RD_64BIT_BAR_HIGH_BASE_IDX 0
305#define mmUVD_LMI_EJRBC_IB_MEM_WR_64BIT_BAR_LOW 0x0184
306#define mmUVD_LMI_EJRBC_IB_MEM_WR_64BIT_BAR_LOW_BASE_IDX 0
307#define mmUVD_LMI_EJRBC_IB_MEM_WR_64BIT_BAR_HIGH 0x0185
308#define mmUVD_LMI_EJRBC_IB_MEM_WR_64BIT_BAR_HIGH_BASE_IDX 0
309#define mmUVD_LMI_EJRBC_IB_MEM_RD_64BIT_BAR_LOW 0x0186
310#define mmUVD_LMI_EJRBC_IB_MEM_RD_64BIT_BAR_LOW_BASE_IDX 0
311#define mmUVD_LMI_EJRBC_IB_MEM_RD_64BIT_BAR_HIGH 0x0187
312#define mmUVD_LMI_EJRBC_IB_MEM_RD_64BIT_BAR_HIGH_BASE_IDX 0
313#define mmUVD_LMI_JPEG_PREEMPT_VMID 0x0188
314#define mmUVD_LMI_JPEG_PREEMPT_VMID_BASE_IDX 0
315#define mmUVD_LMI_ENC_JPEG_PREEMPT_VMID 0x0189
316#define mmUVD_LMI_ENC_JPEG_PREEMPT_VMID_BASE_IDX 0
317#define mmUVD_LMI_JPEG2_VMID 0x018a
318#define mmUVD_LMI_JPEG2_VMID_BASE_IDX 0
319#define mmUVD_LMI_JPEG2_READ_64BIT_BAR_LOW 0x018b
320#define mmUVD_LMI_JPEG2_READ_64BIT_BAR_LOW_BASE_IDX 0
321#define mmUVD_LMI_JPEG2_READ_64BIT_BAR_HIGH 0x018c
322#define mmUVD_LMI_JPEG2_READ_64BIT_BAR_HIGH_BASE_IDX 0
323#define mmUVD_LMI_JPEG2_WRITE_64BIT_BAR_LOW 0x018d
324#define mmUVD_LMI_JPEG2_WRITE_64BIT_BAR_LOW_BASE_IDX 0
325#define mmUVD_LMI_JPEG2_WRITE_64BIT_BAR_HIGH 0x018e
326#define mmUVD_LMI_JPEG2_WRITE_64BIT_BAR_HIGH_BASE_IDX 0
327#define mmUVD_LMI_JPEG_CTRL2 0x018f
328#define mmUVD_LMI_JPEG_CTRL2_BASE_IDX 0
329#define mmUVD_JMI_DEC_SWAP_CNTL 0x0190
330#define mmUVD_JMI_DEC_SWAP_CNTL_BASE_IDX 0
331#define mmUVD_JMI_ENC_SWAP_CNTL 0x0191
332#define mmUVD_JMI_ENC_SWAP_CNTL_BASE_IDX 0
333#define mmUVD_JMI_CNTL 0x0192
334#define mmUVD_JMI_CNTL_BASE_IDX 0
335#define mmUVD_JMI_HUFF_FENCE_64BIT_BAR_LOW 0x019a
336#define mmUVD_JMI_HUFF_FENCE_64BIT_BAR_LOW_BASE_IDX 0
337#define mmUVD_JMI_HUFF_FENCE_64BIT_BAR_HIGH 0x019b
338#define mmUVD_JMI_HUFF_FENCE_64BIT_BAR_HIGH_BASE_IDX 0
339#define mmUVD_JMI_DEC_SWAP_CNTL2 0x019c
340#define mmUVD_JMI_DEC_SWAP_CNTL2_BASE_IDX 0
341
342
343// addressBlock: uvd0_uvd_jpeg_common_dec
344// base address: 0x1e700
345#define mmJPEG_SOFT_RESET_STATUS 0x01c0
346#define mmJPEG_SOFT_RESET_STATUS_BASE_IDX 0
347#define mmJPEG_SYS_INT_EN 0x01c1
348#define mmJPEG_SYS_INT_EN_BASE_IDX 0
349#define mmJPEG_SYS_INT_STATUS 0x01c2
350#define mmJPEG_SYS_INT_STATUS_BASE_IDX 0
351#define mmJPEG_SYS_INT_ACK 0x01c3
352#define mmJPEG_SYS_INT_ACK_BASE_IDX 0
353#define mmJPEG_MASTINT_EN 0x01c8
354#define mmJPEG_MASTINT_EN_BASE_IDX 0
355#define mmJPEG_IH_CTRL 0x01c9
356#define mmJPEG_IH_CTRL_BASE_IDX 0
357#define mmJRBBM_ARB_CTRL 0x01cb
358#define mmJRBBM_ARB_CTRL_BASE_IDX 0
359
360
361// addressBlock: uvd0_uvd_jpeg_common_sclk_dec
362// base address: 0x1e780
363#define mmJPEG_CGC_GATE 0x01e0
364#define mmJPEG_CGC_GATE_BASE_IDX 0
365#define mmJPEG_CGC_CTRL 0x01e1
366#define mmJPEG_CGC_CTRL_BASE_IDX 0
367#define mmJPEG_CGC_STATUS 0x01e2
368#define mmJPEG_CGC_STATUS_BASE_IDX 0
369#define mmJPEG_COMN_CGC_MEM_CTRL 0x01e3
370#define mmJPEG_COMN_CGC_MEM_CTRL_BASE_IDX 0
371#define mmJPEG_DEC_CGC_MEM_CTRL 0x01e4
372#define mmJPEG_DEC_CGC_MEM_CTRL_BASE_IDX 0
373#define mmJPEG2_DEC_CGC_MEM_CTRL 0x01e5
374#define mmJPEG2_DEC_CGC_MEM_CTRL_BASE_IDX 0
375#define mmJPEG_ENC_CGC_MEM_CTRL 0x01e6
376#define mmJPEG_ENC_CGC_MEM_CTRL_BASE_IDX 0
377#define mmJPEG_SOFT_RESET2 0x01e7
378#define mmJPEG_SOFT_RESET2_BASE_IDX 0
379#define mmJPEG_PERF_BANK_CONF 0x01e8
380#define mmJPEG_PERF_BANK_CONF_BASE_IDX 0
381#define mmJPEG_PERF_BANK_EVENT_SEL 0x01e9
382#define mmJPEG_PERF_BANK_EVENT_SEL_BASE_IDX 0
383#define mmJPEG_PERF_BANK_COUNT0 0x01ea
384#define mmJPEG_PERF_BANK_COUNT0_BASE_IDX 0
385#define mmJPEG_PERF_BANK_COUNT1 0x01eb
386#define mmJPEG_PERF_BANK_COUNT1_BASE_IDX 0
387#define mmJPEG_PERF_BANK_COUNT2 0x01ec
388#define mmJPEG_PERF_BANK_COUNT2_BASE_IDX 0
389#define mmJPEG_PERF_BANK_COUNT3 0x01ed
390#define mmJPEG_PERF_BANK_COUNT3_BASE_IDX 0
391
392
393// addressBlock: uvd0_uvd_pg_dec
394// base address: 0x1f800
395#define mmUVD_PGFSM_CONFIG 0x0000
396#define mmUVD_PGFSM_CONFIG_BASE_IDX 1
397#define mmUVD_PGFSM_STATUS 0x0001
398#define mmUVD_PGFSM_STATUS_BASE_IDX 1
399#define mmUVD_POWER_STATUS 0x0004
400#define mmUVD_POWER_STATUS_BASE_IDX 1
401#define mmUVD_PG_IND_INDEX 0x0005
402#define mmUVD_PG_IND_INDEX_BASE_IDX 1
403#define mmUVD_PG_IND_DATA 0x0006
404#define mmUVD_PG_IND_DATA_BASE_IDX 1
405#define mmCC_UVD_HARVESTING 0x0007
406#define mmCC_UVD_HARVESTING_BASE_IDX 1
407#define mmUVD_JPEG_POWER_STATUS 0x000a
408#define mmUVD_JPEG_POWER_STATUS_BASE_IDX 1
409#define mmUVD_DPG_LMA_CTL 0x0011
410#define mmUVD_DPG_LMA_CTL_BASE_IDX 1
411#define mmUVD_DPG_LMA_DATA 0x0012
412#define mmUVD_DPG_LMA_DATA_BASE_IDX 1
413#define mmUVD_DPG_LMA_MASK 0x0013
414#define mmUVD_DPG_LMA_MASK_BASE_IDX 1
415#define mmUVD_DPG_PAUSE 0x0014
416#define mmUVD_DPG_PAUSE_BASE_IDX 1
417#define mmUVD_SCRATCH1 0x0015
418#define mmUVD_SCRATCH1_BASE_IDX 1
419#define mmUVD_SCRATCH2 0x0016
420#define mmUVD_SCRATCH2_BASE_IDX 1
421#define mmUVD_SCRATCH3 0x0017
422#define mmUVD_SCRATCH3_BASE_IDX 1
423#define mmUVD_SCRATCH4 0x0018
424#define mmUVD_SCRATCH4_BASE_IDX 1
425#define mmUVD_SCRATCH5 0x0019
426#define mmUVD_SCRATCH5_BASE_IDX 1
427#define mmUVD_SCRATCH6 0x001a
428#define mmUVD_SCRATCH6_BASE_IDX 1
429#define mmUVD_SCRATCH7 0x001b
430#define mmUVD_SCRATCH7_BASE_IDX 1
431#define mmUVD_SCRATCH8 0x001c
432#define mmUVD_SCRATCH8_BASE_IDX 1
433#define mmUVD_SCRATCH9 0x001d
434#define mmUVD_SCRATCH9_BASE_IDX 1
435#define mmUVD_SCRATCH10 0x001e
436#define mmUVD_SCRATCH10_BASE_IDX 1
437#define mmUVD_SCRATCH11 0x001f
438#define mmUVD_SCRATCH11_BASE_IDX 1
439#define mmUVD_SCRATCH12 0x0020
440#define mmUVD_SCRATCH12_BASE_IDX 1
441#define mmUVD_SCRATCH13 0x0021
442#define mmUVD_SCRATCH13_BASE_IDX 1
443#define mmUVD_SCRATCH14 0x0022
444#define mmUVD_SCRATCH14_BASE_IDX 1
445#define mmUVD_FREE_COUNTER_REG 0x0024
446#define mmUVD_FREE_COUNTER_REG_BASE_IDX 1
447#define mmUVD_DPG_LMI_VCPU_CACHE_64BIT_BAR_LOW 0x0025
448#define mmUVD_DPG_LMI_VCPU_CACHE_64BIT_BAR_LOW_BASE_IDX 1
449#define mmUVD_DPG_LMI_VCPU_CACHE_64BIT_BAR_HIGH 0x0026
450#define mmUVD_DPG_LMI_VCPU_CACHE_64BIT_BAR_HIGH_BASE_IDX 1
451#define mmUVD_DPG_VCPU_CACHE_OFFSET0 0x0027
452#define mmUVD_DPG_VCPU_CACHE_OFFSET0_BASE_IDX 1
453#define mmUVD_DPG_LMI_VCPU_CACHE_VMID 0x0028
454#define mmUVD_DPG_LMI_VCPU_CACHE_VMID_BASE_IDX 1
455#define mmUVD_PF_STATUS 0x0039
456#define mmUVD_PF_STATUS_BASE_IDX 1
457#define mmUVD_DPG_CLK_EN_VCPU_REPORT 0x003c
458#define mmUVD_DPG_CLK_EN_VCPU_REPORT_BASE_IDX 1
459#define mmUVD_GFX8_ADDR_CONFIG 0x0049
460#define mmUVD_GFX8_ADDR_CONFIG_BASE_IDX 1
461#define mmUVD_GFX10_ADDR_CONFIG 0x004a
462#define mmUVD_GFX10_ADDR_CONFIG_BASE_IDX 1
463#define mmUVD_GPCNT2_CNTL 0x004b
464#define mmUVD_GPCNT2_CNTL_BASE_IDX 1
465#define mmUVD_GPCNT2_TARGET_LOWER 0x004c
466#define mmUVD_GPCNT2_TARGET_LOWER_BASE_IDX 1
467#define mmUVD_GPCNT2_STATUS_LOWER 0x004d
468#define mmUVD_GPCNT2_STATUS_LOWER_BASE_IDX 1
469#define mmUVD_GPCNT2_TARGET_UPPER 0x004e
470#define mmUVD_GPCNT2_TARGET_UPPER_BASE_IDX 1
471#define mmUVD_GPCNT2_STATUS_UPPER 0x004f
472#define mmUVD_GPCNT2_STATUS_UPPER_BASE_IDX 1
473#define mmUVD_GPCNT3_CNTL 0x0050
474#define mmUVD_GPCNT3_CNTL_BASE_IDX 1
475#define mmUVD_GPCNT3_TARGET_LOWER 0x0051
476#define mmUVD_GPCNT3_TARGET_LOWER_BASE_IDX 1
477#define mmUVD_GPCNT3_STATUS_LOWER 0x0052
478#define mmUVD_GPCNT3_STATUS_LOWER_BASE_IDX 1
479#define mmUVD_GPCNT3_TARGET_UPPER 0x0053
480#define mmUVD_GPCNT3_TARGET_UPPER_BASE_IDX 1
481#define mmUVD_GPCNT3_STATUS_UPPER 0x0054
482#define mmUVD_GPCNT3_STATUS_UPPER_BASE_IDX 1
483
484
485// addressBlock: uvd0_uvddec
486// base address: 0x1fa00
487#define mmUVD_STATUS 0x0080
488#define mmUVD_STATUS_BASE_IDX 1
489#define mmUVD_ENC_PIPE_BUSY 0x0081
490#define mmUVD_ENC_PIPE_BUSY_BASE_IDX 1
491#define mmUVD_SOFT_RESET 0x0084
492#define mmUVD_SOFT_RESET_BASE_IDX 1
493#define mmUVD_SOFT_RESET2 0x0085
494#define mmUVD_SOFT_RESET2_BASE_IDX 1
495#define mmUVD_MMSCH_SOFT_RESET 0x0086
496#define mmUVD_MMSCH_SOFT_RESET_BASE_IDX 1
497#define mmUVD_CGC_GATE 0x0088
498#define mmUVD_CGC_GATE_BASE_IDX 1
499#define mmUVD_CGC_STATUS 0x0089
500#define mmUVD_CGC_STATUS_BASE_IDX 1
501#define mmUVD_CGC_CTRL 0x008a
502#define mmUVD_CGC_CTRL_BASE_IDX 1
503#define mmUVD_CGC_UDEC_STATUS 0x008b
504#define mmUVD_CGC_UDEC_STATUS_BASE_IDX 1
505#define mmUVD_SUVD_CGC_GATE 0x008c
506#define mmUVD_SUVD_CGC_GATE_BASE_IDX 1
507#define mmUVD_SUVD_CGC_STATUS 0x008d
508#define mmUVD_SUVD_CGC_STATUS_BASE_IDX 1
509#define mmUVD_SUVD_CGC_CTRL 0x008e
510#define mmUVD_SUVD_CGC_CTRL_BASE_IDX 1
511#define mmUVD_GPCOM_VCPU_CMD 0x008f
512#define mmUVD_GPCOM_VCPU_CMD_BASE_IDX 1
513#define mmUVD_GPCOM_VCPU_DATA0 0x0090
514#define mmUVD_GPCOM_VCPU_DATA0_BASE_IDX 1
515#define mmUVD_GPCOM_VCPU_DATA1 0x0091
516#define mmUVD_GPCOM_VCPU_DATA1_BASE_IDX 1
517#define mmUVD_GPCOM_SYS_CMD 0x0092
518#define mmUVD_GPCOM_SYS_CMD_BASE_IDX 1
519#define mmUVD_GPCOM_SYS_DATA0 0x0093
520#define mmUVD_GPCOM_SYS_DATA0_BASE_IDX 1
521#define mmUVD_GPCOM_SYS_DATA1 0x0094
522#define mmUVD_GPCOM_SYS_DATA1_BASE_IDX 1
523#define mmUVD_VCPU_INT_EN 0x0095
524#define mmUVD_VCPU_INT_EN_BASE_IDX 1
525#define mmUVD_VCPU_INT_ACK 0x0097
526#define mmUVD_VCPU_INT_ACK_BASE_IDX 1
527#define mmUVD_VCPU_INT_ROUTE 0x0098
528#define mmUVD_VCPU_INT_ROUTE_BASE_IDX 1
529#define mmUVD_ENC_VCPU_INT_EN 0x009e
530#define mmUVD_ENC_VCPU_INT_EN_BASE_IDX 1
531#define mmUVD_ENC_VCPU_INT_ACK 0x00a0
532#define mmUVD_ENC_VCPU_INT_ACK_BASE_IDX 1
533#define mmUVD_MASTINT_EN 0x00a1
534#define mmUVD_MASTINT_EN_BASE_IDX 1
535#define mmUVD_SYS_INT_EN 0x00a2
536#define mmUVD_SYS_INT_EN_BASE_IDX 1
537#define mmUVD_SYS_INT_STATUS 0x00a3
538#define mmUVD_SYS_INT_STATUS_BASE_IDX 1
539#define mmUVD_SYS_INT_ACK 0x00a4
540#define mmUVD_SYS_INT_ACK_BASE_IDX 1
541#define mmUVD_JOB_DONE 0x00a5
542#define mmUVD_JOB_DONE_BASE_IDX 1
543#define mmUVD_CBUF_ID 0x00a6
544#define mmUVD_CBUF_ID_BASE_IDX 1
545#define mmUVD_CONTEXT_ID 0x00a7
546#define mmUVD_CONTEXT_ID_BASE_IDX 1
547#define mmUVD_CONTEXT_ID2 0x00a8
548#define mmUVD_CONTEXT_ID2_BASE_IDX 1
549#define mmUVD_NO_OP 0x00a9
550#define mmUVD_NO_OP_BASE_IDX 1
551#define mmUVD_RB_BASE_LO 0x00aa
552#define mmUVD_RB_BASE_LO_BASE_IDX 1
553#define mmUVD_RB_BASE_HI 0x00ab
554#define mmUVD_RB_BASE_HI_BASE_IDX 1
555#define mmUVD_RB_SIZE 0x00ac
556#define mmUVD_RB_SIZE_BASE_IDX 1
557#define mmUVD_RB_RPTR 0x00ad
558#define mmUVD_RB_RPTR_BASE_IDX 1
559#define mmUVD_RB_WPTR 0x00ae
560#define mmUVD_RB_WPTR_BASE_IDX 1
561#define mmUVD_RB_BASE_LO2 0x00af
562#define mmUVD_RB_BASE_LO2_BASE_IDX 1
563#define mmUVD_RB_BASE_HI2 0x00b0
564#define mmUVD_RB_BASE_HI2_BASE_IDX 1
565#define mmUVD_RB_SIZE2 0x00b1
566#define mmUVD_RB_SIZE2_BASE_IDX 1
567#define mmUVD_RB_RPTR2 0x00b2
568#define mmUVD_RB_RPTR2_BASE_IDX 1
569#define mmUVD_RB_WPTR2 0x00b3
570#define mmUVD_RB_WPTR2_BASE_IDX 1
571#define mmUVD_RB_BASE_LO3 0x00b4
572#define mmUVD_RB_BASE_LO3_BASE_IDX 1
573#define mmUVD_RB_BASE_HI3 0x00b5
574#define mmUVD_RB_BASE_HI3_BASE_IDX 1
575#define mmUVD_RB_SIZE3 0x00b6
576#define mmUVD_RB_SIZE3_BASE_IDX 1
577#define mmUVD_RB_RPTR3 0x00b7
578#define mmUVD_RB_RPTR3_BASE_IDX 1
579#define mmUVD_RB_WPTR3 0x00b8
580#define mmUVD_RB_WPTR3_BASE_IDX 1
581#define mmUVD_RB_BASE_LO4 0x00b9
582#define mmUVD_RB_BASE_LO4_BASE_IDX 1
583#define mmUVD_RB_BASE_HI4 0x00ba
584#define mmUVD_RB_BASE_HI4_BASE_IDX 1
585#define mmUVD_RB_SIZE4 0x00bb
586#define mmUVD_RB_SIZE4_BASE_IDX 1
587#define mmUVD_RB_RPTR4 0x00bc
588#define mmUVD_RB_RPTR4_BASE_IDX 1
589#define mmUVD_RB_WPTR4 0x00bd
590#define mmUVD_RB_WPTR4_BASE_IDX 1
591#define mmUVD_OUT_RB_BASE_LO 0x00be
592#define mmUVD_OUT_RB_BASE_LO_BASE_IDX 1
593#define mmUVD_OUT_RB_BASE_HI 0x00bf
594#define mmUVD_OUT_RB_BASE_HI_BASE_IDX 1
595#define mmUVD_OUT_RB_SIZE 0x00c0
596#define mmUVD_OUT_RB_SIZE_BASE_IDX 1
597#define mmUVD_OUT_RB_RPTR 0x00c1
598#define mmUVD_OUT_RB_RPTR_BASE_IDX 1
599#define mmUVD_OUT_RB_WPTR 0x00c2
600#define mmUVD_OUT_RB_WPTR_BASE_IDX 1
601#define mmUVD_RB_ARB_CTRL 0x00c6
602#define mmUVD_RB_ARB_CTRL_BASE_IDX 1
603#define mmUVD_CTX_INDEX 0x00c7
604#define mmUVD_CTX_INDEX_BASE_IDX 1
605#define mmUVD_CTX_DATA 0x00c8
606#define mmUVD_CTX_DATA_BASE_IDX 1
607#define mmUVD_CXW_WR 0x00c9
608#define mmUVD_CXW_WR_BASE_IDX 1
609#define mmUVD_CXW_WR_INT_ID 0x00ca
610#define mmUVD_CXW_WR_INT_ID_BASE_IDX 1
611#define mmUVD_CXW_WR_INT_CTX_ID 0x00cb
612#define mmUVD_CXW_WR_INT_CTX_ID_BASE_IDX 1
613#define mmUVD_CXW_INT_ID 0x00cc
614#define mmUVD_CXW_INT_ID_BASE_IDX 1
615#define mmUVD_TOP_CTRL 0x00cf
616#define mmUVD_TOP_CTRL_BASE_IDX 1
617#define mmUVD_YBASE 0x00d0
618#define mmUVD_YBASE_BASE_IDX 1
619#define mmUVD_UVBASE 0x00d1
620#define mmUVD_UVBASE_BASE_IDX 1
621#define mmUVD_PITCH 0x00d2
622#define mmUVD_PITCH_BASE_IDX 1
623#define mmUVD_WIDTH 0x00d3
624#define mmUVD_WIDTH_BASE_IDX 1
625#define mmUVD_HEIGHT 0x00d4
626#define mmUVD_HEIGHT_BASE_IDX 1
627#define mmUVD_PICCOUNT 0x00d5
628#define mmUVD_PICCOUNT_BASE_IDX 1
629#define mmUVD_SCRATCH_NP 0x00db
630#define mmUVD_SCRATCH_NP_BASE_IDX 1
631#define mmUVD_VERSION 0x00dd
632#define mmUVD_VERSION_BASE_IDX 1
633#define mmUVD_GP_SCRATCH0 0x00de
634#define mmUVD_GP_SCRATCH0_BASE_IDX 1
635#define mmUVD_GP_SCRATCH1 0x00df
636#define mmUVD_GP_SCRATCH1_BASE_IDX 1
637#define mmUVD_GP_SCRATCH2 0x00e0
638#define mmUVD_GP_SCRATCH2_BASE_IDX 1
639#define mmUVD_GP_SCRATCH3 0x00e1
640#define mmUVD_GP_SCRATCH3_BASE_IDX 1
641#define mmUVD_GP_SCRATCH4 0x00e2
642#define mmUVD_GP_SCRATCH4_BASE_IDX 1
643#define mmUVD_GP_SCRATCH5 0x00e3
644#define mmUVD_GP_SCRATCH5_BASE_IDX 1
645#define mmUVD_GP_SCRATCH6 0x00e4
646#define mmUVD_GP_SCRATCH6_BASE_IDX 1
647#define mmUVD_GP_SCRATCH7 0x00e5
648#define mmUVD_GP_SCRATCH7_BASE_IDX 1
649#define mmUVD_GP_SCRATCH8 0x00e6
650#define mmUVD_GP_SCRATCH8_BASE_IDX 1
651#define mmUVD_GP_SCRATCH9 0x00e7
652#define mmUVD_GP_SCRATCH9_BASE_IDX 1
653#define mmUVD_GP_SCRATCH10 0x00e8
654#define mmUVD_GP_SCRATCH10_BASE_IDX 1
655#define mmUVD_GP_SCRATCH11 0x00e9
656#define mmUVD_GP_SCRATCH11_BASE_IDX 1
657#define mmUVD_GP_SCRATCH12 0x00ea
658#define mmUVD_GP_SCRATCH12_BASE_IDX 1
659#define mmUVD_GP_SCRATCH13 0x00eb
660#define mmUVD_GP_SCRATCH13_BASE_IDX 1
661#define mmUVD_GP_SCRATCH14 0x00ec
662#define mmUVD_GP_SCRATCH14_BASE_IDX 1
663#define mmUVD_GP_SCRATCH15 0x00ed
664#define mmUVD_GP_SCRATCH15_BASE_IDX 1
665#define mmUVD_GP_SCRATCH16 0x00ee
666#define mmUVD_GP_SCRATCH16_BASE_IDX 1
667#define mmUVD_GP_SCRATCH17 0x00ef
668#define mmUVD_GP_SCRATCH17_BASE_IDX 1
669#define mmUVD_GP_SCRATCH18 0x00f0
670#define mmUVD_GP_SCRATCH18_BASE_IDX 1
671#define mmUVD_GP_SCRATCH19 0x00f1
672#define mmUVD_GP_SCRATCH19_BASE_IDX 1
673#define mmUVD_GP_SCRATCH20 0x00f2
674#define mmUVD_GP_SCRATCH20_BASE_IDX 1
675#define mmUVD_GP_SCRATCH21 0x00f3
676#define mmUVD_GP_SCRATCH21_BASE_IDX 1
677#define mmUVD_GP_SCRATCH22 0x00f4
678#define mmUVD_GP_SCRATCH22_BASE_IDX 1
679#define mmUVD_GP_SCRATCH23 0x00f5
680#define mmUVD_GP_SCRATCH23_BASE_IDX 1
681
682
683// addressBlock: uvd0_ecpudec
684// base address: 0x1fd00
685#define mmUVD_VCPU_CACHE_OFFSET0 0x0140
686#define mmUVD_VCPU_CACHE_OFFSET0_BASE_IDX 1
687#define mmUVD_VCPU_CACHE_SIZE0 0x0141
688#define mmUVD_VCPU_CACHE_SIZE0_BASE_IDX 1
689#define mmUVD_VCPU_CACHE_OFFSET1 0x0142
690#define mmUVD_VCPU_CACHE_OFFSET1_BASE_IDX 1
691#define mmUVD_VCPU_CACHE_SIZE1 0x0143
692#define mmUVD_VCPU_CACHE_SIZE1_BASE_IDX 1
693#define mmUVD_VCPU_CACHE_OFFSET2 0x0144
694#define mmUVD_VCPU_CACHE_OFFSET2_BASE_IDX 1
695#define mmUVD_VCPU_CACHE_SIZE2 0x0145
696#define mmUVD_VCPU_CACHE_SIZE2_BASE_IDX 1
697#define mmUVD_VCPU_CACHE_OFFSET3 0x0146
698#define mmUVD_VCPU_CACHE_OFFSET3_BASE_IDX 1
699#define mmUVD_VCPU_CACHE_SIZE3 0x0147
700#define mmUVD_VCPU_CACHE_SIZE3_BASE_IDX 1
701#define mmUVD_VCPU_CACHE_OFFSET4 0x0148
702#define mmUVD_VCPU_CACHE_OFFSET4_BASE_IDX 1
703#define mmUVD_VCPU_CACHE_SIZE4 0x0149
704#define mmUVD_VCPU_CACHE_SIZE4_BASE_IDX 1
705#define mmUVD_VCPU_CACHE_OFFSET5 0x014a
706#define mmUVD_VCPU_CACHE_OFFSET5_BASE_IDX 1
707#define mmUVD_VCPU_CACHE_SIZE5 0x014b
708#define mmUVD_VCPU_CACHE_SIZE5_BASE_IDX 1
709#define mmUVD_VCPU_CACHE_OFFSET6 0x014c
710#define mmUVD_VCPU_CACHE_OFFSET6_BASE_IDX 1
711#define mmUVD_VCPU_CACHE_SIZE6 0x014d
712#define mmUVD_VCPU_CACHE_SIZE6_BASE_IDX 1
713#define mmUVD_VCPU_CACHE_OFFSET7 0x014e
714#define mmUVD_VCPU_CACHE_OFFSET7_BASE_IDX 1
715#define mmUVD_VCPU_CACHE_SIZE7 0x014f
716#define mmUVD_VCPU_CACHE_SIZE7_BASE_IDX 1
717#define mmUVD_VCPU_CACHE_OFFSET8 0x0150
718#define mmUVD_VCPU_CACHE_OFFSET8_BASE_IDX 1
719#define mmUVD_VCPU_CACHE_SIZE8 0x0151
720#define mmUVD_VCPU_CACHE_SIZE8_BASE_IDX 1
721#define mmUVD_VCPU_NONCACHE_OFFSET0 0x0152
722#define mmUVD_VCPU_NONCACHE_OFFSET0_BASE_IDX 1
723#define mmUVD_VCPU_NONCACHE_SIZE0 0x0153
724#define mmUVD_VCPU_NONCACHE_SIZE0_BASE_IDX 1
725#define mmUVD_VCPU_NONCACHE_OFFSET1 0x0154
726#define mmUVD_VCPU_NONCACHE_OFFSET1_BASE_IDX 1
727#define mmUVD_VCPU_NONCACHE_SIZE1 0x0155
728#define mmUVD_VCPU_NONCACHE_SIZE1_BASE_IDX 1
729#define mmUVD_VCPU_CNTL 0x0156
730#define mmUVD_VCPU_CNTL_BASE_IDX 1
731#define mmUVD_VCPU_PRID 0x0157
732#define mmUVD_VCPU_PRID_BASE_IDX 1
733#define mmUVD_VCPU_TRCE 0x0158
734#define mmUVD_VCPU_TRCE_BASE_IDX 1
735#define mmUVD_VCPU_TRCE_RD 0x0159
736#define mmUVD_VCPU_TRCE_RD_BASE_IDX 1
737
738
739// addressBlock: uvd0_uvd_mpcdec
740// base address: 0x20310
741#define mmUVD_MP_SWAP_CNTL 0x02c4
742#define mmUVD_MP_SWAP_CNTL_BASE_IDX 1
743#define mmUVD_MP_SWAP_CNTL2 0x02c5
744#define mmUVD_MP_SWAP_CNTL2_BASE_IDX 1
745#define mmUVD_MPC_LUMA_SRCH 0x02c6
746#define mmUVD_MPC_LUMA_SRCH_BASE_IDX 1
747#define mmUVD_MPC_LUMA_HIT 0x02c7
748#define mmUVD_MPC_LUMA_HIT_BASE_IDX 1
749#define mmUVD_MPC_LUMA_HITPEND 0x02c8
750#define mmUVD_MPC_LUMA_HITPEND_BASE_IDX 1
751#define mmUVD_MPC_CHROMA_SRCH 0x02c9
752#define mmUVD_MPC_CHROMA_SRCH_BASE_IDX 1
753#define mmUVD_MPC_CHROMA_HIT 0x02ca
754#define mmUVD_MPC_CHROMA_HIT_BASE_IDX 1
755#define mmUVD_MPC_CHROMA_HITPEND 0x02cb
756#define mmUVD_MPC_CHROMA_HITPEND_BASE_IDX 1
757#define mmUVD_MPC_CNTL 0x02cc
758#define mmUVD_MPC_CNTL_BASE_IDX 1
759#define mmUVD_MPC_PITCH 0x02cd
760#define mmUVD_MPC_PITCH_BASE_IDX 1
761#define mmUVD_MPC_SET_MUXA0 0x02ce
762#define mmUVD_MPC_SET_MUXA0_BASE_IDX 1
763#define mmUVD_MPC_SET_MUXA1 0x02cf
764#define mmUVD_MPC_SET_MUXA1_BASE_IDX 1
765#define mmUVD_MPC_SET_MUXB0 0x02d0
766#define mmUVD_MPC_SET_MUXB0_BASE_IDX 1
767#define mmUVD_MPC_SET_MUXB1 0x02d1
768#define mmUVD_MPC_SET_MUXB1_BASE_IDX 1
769#define mmUVD_MPC_SET_MUX 0x02d2
770#define mmUVD_MPC_SET_MUX_BASE_IDX 1
771#define mmUVD_MPC_SET_ALU 0x02d3
772#define mmUVD_MPC_SET_ALU_BASE_IDX 1
773#define mmUVD_MPC_PERF0 0x02d4
774#define mmUVD_MPC_PERF0_BASE_IDX 1
775#define mmUVD_MPC_PERF1 0x02d5
776#define mmUVD_MPC_PERF1_BASE_IDX 1
777
778
779// addressBlock: uvd0_uvd_rbcdec
780// base address: 0x20370
781#define mmUVD_RBC_IB_SIZE 0x02dc
782#define mmUVD_RBC_IB_SIZE_BASE_IDX 1
783#define mmUVD_RBC_IB_SIZE_UPDATE 0x02dd
784#define mmUVD_RBC_IB_SIZE_UPDATE_BASE_IDX 1
785#define mmUVD_RBC_RB_CNTL 0x02de
786#define mmUVD_RBC_RB_CNTL_BASE_IDX 1
787#define mmUVD_RBC_RB_RPTR_ADDR 0x02df
788#define mmUVD_RBC_RB_RPTR_ADDR_BASE_IDX 1
789#define mmUVD_RBC_RB_RPTR 0x02e0
790#define mmUVD_RBC_RB_RPTR_BASE_IDX 1
791#define mmUVD_RBC_RB_WPTR 0x02e1
792#define mmUVD_RBC_RB_WPTR_BASE_IDX 1
793#define mmUVD_RBC_VCPU_ACCESS 0x02e2
794#define mmUVD_RBC_VCPU_ACCESS_BASE_IDX 1
795#define mmUVD_RBC_READ_REQ_URGENT_CNTL 0x02e5
796#define mmUVD_RBC_READ_REQ_URGENT_CNTL_BASE_IDX 1
797#define mmUVD_RBC_RB_WPTR_CNTL 0x02e6
798#define mmUVD_RBC_RB_WPTR_CNTL_BASE_IDX 1
799#define mmUVD_RBC_WPTR_STATUS 0x02e7
800#define mmUVD_RBC_WPTR_STATUS_BASE_IDX 1
801#define mmUVD_RBC_WPTR_POLL_CNTL 0x02e8
802#define mmUVD_RBC_WPTR_POLL_CNTL_BASE_IDX 1
803#define mmUVD_RBC_WPTR_POLL_ADDR 0x02e9
804#define mmUVD_RBC_WPTR_POLL_ADDR_BASE_IDX 1
805#define mmUVD_SEMA_CMD 0x02ea
806#define mmUVD_SEMA_CMD_BASE_IDX 1
807#define mmUVD_SEMA_ADDR_LOW 0x02eb
808#define mmUVD_SEMA_ADDR_LOW_BASE_IDX 1
809#define mmUVD_SEMA_ADDR_HIGH 0x02ec
810#define mmUVD_SEMA_ADDR_HIGH_BASE_IDX 1
811#define mmUVD_ENGINE_CNTL 0x02ed
812#define mmUVD_ENGINE_CNTL_BASE_IDX 1
813#define mmUVD_SEMA_TIMEOUT_STATUS 0x02ee
814#define mmUVD_SEMA_TIMEOUT_STATUS_BASE_IDX 1
815#define mmUVD_SEMA_CNTL 0x02ef
816#define mmUVD_SEMA_CNTL_BASE_IDX 1
817#define mmUVD_SEMA_SIGNAL_INCOMPLETE_TIMEOUT_CNTL 0x02f0
818#define mmUVD_SEMA_SIGNAL_INCOMPLETE_TIMEOUT_CNTL_BASE_IDX 1
819#define mmUVD_SEMA_WAIT_FAULT_TIMEOUT_CNTL 0x02f1
820#define mmUVD_SEMA_WAIT_FAULT_TIMEOUT_CNTL_BASE_IDX 1
821#define mmUVD_SEMA_WAIT_INCOMPLETE_TIMEOUT_CNTL 0x02f2
822#define mmUVD_SEMA_WAIT_INCOMPLETE_TIMEOUT_CNTL_BASE_IDX 1
823#define mmUVD_JOB_START 0x02f3
824#define mmUVD_JOB_START_BASE_IDX 1
825#define mmUVD_RBC_BUF_STATUS 0x02f4
826#define mmUVD_RBC_BUF_STATUS_BASE_IDX 1
827
828
829// addressBlock: uvd0_uvdgendec
830// base address: 0x20470
831#define mmUVD_LCM_CGC_CNTRL 0x033f
832#define mmUVD_LCM_CGC_CNTRL_BASE_IDX 1
833#define mmUVD_MIF_CURR_UV_ADDR_CONFIG 0x03a0
834#define mmUVD_MIF_CURR_UV_ADDR_CONFIG_BASE_IDX 1
835#define mmUVD_MIF_REF_UV_ADDR_CONFIG 0x03a1
836#define mmUVD_MIF_REF_UV_ADDR_CONFIG_BASE_IDX 1
837#define mmUVD_MIF_RECON1_UV_ADDR_CONFIG 0x03a2
838#define mmUVD_MIF_RECON1_UV_ADDR_CONFIG_BASE_IDX 1
839#define mmUVD_MIF_CURR_ADDR_CONFIG 0x03ae
840#define mmUVD_MIF_CURR_ADDR_CONFIG_BASE_IDX 1
841#define mmUVD_MIF_REF_ADDR_CONFIG 0x03af
842#define mmUVD_MIF_REF_ADDR_CONFIG_BASE_IDX 1
843#define mmUVD_MIF_RECON1_ADDR_CONFIG 0x03e1
844#define mmUVD_MIF_RECON1_ADDR_CONFIG_BASE_IDX 1
845
846
847// addressBlock: uvd0_lmi_adpdec
848// base address: 0x20870
849#define mmUVD_LMI_RBC_RB_64BIT_BAR_LOW 0x0432
850#define mmUVD_LMI_RBC_RB_64BIT_BAR_LOW_BASE_IDX 1
851#define mmUVD_LMI_RBC_RB_64BIT_BAR_HIGH 0x0433
852#define mmUVD_LMI_RBC_RB_64BIT_BAR_HIGH_BASE_IDX 1
853#define mmUVD_LMI_RBC_IB_64BIT_BAR_LOW 0x0434
854#define mmUVD_LMI_RBC_IB_64BIT_BAR_LOW_BASE_IDX 1
855#define mmUVD_LMI_RBC_IB_64BIT_BAR_HIGH 0x0435
856#define mmUVD_LMI_RBC_IB_64BIT_BAR_HIGH_BASE_IDX 1
857#define mmUVD_LMI_VCPU_NC0_64BIT_BAR_LOW 0x0438
858#define mmUVD_LMI_VCPU_NC0_64BIT_BAR_LOW_BASE_IDX 1
859#define mmUVD_LMI_VCPU_NC0_64BIT_BAR_HIGH 0x0439
860#define mmUVD_LMI_VCPU_NC0_64BIT_BAR_HIGH_BASE_IDX 1
861#define mmUVD_LMI_VCPU_NC1_64BIT_BAR_LOW 0x043a
862#define mmUVD_LMI_VCPU_NC1_64BIT_BAR_LOW_BASE_IDX 1
863#define mmUVD_LMI_VCPU_NC1_64BIT_BAR_HIGH 0x043b
864#define mmUVD_LMI_VCPU_NC1_64BIT_BAR_HIGH_BASE_IDX 1
865#define mmUVD_LMI_VCPU_CACHE_64BIT_BAR_LOW 0x043c
866#define mmUVD_LMI_VCPU_CACHE_64BIT_BAR_LOW_BASE_IDX 1
867#define mmUVD_LMI_VCPU_CACHE_64BIT_BAR_HIGH 0x043d
868#define mmUVD_LMI_VCPU_CACHE_64BIT_BAR_HIGH_BASE_IDX 1
869#define mmUVD_LMI_VCPU_CACHE1_64BIT_BAR_LOW 0x0468
870#define mmUVD_LMI_VCPU_CACHE1_64BIT_BAR_LOW_BASE_IDX 1
871#define mmUVD_LMI_VCPU_CACHE1_64BIT_BAR_HIGH 0x0469
872#define mmUVD_LMI_VCPU_CACHE1_64BIT_BAR_HIGH_BASE_IDX 1
873#define mmUVD_LMI_VCPU_CACHE8_64BIT_BAR_LOW 0x046a
874#define mmUVD_LMI_VCPU_CACHE8_64BIT_BAR_LOW_BASE_IDX 1
875#define mmUVD_LMI_VCPU_CACHE8_64BIT_BAR_HIGH 0x046b
876#define mmUVD_LMI_VCPU_CACHE8_64BIT_BAR_HIGH_BASE_IDX 1
877#define mmUVD_LMI_VCPU_CACHE2_64BIT_BAR_LOW 0x046c
878#define mmUVD_LMI_VCPU_CACHE2_64BIT_BAR_LOW_BASE_IDX 1
879#define mmUVD_LMI_VCPU_CACHE2_64BIT_BAR_HIGH 0x046d
880#define mmUVD_LMI_VCPU_CACHE2_64BIT_BAR_HIGH_BASE_IDX 1
881#define mmUVD_LMI_VCPU_CACHE3_64BIT_BAR_LOW 0x046e
882#define mmUVD_LMI_VCPU_CACHE3_64BIT_BAR_LOW_BASE_IDX 1
883#define mmUVD_LMI_VCPU_CACHE3_64BIT_BAR_HIGH 0x046f
884#define mmUVD_LMI_VCPU_CACHE3_64BIT_BAR_HIGH_BASE_IDX 1
885#define mmUVD_LMI_VCPU_CACHE4_64BIT_BAR_LOW 0x0470
886#define mmUVD_LMI_VCPU_CACHE4_64BIT_BAR_LOW_BASE_IDX 1
887#define mmUVD_LMI_VCPU_CACHE4_64BIT_BAR_HIGH 0x0471
888#define mmUVD_LMI_VCPU_CACHE4_64BIT_BAR_HIGH_BASE_IDX 1
889#define mmUVD_LMI_VCPU_CACHE5_64BIT_BAR_LOW 0x0472
890#define mmUVD_LMI_VCPU_CACHE5_64BIT_BAR_LOW_BASE_IDX 1
891#define mmUVD_LMI_VCPU_CACHE5_64BIT_BAR_HIGH 0x0473
892#define mmUVD_LMI_VCPU_CACHE5_64BIT_BAR_HIGH_BASE_IDX 1
893#define mmUVD_LMI_VCPU_CACHE6_64BIT_BAR_LOW 0x0474
894#define mmUVD_LMI_VCPU_CACHE6_64BIT_BAR_LOW_BASE_IDX 1
895#define mmUVD_LMI_VCPU_CACHE6_64BIT_BAR_HIGH 0x0475
896#define mmUVD_LMI_VCPU_CACHE6_64BIT_BAR_HIGH_BASE_IDX 1
897#define mmUVD_LMI_VCPU_CACHE7_64BIT_BAR_LOW 0x0476
898#define mmUVD_LMI_VCPU_CACHE7_64BIT_BAR_LOW_BASE_IDX 1
899#define mmUVD_LMI_VCPU_CACHE7_64BIT_BAR_HIGH 0x0477
900#define mmUVD_LMI_VCPU_CACHE7_64BIT_BAR_HIGH_BASE_IDX 1
901#define mmUVD_LMI_SPH_64BIT_BAR_HIGH 0x047c
902#define mmUVD_LMI_SPH_64BIT_BAR_HIGH_BASE_IDX 1
903#define mmUVD_LMI_MMSCH_NC0_64BIT_BAR_LOW 0x047d
904#define mmUVD_LMI_MMSCH_NC0_64BIT_BAR_LOW_BASE_IDX 1
905#define mmUVD_LMI_MMSCH_NC0_64BIT_BAR_HIGH 0x047e
906#define mmUVD_LMI_MMSCH_NC0_64BIT_BAR_HIGH_BASE_IDX 1
907#define mmUVD_LMI_MMSCH_NC1_64BIT_BAR_LOW 0x047f
908#define mmUVD_LMI_MMSCH_NC1_64BIT_BAR_LOW_BASE_IDX 1
909#define mmUVD_LMI_MMSCH_NC1_64BIT_BAR_HIGH 0x0480
910#define mmUVD_LMI_MMSCH_NC1_64BIT_BAR_HIGH_BASE_IDX 1
911#define mmUVD_LMI_MMSCH_NC2_64BIT_BAR_LOW 0x0481
912#define mmUVD_LMI_MMSCH_NC2_64BIT_BAR_LOW_BASE_IDX 1
913#define mmUVD_LMI_MMSCH_NC2_64BIT_BAR_HIGH 0x0482
914#define mmUVD_LMI_MMSCH_NC2_64BIT_BAR_HIGH_BASE_IDX 1
915#define mmUVD_LMI_MMSCH_NC3_64BIT_BAR_LOW 0x0483
916#define mmUVD_LMI_MMSCH_NC3_64BIT_BAR_LOW_BASE_IDX 1
917#define mmUVD_LMI_MMSCH_NC3_64BIT_BAR_HIGH 0x0484
918#define mmUVD_LMI_MMSCH_NC3_64BIT_BAR_HIGH_BASE_IDX 1
919#define mmUVD_LMI_MMSCH_NC4_64BIT_BAR_LOW 0x0485
920#define mmUVD_LMI_MMSCH_NC4_64BIT_BAR_LOW_BASE_IDX 1
921#define mmUVD_LMI_MMSCH_NC4_64BIT_BAR_HIGH 0x0486
922#define mmUVD_LMI_MMSCH_NC4_64BIT_BAR_HIGH_BASE_IDX 1
923#define mmUVD_LMI_MMSCH_NC5_64BIT_BAR_LOW 0x0487
924#define mmUVD_LMI_MMSCH_NC5_64BIT_BAR_LOW_BASE_IDX 1
925#define mmUVD_LMI_MMSCH_NC5_64BIT_BAR_HIGH 0x0488
926#define mmUVD_LMI_MMSCH_NC5_64BIT_BAR_HIGH_BASE_IDX 1
927#define mmUVD_LMI_MMSCH_NC6_64BIT_BAR_LOW 0x0489
928#define mmUVD_LMI_MMSCH_NC6_64BIT_BAR_LOW_BASE_IDX 1
929#define mmUVD_LMI_MMSCH_NC6_64BIT_BAR_HIGH 0x048a
930#define mmUVD_LMI_MMSCH_NC6_64BIT_BAR_HIGH_BASE_IDX 1
931#define mmUVD_LMI_MMSCH_NC7_64BIT_BAR_LOW 0x048b
932#define mmUVD_LMI_MMSCH_NC7_64BIT_BAR_LOW_BASE_IDX 1
933#define mmUVD_LMI_MMSCH_NC7_64BIT_BAR_HIGH 0x048c
934#define mmUVD_LMI_MMSCH_NC7_64BIT_BAR_HIGH_BASE_IDX 1
935#define mmUVD_LMI_MMSCH_NC_VMID 0x048d
936#define mmUVD_LMI_MMSCH_NC_VMID_BASE_IDX 1
937#define mmUVD_LMI_MMSCH_CTRL 0x048e
938#define mmUVD_LMI_MMSCH_CTRL_BASE_IDX 1
939#define mmUVD_LMI_ARB_CTRL2 0x049a
940#define mmUVD_LMI_ARB_CTRL2_BASE_IDX 1
941#define mmUVD_LMI_VCPU_CACHE_VMIDS_MULTI 0x049f
942#define mmUVD_LMI_VCPU_CACHE_VMIDS_MULTI_BASE_IDX 1
943#define mmUVD_LMI_VCPU_NC_VMIDS_MULTI 0x04a0
944#define mmUVD_LMI_VCPU_NC_VMIDS_MULTI_BASE_IDX 1
945#define mmUVD_LMI_LAT_CTRL 0x04a1
946#define mmUVD_LMI_LAT_CTRL_BASE_IDX 1
947#define mmUVD_LMI_LAT_CNTR 0x04a2
948#define mmUVD_LMI_LAT_CNTR_BASE_IDX 1
949#define mmUVD_LMI_AVG_LAT_CNTR 0x04a3
950#define mmUVD_LMI_AVG_LAT_CNTR_BASE_IDX 1
951#define mmUVD_LMI_SPH 0x04a4
952#define mmUVD_LMI_SPH_BASE_IDX 1
953#define mmUVD_LMI_VCPU_CACHE_VMID 0x04a5
954#define mmUVD_LMI_VCPU_CACHE_VMID_BASE_IDX 1
955#define mmUVD_LMI_CTRL2 0x04a6
956#define mmUVD_LMI_CTRL2_BASE_IDX 1
957#define mmUVD_LMI_URGENT_CTRL 0x04a7
958#define mmUVD_LMI_URGENT_CTRL_BASE_IDX 1
959#define mmUVD_LMI_CTRL 0x04a8
960#define mmUVD_LMI_CTRL_BASE_IDX 1
961#define mmUVD_LMI_STATUS 0x04a9
962#define mmUVD_LMI_STATUS_BASE_IDX 1
963#define mmUVD_LMI_PERFMON_CTRL 0x04ac
964#define mmUVD_LMI_PERFMON_CTRL_BASE_IDX 1
965#define mmUVD_LMI_PERFMON_COUNT_LO 0x04ad
966#define mmUVD_LMI_PERFMON_COUNT_LO_BASE_IDX 1
967#define mmUVD_LMI_PERFMON_COUNT_HI 0x04ae
968#define mmUVD_LMI_PERFMON_COUNT_HI_BASE_IDX 1
969#define mmUVD_LMI_RBC_RB_VMID 0x04b0
970#define mmUVD_LMI_RBC_RB_VMID_BASE_IDX 1
971#define mmUVD_LMI_RBC_IB_VMID 0x04b1
972#define mmUVD_LMI_RBC_IB_VMID_BASE_IDX 1
973#define mmUVD_LMI_MC_CREDITS 0x04b2
974#define mmUVD_LMI_MC_CREDITS_BASE_IDX 1
975
976
977// addressBlock: uvd0_uvdnpdec
978// base address: 0x20bd0
979#define mmMDM_DMA_CMD 0x06f4
980#define mmMDM_DMA_CMD_BASE_IDX 1
981#define mmMDM_DMA_STATUS 0x06f5
982#define mmMDM_DMA_STATUS_BASE_IDX 1
983#define mmMDM_DMA_CTL 0x06f6
984#define mmMDM_DMA_CTL_BASE_IDX 1
985#define mmMDM_ENC_PIPE_BUSY 0x06f7
986#define mmMDM_ENC_PIPE_BUSY_BASE_IDX 1
987#define mmMDM_WIG_PIPE_BUSY 0x06f9
988#define mmMDM_WIG_PIPE_BUSY_BASE_IDX 1
989
990
991/* VCN 2_6_0 regs */
992#define mmUVD_RAS_VCPU_VCODEC_STATUS 0x0057
993#define mmUVD_RAS_VCPU_VCODEC_STATUS_BASE_IDX 1
994#define mmUVD_RAS_MMSCH_FATAL_ERROR 0x0058
995#define mmUVD_RAS_MMSCH_FATAL_ERROR_BASE_IDX 1
996#define mmVCN_RAS_CNTL 0x04b9
997#define mmVCN_RAS_CNTL_BASE_IDX 1
998
999/* JPEG 2_6_0 regs */
1000#define mmUVD_RAS_JPEG0_STATUS 0x0059
1001#define mmUVD_RAS_JPEG0_STATUS_BASE_IDX 1
1002#define mmUVD_RAS_JPEG1_STATUS 0x005a
1003#define mmUVD_RAS_JPEG1_STATUS_BASE_IDX 1
1004
1005#endif
1006

source code of linux/drivers/gpu/drm/amd/include/asic_reg/vcn/vcn_2_5_offset.h