aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/radeon/r100.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/drivers/gpu/drm/radeon/r100.c b/drivers/gpu/drm/radeon/r100.c
index d0314ecbd7c1..c9affefd79f6 100644
--- a/drivers/gpu/drm/radeon/r100.c
+++ b/drivers/gpu/drm/radeon/r100.c
@@ -3077,6 +3077,10 @@ int r100_set_surface_reg(struct radeon_device *rdev, int reg,
3077 flags |= RADEON_SURF_TILE_COLOR_BOTH; 3077 flags |= RADEON_SURF_TILE_COLOR_BOTH;
3078 if (tiling_flags & RADEON_TILING_MACRO) 3078 if (tiling_flags & RADEON_TILING_MACRO)
3079 flags |= RADEON_SURF_TILE_COLOR_MACRO; 3079 flags |= RADEON_SURF_TILE_COLOR_MACRO;
3080 /* setting pitch to 0 disables tiling */
3081 if ((tiling_flags & (RADEON_TILING_MACRO|RADEON_TILING_MICRO))
3082 == 0)
3083 pitch = 0;
3080 } else if (rdev->family <= CHIP_RV280) { 3084 } else if (rdev->family <= CHIP_RV280) {
3081 if (tiling_flags & (RADEON_TILING_MACRO)) 3085 if (tiling_flags & (RADEON_TILING_MACRO))
3082 flags |= R200_SURF_TILE_COLOR_MACRO; 3086 flags |= R200_SURF_TILE_COLOR_MACRO;
@@ -3094,13 +3098,6 @@ int r100_set_surface_reg(struct radeon_device *rdev, int reg,
3094 if (tiling_flags & RADEON_TILING_SWAP_32BIT) 3098 if (tiling_flags & RADEON_TILING_SWAP_32BIT)
3095 flags |= RADEON_SURF_AP0_SWP_32BPP | RADEON_SURF_AP1_SWP_32BPP; 3099 flags |= RADEON_SURF_AP0_SWP_32BPP | RADEON_SURF_AP1_SWP_32BPP;
3096 3100
3097 /* when we aren't tiling the pitch seems to needs to be furtherdivided down. - tested on power5 + rn50 server */
3098 if (tiling_flags & (RADEON_TILING_SWAP_16BIT | RADEON_TILING_SWAP_32BIT)) {
3099 if (!(tiling_flags & (RADEON_TILING_MACRO | RADEON_TILING_MICRO)))
3100 if (ASIC_IS_RN50(rdev))
3101 pitch /= 16;
3102 }
3103
3104 /* r100/r200 divide by 16 */ 3101 /* r100/r200 divide by 16 */
3105 if (rdev->family < CHIP_R300) 3102 if (rdev->family < CHIP_R300)
3106 flags |= pitch / 16; 3103 flags |= pitch / 16;