linux/drivers/gpu/drm/radeon/rs690d.h

/*
 * Copyright 2008 Advanced Micro Devices, Inc.
 * Copyright 2008 Red Hat Inc.
 * Copyright 2009 Jerome Glisse.
 *
 * Permission is hereby granted, free of charge, to any person obtaining a
 * copy of this software and associated documentation files (the "Software"),
 * to deal in the Software without restriction, including without limitation
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
 * and/or sell copies of the Software, and to permit persons to whom the
 * Software is furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
 * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 * OTHER DEALINGS IN THE SOFTWARE.
 *
 * Authors: Dave Airlie
 *          Alex Deucher
 *          Jerome Glisse
 */
#ifndef __RS690D_H__
#define __RS690D_H__

/* Registers */
#define R_00001E_K8_FB_LOCATION
#define R_00005F_MC_MISC_UMA_CNTL
#define G_00005F_K8_ADDR_EXT(x)
#define R_000078_MC_INDEX
#define S_000078_MC_IND_ADDR(x)
#define G_000078_MC_IND_ADDR(x)
#define C_000078_MC_IND_ADDR
#define S_000078_MC_IND_WR_EN(x)
#define G_000078_MC_IND_WR_EN(x)
#define C_000078_MC_IND_WR_EN
#define R_00007C_MC_DATA
#define S_00007C_MC_DATA(x)
#define G_00007C_MC_DATA(x)
#define C_00007C_MC_DATA
#define R_0000F8_CONFIG_MEMSIZE
#define S_0000F8_CONFIG_MEMSIZE(x)
#define G_0000F8_CONFIG_MEMSIZE(x)
#define C_0000F8_CONFIG_MEMSIZE
#define R_000134_HDP_FB_LOCATION
#define S_000134_HDP_FB_START(x)
#define G_000134_HDP_FB_START(x)
#define C_000134_HDP_FB_START
#define R_0007C0_CP_STAT
#define S_0007C0_MRU_BUSY(x)
#define G_0007C0_MRU_BUSY(x)
#define C_0007C0_MRU_BUSY
#define S_0007C0_MWU_BUSY(x)
#define G_0007C0_MWU_BUSY(x)
#define C_0007C0_MWU_BUSY
#define S_0007C0_RSIU_BUSY(x)
#define G_0007C0_RSIU_BUSY(x)
#define C_0007C0_RSIU_BUSY
#define S_0007C0_RCIU_BUSY(x)
#define G_0007C0_RCIU_BUSY(x)
#define C_0007C0_RCIU_BUSY
#define S_0007C0_CSF_PRIMARY_BUSY(x)
#define G_0007C0_CSF_PRIMARY_BUSY(x)
#define C_0007C0_CSF_PRIMARY_BUSY
#define S_0007C0_CSF_INDIRECT_BUSY(x)
#define G_0007C0_CSF_INDIRECT_BUSY(x)
#define C_0007C0_CSF_INDIRECT_BUSY
#define S_0007C0_CSQ_PRIMARY_BUSY(x)
#define G_0007C0_CSQ_PRIMARY_BUSY(x)
#define C_0007C0_CSQ_PRIMARY_BUSY
#define S_0007C0_CSQ_INDIRECT_BUSY(x)
#define G_0007C0_CSQ_INDIRECT_BUSY(x)
#define C_0007C0_CSQ_INDIRECT_BUSY
#define S_0007C0_CSI_BUSY(x)
#define G_0007C0_CSI_BUSY(x)
#define C_0007C0_CSI_BUSY
#define S_0007C0_CSF_INDIRECT2_BUSY(x)
#define G_0007C0_CSF_INDIRECT2_BUSY(x)
#define C_0007C0_CSF_INDIRECT2_BUSY
#define S_0007C0_CSQ_INDIRECT2_BUSY(x)
#define G_0007C0_CSQ_INDIRECT2_BUSY(x)
#define C_0007C0_CSQ_INDIRECT2_BUSY
#define S_0007C0_GUIDMA_BUSY(x)
#define G_0007C0_GUIDMA_BUSY(x)
#define C_0007C0_GUIDMA_BUSY
#define S_0007C0_VIDDMA_BUSY(x)
#define G_0007C0_VIDDMA_BUSY(x)
#define C_0007C0_VIDDMA_BUSY
#define S_0007C0_CMDSTRM_BUSY(x)
#define G_0007C0_CMDSTRM_BUSY(x)
#define C_0007C0_CMDSTRM_BUSY
#define S_0007C0_CP_BUSY(x)
#define G_0007C0_CP_BUSY(x)
#define C_0007C0_CP_BUSY
#define R_000E40_RBBM_STATUS
#define S_000E40_CMDFIFO_AVAIL(x)
#define G_000E40_CMDFIFO_AVAIL(x)
#define C_000E40_CMDFIFO_AVAIL
#define S_000E40_HIRQ_ON_RBB(x)
#define G_000E40_HIRQ_ON_RBB(x)
#define C_000E40_HIRQ_ON_RBB
#define S_000E40_CPRQ_ON_RBB(x)
#define G_000E40_CPRQ_ON_RBB(x)
#define C_000E40_CPRQ_ON_RBB
#define S_000E40_CFRQ_ON_RBB(x)
#define G_000E40_CFRQ_ON_RBB(x)
#define C_000E40_CFRQ_ON_RBB
#define S_000E40_HIRQ_IN_RTBUF(x)
#define G_000E40_HIRQ_IN_RTBUF(x)
#define C_000E40_HIRQ_IN_RTBUF
#define S_000E40_CPRQ_IN_RTBUF(x)
#define G_000E40_CPRQ_IN_RTBUF(x)
#define C_000E40_CPRQ_IN_RTBUF
#define S_000E40_CFRQ_IN_RTBUF(x)
#define G_000E40_CFRQ_IN_RTBUF(x)
#define C_000E40_CFRQ_IN_RTBUF
#define S_000E40_CF_PIPE_BUSY(x)
#define G_000E40_CF_PIPE_BUSY(x)
#define C_000E40_CF_PIPE_BUSY
#define S_000E40_ENG_EV_BUSY(x)
#define G_000E40_ENG_EV_BUSY(x)
#define C_000E40_ENG_EV_BUSY
#define S_000E40_CP_CMDSTRM_BUSY(x)
#define G_000E40_CP_CMDSTRM_BUSY(x)
#define C_000E40_CP_CMDSTRM_BUSY
#define S_000E40_E2_BUSY(x)
#define G_000E40_E2_BUSY(x)
#define C_000E40_E2_BUSY
#define S_000E40_RB2D_BUSY(x)
#define G_000E40_RB2D_BUSY(x)
#define C_000E40_RB2D_BUSY
#define S_000E40_RB3D_BUSY(x)
#define G_000E40_RB3D_BUSY(x)
#define C_000E40_RB3D_BUSY
#define S_000E40_VAP_BUSY(x)
#define G_000E40_VAP_BUSY(x)
#define C_000E40_VAP_BUSY
#define S_000E40_RE_BUSY(x)
#define G_000E40_RE_BUSY(x)
#define C_000E40_RE_BUSY
#define S_000E40_TAM_BUSY(x)
#define G_000E40_TAM_BUSY(x)
#define C_000E40_TAM_BUSY
#define S_000E40_TDM_BUSY(x)
#define G_000E40_TDM_BUSY(x)
#define C_000E40_TDM_BUSY
#define S_000E40_PB_BUSY(x)
#define G_000E40_PB_BUSY(x)
#define C_000E40_PB_BUSY
#define S_000E40_TIM_BUSY(x)
#define G_000E40_TIM_BUSY(x)
#define C_000E40_TIM_BUSY
#define S_000E40_GA_BUSY(x)
#define G_000E40_GA_BUSY(x)
#define C_000E40_GA_BUSY
#define S_000E40_CBA2D_BUSY(x)
#define G_000E40_CBA2D_BUSY(x)
#define C_000E40_CBA2D_BUSY
#define S_000E40_GUI_ACTIVE(x)
#define G_000E40_GUI_ACTIVE(x)
#define C_000E40_GUI_ACTIVE
#define R_006520_DC_LB_MEMORY_SPLIT
#define S_006520_DC_LB_MEMORY_SPLIT(x)
#define G_006520_DC_LB_MEMORY_SPLIT(x)
#define C_006520_DC_LB_MEMORY_SPLIT
#define S_006520_DC_LB_MEMORY_SPLIT_MODE(x)
#define G_006520_DC_LB_MEMORY_SPLIT_MODE(x)
#define C_006520_DC_LB_MEMORY_SPLIT_MODE
#define V_006520_DC_LB_MEMORY_SPLIT_D1HALF_D2HALF
#define V_006520_DC_LB_MEMORY_SPLIT_D1_3Q_D2_1Q
#define V_006520_DC_LB_MEMORY_SPLIT_D1_ONLY
#define V_006520_DC_LB_MEMORY_SPLIT_D1_1Q_D2_3Q
#define S_006520_DC_LB_DISP1_END_ADR(x)
#define G_006520_DC_LB_DISP1_END_ADR(x)
#define C_006520_DC_LB_DISP1_END_ADR
#define R_006548_D1MODE_PRIORITY_A_CNT
#define S_006548_D1MODE_PRIORITY_MARK_A(x)
#define G_006548_D1MODE_PRIORITY_MARK_A(x)
#define C_006548_D1MODE_PRIORITY_MARK_A
#define S_006548_D1MODE_PRIORITY_A_OFF(x)
#define G_006548_D1MODE_PRIORITY_A_OFF(x)
#define C_006548_D1MODE_PRIORITY_A_OFF
#define S_006548_D1MODE_PRIORITY_A_ALWAYS_ON(x)
#define G_006548_D1MODE_PRIORITY_A_ALWAYS_ON(x)
#define C_006548_D1MODE_PRIORITY_A_ALWAYS_ON
#define S_006548_D1MODE_PRIORITY_A_FORCE_MASK(x)
#define G_006548_D1MODE_PRIORITY_A_FORCE_MASK(x)
#define C_006548_D1MODE_PRIORITY_A_FORCE_MASK
#define R_00654C_D1MODE_PRIORITY_B_CNT
#define S_00654C_D1MODE_PRIORITY_MARK_B(x)
#define G_00654C_D1MODE_PRIORITY_MARK_B(x)
#define C_00654C_D1MODE_PRIORITY_MARK_B
#define S_00654C_D1MODE_PRIORITY_B_OFF(x)
#define G_00654C_D1MODE_PRIORITY_B_OFF(x)
#define C_00654C_D1MODE_PRIORITY_B_OFF
#define S_00654C_D1MODE_PRIORITY_B_ALWAYS_ON(x)
#define G_00654C_D1MODE_PRIORITY_B_ALWAYS_ON(x)
#define C_00654C_D1MODE_PRIORITY_B_ALWAYS_ON
#define S_00654C_D1MODE_PRIORITY_B_FORCE_MASK(x)
#define G_00654C_D1MODE_PRIORITY_B_FORCE_MASK(x)
#define C_00654C_D1MODE_PRIORITY_B_FORCE_MASK
#define R_006C9C_DCP_CONTROL
#define R_006D48_D2MODE_PRIORITY_A_CNT
#define S_006D48_D2MODE_PRIORITY_MARK_A(x)
#define G_006D48_D2MODE_PRIORITY_MARK_A(x)
#define C_006D48_D2MODE_PRIORITY_MARK_A
#define S_006D48_D2MODE_PRIORITY_A_OFF(x)
#define G_006D48_D2MODE_PRIORITY_A_OFF(x)
#define C_006D48_D2MODE_PRIORITY_A_OFF
#define S_006D48_D2MODE_PRIORITY_A_ALWAYS_ON(x)
#define G_006D48_D2MODE_PRIORITY_A_ALWAYS_ON(x)
#define C_006D48_D2MODE_PRIORITY_A_ALWAYS_ON
#define S_006D48_D2MODE_PRIORITY_A_FORCE_MASK(x)
#define G_006D48_D2MODE_PRIORITY_A_FORCE_MASK(x)
#define C_006D48_D2MODE_PRIORITY_A_FORCE_MASK
#define R_006D4C_D2MODE_PRIORITY_B_CNT
#define S_006D4C_D2MODE_PRIORITY_MARK_B(x)
#define G_006D4C_D2MODE_PRIORITY_MARK_B(x)
#define C_006D4C_D2MODE_PRIORITY_MARK_B
#define S_006D4C_D2MODE_PRIORITY_B_OFF(x)
#define G_006D4C_D2MODE_PRIORITY_B_OFF(x)
#define C_006D4C_D2MODE_PRIORITY_B_OFF
#define S_006D4C_D2MODE_PRIORITY_B_ALWAYS_ON(x)
#define G_006D4C_D2MODE_PRIORITY_B_ALWAYS_ON(x)
#define C_006D4C_D2MODE_PRIORITY_B_ALWAYS_ON
#define S_006D4C_D2MODE_PRIORITY_B_FORCE_MASK(x)
#define G_006D4C_D2MODE_PRIORITY_B_FORCE_MASK(x)
#define C_006D4C_D2MODE_PRIORITY_B_FORCE_MASK
#define R_006D58_LB_MAX_REQ_OUTSTANDING
#define S_006D58_LB_D1_MAX_REQ_OUTSTANDING(x)
#define G_006D58_LB_D1_MAX_REQ_OUTSTANDING(x)
#define C_006D58_LB_D1_MAX_REQ_OUTSTANDING
#define S_006D58_LB_D2_MAX_REQ_OUTSTANDING(x)
#define G_006D58_LB_D2_MAX_REQ_OUTSTANDING(x)
#define C_006D58_LB_D2_MAX_REQ_OUTSTANDING


