drm/radeon/kms: clean up some magic numbers
Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@gmail.com>
This commit is contained in:
Родитель
9453d62118
Коммит
d75ee3be44
|
@ -1031,8 +1031,8 @@ int r100_cp_init(struct radeon_device *rdev, unsigned ring_size)
|
|||
WREG32(RADEON_CP_CSQ_MODE,
|
||||
REG_SET(RADEON_INDIRECT2_START, indirect2_start) |
|
||||
REG_SET(RADEON_INDIRECT1_START, indirect1_start));
|
||||
WREG32(0x718, 0);
|
||||
WREG32(0x744, 0x00004D4D);
|
||||
WREG32(RADEON_CP_RB_WPTR_DELAY, 0);
|
||||
WREG32(RADEON_CP_CSQ_MODE, 0x00004D4D);
|
||||
WREG32(RADEON_CP_CSQ_CNTL, RADEON_CSQ_PRIBM_INDBM);
|
||||
radeon_ring_start(rdev);
|
||||
r = radeon_ring_test(rdev);
|
||||
|
@ -2347,10 +2347,10 @@ void r100_vga_set_state(struct radeon_device *rdev, bool state)
|
|||
|
||||
temp = RREG32(RADEON_CONFIG_CNTL);
|
||||
if (state == false) {
|
||||
temp &= ~(1<<8);
|
||||
temp |= (1<<9);
|
||||
temp &= ~RADEON_CFG_VGA_RAM_EN;
|
||||
temp |= RADEON_CFG_VGA_IO_DIS;
|
||||
} else {
|
||||
temp &= ~(1<<9);
|
||||
temp &= ~RADEON_CFG_VGA_IO_DIS;
|
||||
}
|
||||
WREG32(RADEON_CONFIG_CNTL, temp);
|
||||
}
|
||||
|
|
|
@ -69,6 +69,9 @@ void rv370_pcie_gart_tlb_flush(struct radeon_device *rdev)
|
|||
mb();
|
||||
}
|
||||
|
||||
#define R300_PTE_WRITEABLE (1 << 2)
|
||||
#define R300_PTE_READABLE (1 << 3)
|
||||
|
||||
int rv370_pcie_gart_set_page(struct radeon_device *rdev, int i, uint64_t addr)
|
||||
{
|
||||
void __iomem *ptr = (void *)rdev->gart.table.vram.ptr;
|
||||
|
@ -78,7 +81,7 @@ int rv370_pcie_gart_set_page(struct radeon_device *rdev, int i, uint64_t addr)
|
|||
}
|
||||
addr = (lower_32_bits(addr) >> 8) |
|
||||
((upper_32_bits(addr) & 0xff) << 24) |
|
||||
0xc;
|
||||
R300_PTE_WRITEABLE | R300_PTE_READABLE;
|
||||
/* on x86 we want this to be CPU endian, on powerpc
|
||||
* on powerpc without HW swappers, it'll get swapped on way
|
||||
* into VRAM - so no need for cpu_to_le32 on VRAM tables */
|
||||
|
@ -135,7 +138,7 @@ int rv370_pcie_gart_enable(struct radeon_device *rdev)
|
|||
WREG32_PCIE(RADEON_PCIE_TX_DISCARD_RD_ADDR_LO, rdev->mc.vram_start);
|
||||
WREG32_PCIE(RADEON_PCIE_TX_DISCARD_RD_ADDR_HI, 0);
|
||||
/* Clear error */
|
||||
WREG32_PCIE(0x18, 0);
|
||||
WREG32_PCIE(RADEON_PCIE_TX_GART_ERROR, 0);
|
||||
tmp = RREG32_PCIE(RADEON_PCIE_TX_GART_CNTL);
|
||||
tmp |= RADEON_PCIE_TX_GART_EN;
|
||||
tmp |= RADEON_PCIE_TX_GART_UNMAPPED_ACCESS_DISCARD;
|
||||
|
|
|
@ -96,7 +96,7 @@ void r420_pipes_init(struct radeon_device *rdev)
|
|||
"programming pipes. Bad things might happen.\n");
|
||||
}
|
||||
/* get max number of pipes */
|
||||
gb_pipe_select = RREG32(0x402C);
|
||||
gb_pipe_select = RREG32(R400_GB_PIPE_SELECT);
|
||||
num_pipes = ((gb_pipe_select >> 12) & 3) + 1;
|
||||
|
||||
/* SE chips have 1 pipe */
|
||||
|
|
|
@ -79,8 +79,8 @@ static void r520_gpu_init(struct radeon_device *rdev)
|
|||
WREG32(0x4128, 0xFF);
|
||||
}
|
||||
r420_pipes_init(rdev);
|
||||
gb_pipe_select = RREG32(0x402C);
|
||||
tmp = RREG32(0x170C);
|
||||
gb_pipe_select = RREG32(R400_GB_PIPE_SELECT);
|
||||
tmp = RREG32(R300_DST_PIPE_CONFIG);
|
||||
pipe_select_current = (tmp >> 2) & 3;
|
||||
tmp = (1 << pipe_select_current) |
|
||||
(((gb_pipe_select >> 8) & 0xF) << 4);
|
||||
|
|
|
@ -375,6 +375,8 @@
|
|||
#define RADEON_CONFIG_APER_SIZE 0x0108
|
||||
#define RADEON_CONFIG_BONDS 0x00e8
|
||||
#define RADEON_CONFIG_CNTL 0x00e0
|
||||
# define RADEON_CFG_VGA_RAM_EN (1 << 8)
|
||||
# define RADEON_CFG_VGA_IO_DIS (1 << 9)
|
||||
# define RADEON_CFG_ATI_REV_A11 (0 << 16)
|
||||
# define RADEON_CFG_ATI_REV_A12 (1 << 16)
|
||||
# define RADEON_CFG_ATI_REV_A13 (2 << 16)
|
||||
|
|
|
@ -203,6 +203,9 @@ void rs400_gart_fini(struct radeon_device *rdev)
|
|||
radeon_gart_table_ram_free(rdev);
|
||||
}
|
||||
|
||||
#define RS400_PTE_WRITEABLE (1 << 2)
|
||||
#define RS400_PTE_READABLE (1 << 3)
|
||||
|
||||
int rs400_gart_set_page(struct radeon_device *rdev, int i, uint64_t addr)
|
||||
{
|
||||
uint32_t entry;
|
||||
|
@ -213,7 +216,7 @@ int rs400_gart_set_page(struct radeon_device *rdev, int i, uint64_t addr)
|
|||
|
||||
entry = (lower_32_bits(addr) & PAGE_MASK) |
|
||||
((upper_32_bits(addr) & 0xff) << 4) |
|
||||
0xc;
|
||||
RS400_PTE_WRITEABLE | RS400_PTE_READABLE;
|
||||
entry = cpu_to_le32(entry);
|
||||
rdev->gart.table.ram.ptr[i] = entry;
|
||||
return 0;
|
||||
|
@ -226,8 +229,8 @@ int rs400_mc_wait_for_idle(struct radeon_device *rdev)
|
|||
|
||||
for (i = 0; i < rdev->usec_timeout; i++) {
|
||||
/* read MC_STATUS */
|
||||
tmp = RREG32(0x0150);
|
||||
if (tmp & (1 << 2)) {
|
||||
tmp = RREG32(RADEON_MC_STATUS);
|
||||
if (tmp & RADEON_MC_IDLE) {
|
||||
return 0;
|
||||
}
|
||||
DRM_UDELAY(1);
|
||||
|
@ -241,7 +244,7 @@ void rs400_gpu_init(struct radeon_device *rdev)
|
|||
r420_pipes_init(rdev);
|
||||
if (rs400_mc_wait_for_idle(rdev)) {
|
||||
printk(KERN_WARNING "rs400: Failed to wait MC idle while "
|
||||
"programming pipes. Bad things might happen. %08x\n", RREG32(0x150));
|
||||
"programming pipes. Bad things might happen. %08x\n", RREG32(RADEON_MC_STATUS));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -300,9 +303,9 @@ static int rs400_debugfs_gart_info(struct seq_file *m, void *data)
|
|||
seq_printf(m, "MCCFG_AGP_BASE_2 0x%08x\n", tmp);
|
||||
tmp = RREG32_MC(RS690_MCCFG_AGP_LOCATION);
|
||||
seq_printf(m, "MCCFG_AGP_LOCATION 0x%08x\n", tmp);
|
||||
tmp = RREG32_MC(0x100);
|
||||
tmp = RREG32_MC(RS690_MCCFG_FB_LOCATION);
|
||||
seq_printf(m, "MCCFG_FB_LOCATION 0x%08x\n", tmp);
|
||||
tmp = RREG32(0x134);
|
||||
tmp = RREG32(RS690_HDP_FB_LOCATION);
|
||||
seq_printf(m, "HDP_FB_LOCATION 0x%08x\n", tmp);
|
||||
} else {
|
||||
tmp = RREG32(RADEON_AGP_BASE);
|
||||
|
|
|
@ -69,13 +69,13 @@ void rv515_ring_start(struct radeon_device *rdev)
|
|||
ISYNC_CPSCRATCH_IDLEGUI);
|
||||
radeon_ring_write(rdev, PACKET0(WAIT_UNTIL, 0));
|
||||
radeon_ring_write(rdev, WAIT_2D_IDLECLEAN | WAIT_3D_IDLECLEAN);
|
||||
radeon_ring_write(rdev, PACKET0(0x170C, 0));
|
||||
radeon_ring_write(rdev, 1 << 31);
|
||||
radeon_ring_write(rdev, PACKET0(R300_DST_PIPE_CONFIG, 0));
|
||||
radeon_ring_write(rdev, R300_PIPE_AUTO_CONFIG);
|
||||
radeon_ring_write(rdev, PACKET0(GB_SELECT, 0));
|
||||
radeon_ring_write(rdev, 0);
|
||||
radeon_ring_write(rdev, PACKET0(GB_ENABLE, 0));
|
||||
radeon_ring_write(rdev, 0);
|
||||
radeon_ring_write(rdev, PACKET0(0x42C8, 0));
|
||||
radeon_ring_write(rdev, PACKET0(R500_SU_REG_DEST, 0));
|
||||
radeon_ring_write(rdev, (1 << rdev->num_gb_pipes) - 1);
|
||||
radeon_ring_write(rdev, PACKET0(VAP_INDEX_OFFSET, 0));
|
||||
radeon_ring_write(rdev, 0);
|
||||
|
@ -153,8 +153,8 @@ void rv515_gpu_init(struct radeon_device *rdev)
|
|||
}
|
||||
rv515_vga_render_disable(rdev);
|
||||
r420_pipes_init(rdev);
|
||||
gb_pipe_select = RREG32(0x402C);
|
||||
tmp = RREG32(0x170C);
|
||||
gb_pipe_select = RREG32(R400_GB_PIPE_SELECT);
|
||||
tmp = RREG32(R300_DST_PIPE_CONFIG);
|
||||
pipe_select_current = (tmp >> 2) & 3;
|
||||
tmp = (1 << pipe_select_current) |
|
||||
(((gb_pipe_select >> 8) & 0xF) << 4);
|
||||
|
|
Загрузка…
Ссылка в новой задаче