diff options
Diffstat (limited to 'drivers/gpu/drm/radeon/atombios_crtc.c')
-rw-r--r-- | drivers/gpu/drm/radeon/atombios_crtc.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/gpu/drm/radeon/atombios_crtc.c b/drivers/gpu/drm/radeon/atombios_crtc.c index e64a199b5ee1..eac26cdb5dae 100644 --- a/drivers/gpu/drm/radeon/atombios_crtc.c +++ b/drivers/gpu/drm/radeon/atombios_crtc.c | |||
@@ -327,7 +327,7 @@ int atombios_crtc_set_base(struct drm_crtc *crtc, int x, int y, | |||
327 | struct drm_gem_object *obj; | 327 | struct drm_gem_object *obj; |
328 | struct drm_radeon_gem_object *obj_priv; | 328 | struct drm_radeon_gem_object *obj_priv; |
329 | uint64_t fb_location; | 329 | uint64_t fb_location; |
330 | uint32_t fb_format, fb_pitch_pixels; | 330 | uint32_t fb_format, fb_pitch_pixels, tiling_flags; |
331 | 331 | ||
332 | if (!crtc->fb) | 332 | if (!crtc->fb) |
333 | return -EINVAL; | 333 | return -EINVAL; |
@@ -364,7 +364,14 @@ int atombios_crtc_set_base(struct drm_crtc *crtc, int x, int y, | |||
364 | return -EINVAL; | 364 | return -EINVAL; |
365 | } | 365 | } |
366 | 366 | ||
367 | /* TODO tiling */ | 367 | radeon_object_get_tiling_flags(obj->driver_private, |
368 | &tiling_flags, NULL); | ||
369 | if (tiling_flags & RADEON_TILING_MACRO) | ||
370 | fb_format |= AVIVO_D1GRPH_MACRO_ADDRESS_MODE; | ||
371 | |||
372 | if (tiling_flags & RADEON_TILING_MICRO) | ||
373 | fb_format |= AVIVO_D1GRPH_TILED; | ||
374 | |||
368 | if (radeon_crtc->crtc_id == 0) | 375 | if (radeon_crtc->crtc_id == 0) |
369 | WREG32(AVIVO_D1VGA_CONTROL, 0); | 376 | WREG32(AVIVO_D1VGA_CONTROL, 0); |
370 | else | 377 | else |