#define R_000090_MC_SYSTEM_STATUS
#define S_000090_MC_SYSTEM_IDLE(x)
#define G_000090_MC_SYSTEM_IDLE(x)
#define C_000090_MC_SYSTEM_IDLE
#define S_000090_MC_SEQUENCER_IDLE(x)
#define G_000090_MC_SEQUENCER_IDLE(x)
#define C_000090_MC_SEQUENCER_IDLE
#define S_000090_MC_ARBITER_IDLE(x)
#define G_000090_MC_ARBITER_IDLE(x)
#define C_000090_MC_ARBITER_IDLE
#define S_000090_MC_SELECT_PM(x)
#define G_000090_MC_SELECT_PM(x)
#define C_000090_MC_SELECT_PM
#define S_000090_RESERVED4(x)
#define G_000090_RESERVED4(x)
#define C_000090_RESERVED4
#define S_000090_RESERVED8(x)
#define G_000090_RESERVED8(x)
#define C_000090_RESERVED8
#define S_000090_RESERVED12(x)
#define G_000090_RESERVED12(x)
#define C_000090_RESERVED12
#define S_000090_MCA_INIT_EXECUTED(x)
#define G_000090_MCA_INIT_EXECUTED(x)
#define C_000090_MCA_INIT_EXECUTED
#define S_000090_MCA_IDLE(x)
#define G_000090_MCA_IDLE(x)
#define C_000090_MCA_IDLE
#define S_000090_MCA_SEQ_IDLE(x)
#define G_000090_MCA_SEQ_IDLE(x)
#define C_000090_MCA_SEQ_IDLE
#define S_000090_MCA_ARB_IDLE(x)
#define G_000090_MCA_ARB_IDLE(x)
#define C_000090_MCA_ARB_IDLE
#define S_000090_RESERVED20(x)
#define G_000090_RESERVED20(x)
#define C_000090_RESERVED20
#define R_000100_MCCFG_FB_LOCATION
#define S_000100_MC_FB_START(x)
#define G_000100_MC_FB_START(x)
#define C_000100_MC_FB_START
#define S_000100_MC_FB_TOP(x)
#define G_000100_MC_FB_TOP(x)
#define C_000100_MC_FB_TOP
#define R_000104_MC_INIT_MISC_LAT_TIMER
#define S_000104_MC_CPR_INIT_LAT(x)
#define G_000104_MC_CPR_INIT_LAT(x)
#define C_000104_MC_CPR_INIT_LAT
#define S_000104_MC_VF_INIT_LAT(x)
#define G_000104_MC_VF_INIT_LAT(x)
#define C_000104_MC_VF_INIT_LAT
#define S_000104_MC_DISP0R_INIT_LAT(x)
#define G_000104_MC_DISP0R_INIT_LAT(x)
#define C_000104_MC_DISP0R_INIT_LAT
#define S_000104_MC_DISP1R_INIT_LAT(x)
#define G_000104_MC_DISP1R_INIT_LAT(x)
#define C_000104_MC_DISP1R_INIT_LAT
#define S_000104_MC_FIXED_INIT_LAT(x)
#define G_000104_MC_FIXED_INIT_LAT(x)
#define C_000104_MC_FIXED_INIT_LAT
#define S_000104_MC_E2R_INIT_LAT(x)
#define G_000104_MC_E2R_INIT_LAT(x)
#define C_000104_MC_E2R_INIT_LAT
#define S_000104_SAME_PAGE_PRIO(x)
#define G_000104_SAME_PAGE_PRIO(x)
#define C_000104_SAME_PAGE_PRIO
#define S_000104_MC_GLOBW_INIT_LAT(x)
#define G_000104_MC_GLOBW_INIT_LAT(x)
#define C_000104_MC_GLOBW_INIT_LAT

#endif