diff options
Diffstat (limited to 'drivers/gpu/drm/radeon/atombios_crtc.c')
-rw-r--r-- | drivers/gpu/drm/radeon/atombios_crtc.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/drivers/gpu/drm/radeon/atombios_crtc.c b/drivers/gpu/drm/radeon/atombios_crtc.c index 260fcf59f00c..a60610271af6 100644 --- a/drivers/gpu/drm/radeon/atombios_crtc.c +++ b/drivers/gpu/drm/radeon/atombios_crtc.c | |||
@@ -575,8 +575,8 @@ void atombios_crtc_set_pll(struct drm_crtc *crtc, struct drm_display_mode *mode) | |||
575 | atom_execute_table(rdev->mode_info.atom_context, index, (uint32_t *)&args); | 575 | atom_execute_table(rdev->mode_info.atom_context, index, (uint32_t *)&args); |
576 | } | 576 | } |
577 | 577 | ||
578 | int atombios_crtc_set_base(struct drm_crtc *crtc, int x, int y, | 578 | static int avivo_crtc_set_base(struct drm_crtc *crtc, int x, int y, |
579 | struct drm_framebuffer *old_fb) | 579 | struct drm_framebuffer *old_fb) |
580 | { | 580 | { |
581 | struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); | 581 | struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); |
582 | struct drm_device *dev = crtc->dev; | 582 | struct drm_device *dev = crtc->dev; |
@@ -706,6 +706,18 @@ int atombios_crtc_set_base(struct drm_crtc *crtc, int x, int y, | |||
706 | return 0; | 706 | return 0; |
707 | } | 707 | } |
708 | 708 | ||
709 | int atombios_crtc_set_base(struct drm_crtc *crtc, int x, int y, | ||
710 | struct drm_framebuffer *old_fb) | ||
711 | { | ||
712 | struct drm_device *dev = crtc->dev; | ||
713 | struct radeon_device *rdev = dev->dev_private; | ||
714 | |||
715 | if (ASIC_IS_AVIVO(rdev)) | ||
716 | return avivo_crtc_set_base(crtc, x, y, old_fb); | ||
717 | else | ||
718 | return radeon_crtc_set_base(crtc, x, y, old_fb); | ||
719 | } | ||
720 | |||
709 | int atombios_crtc_mode_set(struct drm_crtc *crtc, | 721 | int atombios_crtc_mode_set(struct drm_crtc *crtc, |
710 | struct drm_display_mode *mode, | 722 | struct drm_display_mode *mode, |
711 | struct drm_display_mode *adjusted_mode, | 723 | struct drm_display_mode *adjusted_mode, |
@@ -727,7 +739,7 @@ int atombios_crtc_mode_set(struct drm_crtc *crtc, | |||
727 | else { | 739 | else { |
728 | if (radeon_crtc->crtc_id == 0) | 740 | if (radeon_crtc->crtc_id == 0) |
729 | atombios_set_crtc_dtd_timing(crtc, adjusted_mode); | 741 | atombios_set_crtc_dtd_timing(crtc, adjusted_mode); |
730 | radeon_crtc_set_base(crtc, x, y, old_fb); | 742 | atombios_crtc_set_base(crtc, x, y, old_fb); |
731 | radeon_legacy_atom_set_surface(crtc); | 743 | radeon_legacy_atom_set_surface(crtc); |
732 | } | 744 | } |
733 | atombios_overscan_setup(crtc, mode, adjusted_mode); | 745 | atombios_overscan_setup(crtc, mode, adjusted_mode); |