1*b843c749SSergey Zigachev /* 2*b843c749SSergey Zigachev * Copyright (C) 2017 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 #ifndef _uvd_7_0_OFFSET_HEADER 22*b843c749SSergey Zigachev #define _uvd_7_0_OFFSET_HEADER 23*b843c749SSergey Zigachev 24*b843c749SSergey Zigachev 25*b843c749SSergey Zigachev 26*b843c749SSergey Zigachev // addressBlock: uvd0_uvd_pg_dec 27*b843c749SSergey Zigachev // base address: 0x1fb00 28*b843c749SSergey Zigachev #define mmUVD_POWER_STATUS 0x00c4 29*b843c749SSergey Zigachev #define mmUVD_POWER_STATUS_BASE_IDX 1 30*b843c749SSergey Zigachev #define mmUVD_DPG_RBC_RB_CNTL 0x00cb 31*b843c749SSergey Zigachev #define mmUVD_DPG_RBC_RB_CNTL_BASE_IDX 1 32*b843c749SSergey Zigachev #define mmUVD_DPG_RBC_RB_BASE_LOW 0x00cc 33*b843c749SSergey Zigachev #define mmUVD_DPG_RBC_RB_BASE_LOW_BASE_IDX 1 34*b843c749SSergey Zigachev #define mmUVD_DPG_RBC_RB_BASE_HIGH 0x00cd 35*b843c749SSergey Zigachev #define mmUVD_DPG_RBC_RB_BASE_HIGH_BASE_IDX 1 36*b843c749SSergey Zigachev #define mmUVD_DPG_RBC_RB_WPTR_CNTL 0x00ce 37*b843c749SSergey Zigachev #define mmUVD_DPG_RBC_RB_WPTR_CNTL_BASE_IDX 1 38*b843c749SSergey Zigachev #define mmUVD_DPG_RBC_RB_RPTR 0x00cf 39*b843c749SSergey Zigachev #define mmUVD_DPG_RBC_RB_RPTR_BASE_IDX 1 40*b843c749SSergey Zigachev #define mmUVD_DPG_RBC_RB_WPTR 0x00d0 41*b843c749SSergey Zigachev #define mmUVD_DPG_RBC_RB_WPTR_BASE_IDX 1 42*b843c749SSergey Zigachev #define mmUVD_DPG_LMI_VCPU_CACHE_64BIT_BAR_LOW 0x00e5 43*b843c749SSergey Zigachev #define mmUVD_DPG_LMI_VCPU_CACHE_64BIT_BAR_LOW_BASE_IDX 1 44*b843c749SSergey Zigachev #define mmUVD_DPG_LMI_VCPU_CACHE_64BIT_BAR_HIGH 0x00e6 45*b843c749SSergey Zigachev #define mmUVD_DPG_LMI_VCPU_CACHE_64BIT_BAR_HIGH_BASE_IDX 1 46*b843c749SSergey Zigachev #define mmUVD_DPG_VCPU_CACHE_OFFSET0 0x00e7 47*b843c749SSergey Zigachev #define mmUVD_DPG_VCPU_CACHE_OFFSET0_BASE_IDX 1 48*b843c749SSergey Zigachev 49*b843c749SSergey Zigachev 50*b843c749SSergey Zigachev // addressBlock: uvd0_uvdnpdec 51*b843c749SSergey Zigachev // base address: 0x20000 52*b843c749SSergey Zigachev #define mmUVD_JPEG_ADDR_CONFIG 0x021f 53*b843c749SSergey Zigachev #define mmUVD_JPEG_ADDR_CONFIG_BASE_IDX 1 54*b843c749SSergey Zigachev #define mmUVD_GPCOM_VCPU_CMD 0x03c3 55*b843c749SSergey Zigachev #define mmUVD_GPCOM_VCPU_CMD_BASE_IDX 1 56*b843c749SSergey Zigachev #define mmUVD_GPCOM_VCPU_DATA0 0x03c4 57*b843c749SSergey Zigachev #define mmUVD_GPCOM_VCPU_DATA0_BASE_IDX 1 58*b843c749SSergey Zigachev #define mmUVD_GPCOM_VCPU_DATA1 0x03c5 59*b843c749SSergey Zigachev #define mmUVD_GPCOM_VCPU_DATA1_BASE_IDX 1 60*b843c749SSergey Zigachev #define mmUVD_UDEC_ADDR_CONFIG 0x03d3 61*b843c749SSergey Zigachev #define mmUVD_UDEC_ADDR_CONFIG_BASE_IDX 1 62*b843c749SSergey Zigachev #define mmUVD_UDEC_DB_ADDR_CONFIG 0x03d4 63*b843c749SSergey Zigachev #define mmUVD_UDEC_DB_ADDR_CONFIG_BASE_IDX 1 64*b843c749SSergey Zigachev #define mmUVD_UDEC_DBW_ADDR_CONFIG 0x03d5 65*b843c749SSergey Zigachev #define mmUVD_UDEC_DBW_ADDR_CONFIG_BASE_IDX 1 66*b843c749SSergey Zigachev #define mmUVD_SUVD_CGC_GATE 0x03e4 67*b843c749SSergey Zigachev #define mmUVD_SUVD_CGC_GATE_BASE_IDX 1 68*b843c749SSergey Zigachev #define mmUVD_SUVD_CGC_CTRL 0x03e6 69*b843c749SSergey Zigachev #define mmUVD_SUVD_CGC_CTRL_BASE_IDX 1 70*b843c749SSergey Zigachev #define mmUVD_LMI_VCPU_CACHE1_64BIT_BAR_LOW 0x03ec 71*b843c749SSergey Zigachev #define mmUVD_LMI_VCPU_CACHE1_64BIT_BAR_LOW_BASE_IDX 1 72*b843c749SSergey Zigachev #define mmUVD_LMI_VCPU_CACHE1_64BIT_BAR_HIGH 0x03ed 73*b843c749SSergey Zigachev #define mmUVD_LMI_VCPU_CACHE1_64BIT_BAR_HIGH_BASE_IDX 1 74*b843c749SSergey Zigachev #define mmUVD_LMI_VCPU_CACHE2_64BIT_BAR_LOW 0x03f0 75*b843c749SSergey Zigachev #define mmUVD_LMI_VCPU_CACHE2_64BIT_BAR_LOW_BASE_IDX 1 76*b843c749SSergey Zigachev #define mmUVD_LMI_VCPU_CACHE2_64BIT_BAR_HIGH 0x03f1 77*b843c749SSergey Zigachev #define mmUVD_LMI_VCPU_CACHE2_64BIT_BAR_HIGH_BASE_IDX 1 78*b843c749SSergey Zigachev #define mmUVD_POWER_STATUS_U 0x03fd 79*b843c749SSergey Zigachev #define mmUVD_POWER_STATUS_U_BASE_IDX 1 80*b843c749SSergey Zigachev #define mmUVD_NO_OP 0x03ff 81*b843c749SSergey Zigachev #define mmUVD_NO_OP_BASE_IDX 1 82*b843c749SSergey Zigachev #define mmUVD_GP_SCRATCH8 0x040a 83*b843c749SSergey Zigachev #define mmUVD_GP_SCRATCH8_BASE_IDX 1 84*b843c749SSergey Zigachev #define mmUVD_RB_BASE_LO2 0x0421 85*b843c749SSergey Zigachev #define mmUVD_RB_BASE_LO2_BASE_IDX 1 86*b843c749SSergey Zigachev #define mmUVD_RB_BASE_HI2 0x0422 87*b843c749SSergey Zigachev #define mmUVD_RB_BASE_HI2_BASE_IDX 1 88*b843c749SSergey Zigachev #define mmUVD_RB_SIZE2 0x0423 89*b843c749SSergey Zigachev #define mmUVD_RB_SIZE2_BASE_IDX 1 90*b843c749SSergey Zigachev #define mmUVD_RB_RPTR2 0x0424 91*b843c749SSergey Zigachev #define mmUVD_RB_RPTR2_BASE_IDX 1 92*b843c749SSergey Zigachev #define mmUVD_RB_WPTR2 0x0425 93*b843c749SSergey Zigachev #define mmUVD_RB_WPTR2_BASE_IDX 1 94*b843c749SSergey Zigachev #define mmUVD_RB_BASE_LO 0x0426 95*b843c749SSergey Zigachev #define mmUVD_RB_BASE_LO_BASE_IDX 1 96*b843c749SSergey Zigachev #define mmUVD_RB_BASE_HI 0x0427 97*b843c749SSergey Zigachev #define mmUVD_RB_BASE_HI_BASE_IDX 1 98*b843c749SSergey Zigachev #define mmUVD_RB_SIZE 0x0428 99*b843c749SSergey Zigachev #define mmUVD_RB_SIZE_BASE_IDX 1 100*b843c749SSergey Zigachev #define mmUVD_RB_RPTR 0x0429 101*b843c749SSergey Zigachev #define mmUVD_RB_RPTR_BASE_IDX 1 102*b843c749SSergey Zigachev #define mmUVD_RB_WPTR 0x042a 103*b843c749SSergey Zigachev #define mmUVD_RB_WPTR_BASE_IDX 1 104*b843c749SSergey Zigachev #define mmUVD_JRBC_RB_RPTR 0x0457 105*b843c749SSergey Zigachev #define mmUVD_JRBC_RB_RPTR_BASE_IDX 1 106*b843c749SSergey Zigachev #define mmUVD_LMI_VCPU_CACHE_64BIT_BAR_HIGH 0x045e 107*b843c749SSergey Zigachev #define mmUVD_LMI_VCPU_CACHE_64BIT_BAR_HIGH_BASE_IDX 1 108*b843c749SSergey Zigachev #define mmUVD_LMI_VCPU_CACHE_64BIT_BAR_LOW 0x045f 109*b843c749SSergey Zigachev #define mmUVD_LMI_VCPU_CACHE_64BIT_BAR_LOW_BASE_IDX 1 110*b843c749SSergey Zigachev #define mmUVD_LMI_RBC_IB_64BIT_BAR_HIGH 0x0466 111*b843c749SSergey Zigachev #define mmUVD_LMI_RBC_IB_64BIT_BAR_HIGH_BASE_IDX 1 112*b843c749SSergey Zigachev #define mmUVD_LMI_RBC_IB_64BIT_BAR_LOW 0x0467 113*b843c749SSergey Zigachev #define mmUVD_LMI_RBC_IB_64BIT_BAR_LOW_BASE_IDX 1 114*b843c749SSergey Zigachev #define mmUVD_LMI_RBC_RB_64BIT_BAR_HIGH 0x0468 115*b843c749SSergey Zigachev #define mmUVD_LMI_RBC_RB_64BIT_BAR_HIGH_BASE_IDX 1 116*b843c749SSergey Zigachev #define mmUVD_LMI_RBC_RB_64BIT_BAR_LOW 0x0469 117*b843c749SSergey Zigachev #define mmUVD_LMI_RBC_RB_64BIT_BAR_LOW_BASE_IDX 1 118*b843c749SSergey Zigachev 119*b843c749SSergey Zigachev 120*b843c749SSergey Zigachev // addressBlock: uvd0_uvddec 121*b843c749SSergey Zigachev // base address: 0x20c00 122*b843c749SSergey Zigachev #define mmUVD_SEMA_CNTL 0x0500 123*b843c749SSergey Zigachev #define mmUVD_SEMA_CNTL_BASE_IDX 1 124*b843c749SSergey Zigachev #define mmUVD_LMI_JRBC_RB_64BIT_BAR_LOW 0x0503 125*b843c749SSergey Zigachev #define mmUVD_LMI_JRBC_RB_64BIT_BAR_LOW_BASE_IDX 1 126*b843c749SSergey Zigachev #define mmUVD_JRBC_RB_WPTR 0x0509 127*b843c749SSergey Zigachev #define mmUVD_JRBC_RB_WPTR_BASE_IDX 1 128*b843c749SSergey Zigachev #define mmUVD_RB_RPTR3 0x051b 129*b843c749SSergey Zigachev #define mmUVD_RB_RPTR3_BASE_IDX 1 130*b843c749SSergey Zigachev #define mmUVD_RB_WPTR3 0x051c 131*b843c749SSergey Zigachev #define mmUVD_RB_WPTR3_BASE_IDX 1 132*b843c749SSergey Zigachev #define mmUVD_RB_BASE_LO3 0x051d 133*b843c749SSergey Zigachev #define mmUVD_RB_BASE_LO3_BASE_IDX 1 134*b843c749SSergey Zigachev #define mmUVD_RB_BASE_HI3 0x051e 135*b843c749SSergey Zigachev #define mmUVD_RB_BASE_HI3_BASE_IDX 1 136*b843c749SSergey Zigachev #define mmUVD_RB_SIZE3 0x051f 137*b843c749SSergey Zigachev #define mmUVD_RB_SIZE3_BASE_IDX 1 138*b843c749SSergey Zigachev #define mmJPEG_CGC_GATE 0x0526 139*b843c749SSergey Zigachev #define mmJPEG_CGC_GATE_BASE_IDX 1 140*b843c749SSergey Zigachev #define mmUVD_CTX_INDEX 0x0528 141*b843c749SSergey Zigachev #define mmUVD_CTX_INDEX_BASE_IDX 1 142*b843c749SSergey Zigachev #define mmUVD_CTX_DATA 0x0529 143*b843c749SSergey Zigachev #define mmUVD_CTX_DATA_BASE_IDX 1 144*b843c749SSergey Zigachev #define mmUVD_CGC_GATE 0x052a 145*b843c749SSergey Zigachev #define mmUVD_CGC_GATE_BASE_IDX 1 146*b843c749SSergey Zigachev #define mmUVD_CGC_CTRL 0x052c 147*b843c749SSergey Zigachev #define mmUVD_CGC_CTRL_BASE_IDX 1 148*b843c749SSergey Zigachev #define mmUVD_GP_SCRATCH4 0x0538 149*b843c749SSergey Zigachev #define mmUVD_GP_SCRATCH4_BASE_IDX 1 150*b843c749SSergey Zigachev #define mmUVD_LMI_CTRL2 0x053d 151*b843c749SSergey Zigachev #define mmUVD_LMI_CTRL2_BASE_IDX 1 152*b843c749SSergey Zigachev #define mmUVD_MASTINT_EN 0x0540 153*b843c749SSergey Zigachev #define mmUVD_MASTINT_EN_BASE_IDX 1 154*b843c749SSergey Zigachev #define mmJPEG_CGC_CTRL 0x0565 155*b843c749SSergey Zigachev #define mmJPEG_CGC_CTRL_BASE_IDX 1 156*b843c749SSergey Zigachev #define mmUVD_LMI_CTRL 0x0566 157*b843c749SSergey Zigachev #define mmUVD_LMI_CTRL_BASE_IDX 1 158*b843c749SSergey Zigachev #define mmUVD_LMI_VM_CTRL 0x0568 159*b843c749SSergey Zigachev #define mmUVD_LMI_VM_CTRL_BASE_IDX 1 160*b843c749SSergey Zigachev #define mmUVD_LMI_SWAP_CNTL 0x056d 161*b843c749SSergey Zigachev #define mmUVD_LMI_SWAP_CNTL_BASE_IDX 1 162*b843c749SSergey Zigachev #define mmUVD_MP_SWAP_CNTL 0x056f 163*b843c749SSergey Zigachev #define mmUVD_MP_SWAP_CNTL_BASE_IDX 1 164*b843c749SSergey Zigachev #define mmUVD_MPC_SET_MUXA0 0x0579 165*b843c749SSergey Zigachev #define mmUVD_MPC_SET_MUXA0_BASE_IDX 1 166*b843c749SSergey Zigachev #define mmUVD_MPC_SET_MUXA1 0x057a 167*b843c749SSergey Zigachev #define mmUVD_MPC_SET_MUXA1_BASE_IDX 1 168*b843c749SSergey Zigachev #define mmUVD_MPC_SET_MUXB0 0x057b 169*b843c749SSergey Zigachev #define mmUVD_MPC_SET_MUXB0_BASE_IDX 1 170*b843c749SSergey Zigachev #define mmUVD_MPC_SET_MUXB1 0x057c 171*b843c749SSergey Zigachev #define mmUVD_MPC_SET_MUXB1_BASE_IDX 1 172*b843c749SSergey Zigachev #define mmUVD_MPC_SET_MUX 0x057d 173*b843c749SSergey Zigachev #define mmUVD_MPC_SET_MUX_BASE_IDX 1 174*b843c749SSergey Zigachev #define mmUVD_MPC_SET_ALU 0x057e 175*b843c749SSergey Zigachev #define mmUVD_MPC_SET_ALU_BASE_IDX 1 176*b843c749SSergey Zigachev #define mmUVD_VCPU_CACHE_OFFSET0 0x0582 177*b843c749SSergey Zigachev #define mmUVD_VCPU_CACHE_OFFSET0_BASE_IDX 1 178*b843c749SSergey Zigachev #define mmUVD_VCPU_CACHE_SIZE0 0x0583 179*b843c749SSergey Zigachev #define mmUVD_VCPU_CACHE_SIZE0_BASE_IDX 1 180*b843c749SSergey Zigachev #define mmUVD_VCPU_CACHE_OFFSET1 0x0584 181*b843c749SSergey Zigachev #define mmUVD_VCPU_CACHE_OFFSET1_BASE_IDX 1 182*b843c749SSergey Zigachev #define mmUVD_VCPU_CACHE_SIZE1 0x0585 183*b843c749SSergey Zigachev #define mmUVD_VCPU_CACHE_SIZE1_BASE_IDX 1 184*b843c749SSergey Zigachev #define mmUVD_VCPU_CACHE_OFFSET2 0x0586 185*b843c749SSergey Zigachev #define mmUVD_VCPU_CACHE_OFFSET2_BASE_IDX 1 186*b843c749SSergey Zigachev #define mmUVD_VCPU_CACHE_SIZE2 0x0587 187*b843c749SSergey Zigachev #define mmUVD_VCPU_CACHE_SIZE2_BASE_IDX 1 188*b843c749SSergey Zigachev #define mmUVD_VCPU_CNTL 0x0598 189*b843c749SSergey Zigachev #define mmUVD_VCPU_CNTL_BASE_IDX 1 190*b843c749SSergey Zigachev #define mmUVD_SOFT_RESET 0x05a0 191*b843c749SSergey Zigachev #define mmUVD_SOFT_RESET_BASE_IDX 1 192*b843c749SSergey Zigachev #define mmUVD_LMI_RBC_IB_VMID 0x05a1 193*b843c749SSergey Zigachev #define mmUVD_LMI_RBC_IB_VMID_BASE_IDX 1 194*b843c749SSergey Zigachev #define mmUVD_RBC_IB_SIZE 0x05a2 195*b843c749SSergey Zigachev #define mmUVD_RBC_IB_SIZE_BASE_IDX 1 196*b843c749SSergey Zigachev #define mmUVD_RBC_RB_RPTR 0x05a4 197*b843c749SSergey Zigachev #define mmUVD_RBC_RB_RPTR_BASE_IDX 1 198*b843c749SSergey Zigachev #define mmUVD_RBC_RB_WPTR 0x05a5 199*b843c749SSergey Zigachev #define mmUVD_RBC_RB_WPTR_BASE_IDX 1 200*b843c749SSergey Zigachev #define mmUVD_RBC_RB_WPTR_CNTL 0x05a6 201*b843c749SSergey Zigachev #define mmUVD_RBC_RB_WPTR_CNTL_BASE_IDX 1 202*b843c749SSergey Zigachev #define mmUVD_RBC_RB_CNTL 0x05a9 203*b843c749SSergey Zigachev #define mmUVD_RBC_RB_CNTL_BASE_IDX 1 204*b843c749SSergey Zigachev #define mmUVD_RBC_RB_RPTR_ADDR 0x05aa 205*b843c749SSergey Zigachev #define mmUVD_RBC_RB_RPTR_ADDR_BASE_IDX 1 206*b843c749SSergey Zigachev #define mmUVD_STATUS 0x05af 207*b843c749SSergey Zigachev #define mmUVD_STATUS_BASE_IDX 1 208*b843c749SSergey Zigachev #define mmUVD_SEMA_TIMEOUT_STATUS 0x05b0 209*b843c749SSergey Zigachev #define mmUVD_SEMA_TIMEOUT_STATUS_BASE_IDX 1 210*b843c749SSergey Zigachev #define mmUVD_SEMA_WAIT_INCOMPLETE_TIMEOUT_CNTL 0x05b1 211*b843c749SSergey Zigachev #define mmUVD_SEMA_WAIT_INCOMPLETE_TIMEOUT_CNTL_BASE_IDX 1 212*b843c749SSergey Zigachev #define mmUVD_SEMA_WAIT_FAULT_TIMEOUT_CNTL 0x05b2 213*b843c749SSergey Zigachev #define mmUVD_SEMA_WAIT_FAULT_TIMEOUT_CNTL_BASE_IDX 1 214*b843c749SSergey Zigachev #define mmUVD_SEMA_SIGNAL_INCOMPLETE_TIMEOUT_CNTL 0x05b3 215*b843c749SSergey Zigachev #define mmUVD_SEMA_SIGNAL_INCOMPLETE_TIMEOUT_CNTL_BASE_IDX 1 216*b843c749SSergey Zigachev #define mmUVD_CONTEXT_ID 0x05bd 217*b843c749SSergey Zigachev #define mmUVD_CONTEXT_ID_BASE_IDX 1 218*b843c749SSergey Zigachev #define mmUVD_CONTEXT_ID2 0x05bf 219*b843c749SSergey Zigachev #define mmUVD_CONTEXT_ID2_BASE_IDX 1 220*b843c749SSergey Zigachev 221*b843c749SSergey Zigachev 222*b843c749SSergey Zigachev #endif 223