diff options
Diffstat (limited to 'drivers/gpu/drm/radeon/evergreen.c')
| -rw-r--r-- | drivers/gpu/drm/radeon/evergreen.c | 22 | 
1 files changed, 13 insertions, 9 deletions
diff --git a/drivers/gpu/drm/radeon/evergreen.c b/drivers/gpu/drm/radeon/evergreen.c index e9bc135d918..9073e3bfb08 100644 --- a/drivers/gpu/drm/radeon/evergreen.c +++ b/drivers/gpu/drm/radeon/evergreen.c @@ -862,9 +862,15 @@ int evergreen_pcie_gart_enable(struct radeon_device *rdev)  		SYSTEM_ACCESS_MODE_NOT_IN_SYS |  		SYSTEM_APERTURE_UNMAPPED_ACCESS_PASS_THRU |  		EFFECTIVE_L1_TLB_SIZE(5) | EFFECTIVE_L1_QUEUE_SIZE(5); -	WREG32(MC_VM_MD_L1_TLB0_CNTL, tmp); -	WREG32(MC_VM_MD_L1_TLB1_CNTL, tmp); -	WREG32(MC_VM_MD_L1_TLB2_CNTL, tmp); +	if (rdev->flags & RADEON_IS_IGP) { +		WREG32(FUS_MC_VM_MD_L1_TLB0_CNTL, tmp); +		WREG32(FUS_MC_VM_MD_L1_TLB1_CNTL, tmp); +		WREG32(FUS_MC_VM_MD_L1_TLB2_CNTL, tmp); +	} else { +		WREG32(MC_VM_MD_L1_TLB0_CNTL, tmp); +		WREG32(MC_VM_MD_L1_TLB1_CNTL, tmp); +		WREG32(MC_VM_MD_L1_TLB2_CNTL, tmp); +	}  	WREG32(MC_VM_MB_L1_TLB0_CNTL, tmp);  	WREG32(MC_VM_MB_L1_TLB1_CNTL, tmp);  	WREG32(MC_VM_MB_L1_TLB2_CNTL, tmp); @@ -1774,7 +1780,10 @@ static void evergreen_gpu_init(struct radeon_device *rdev)  	mc_shared_chmap = RREG32(MC_SHARED_CHMAP); -	mc_arb_ramcfg = RREG32(MC_ARB_RAMCFG); +	if (rdev->flags & RADEON_IS_IGP) +		mc_arb_ramcfg = RREG32(FUS_MC_ARB_RAMCFG); +	else +		mc_arb_ramcfg = RREG32(MC_ARB_RAMCFG);  	switch (rdev->config.evergreen.max_tile_pipes) {  	case 1: @@ -2923,11 +2932,6 @@ static int evergreen_startup(struct radeon_device *rdev)  		rdev->asic->copy = NULL;  		dev_warn(rdev->dev, "failed blitter (%d) falling back to memcpy\n", r);  	} -	/* XXX: ontario has problems blitting to gart at the moment */ -	if (rdev->family == CHIP_PALM) { -		rdev->asic->copy = NULL; -		radeon_ttm_set_active_vram_size(rdev, rdev->mc.visible_vram_size); -	}  	/* allocate wb buffer */  	r = radeon_wb_init(rdev);  |