OSDN Git Service

set base in legacy crtc mode set
authorAlex Deucher <alexdeucher@gmail.com>
Tue, 12 Aug 2008 07:05:11 +0000 (03:05 -0400)
committerDave Airlie <airlied@redhat.com>
Wed, 13 Aug 2008 23:19:03 +0000 (09:19 +1000)
linux-core/radeon_legacy_crtc.c

index 6446f8c..7f7ce61 100644 (file)
@@ -917,6 +917,21 @@ static bool radeon_crtc_mode_fixup(struct drm_crtc *crtc,
        return true;
 }
 
+void radeon_crtc_set_base(struct drm_crtc *crtc, int x, int y)
+{
+       struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc);
+
+       switch(radeon_crtc->crtc_id) {
+       case 0:
+               radeon_set_crtc1_base(crtc, x, y);
+               break;
+       case 1:
+               radeon_set_crtc2_base(crtc, x, y);
+               break;
+
+       }
+}
+
 static void radeon_crtc_mode_set(struct drm_crtc *crtc,
                                 struct drm_display_mode *mode,
                                 struct drm_display_mode *adjusted_mode,
@@ -942,6 +957,8 @@ static void radeon_crtc_mode_set(struct drm_crtc *crtc,
 
        /* TODO TV */
 
+       radeon_crtc_set_base(crtc, x, y);
+
        switch(radeon_crtc->crtc_id) {
        case 0:
                radeon_set_crtc1_timing(crtc, adjusted_mode);
@@ -955,21 +972,6 @@ static void radeon_crtc_mode_set(struct drm_crtc *crtc,
        }
 }
 
-void radeon_crtc_set_base(struct drm_crtc *crtc, int x, int y)
-{
-       struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc);
-
-       switch(radeon_crtc->crtc_id) {
-       case 0:
-               radeon_set_crtc1_base(crtc, x, y);
-               break;
-       case 1:
-               radeon_set_crtc2_base(crtc, x, y);
-               break;
-
-       }
-}
-
 static void radeon_crtc_prepare(struct drm_crtc *crtc)
 {
        radeon_crtc_dpms(crtc, DRM_MODE_DPMS_OFF);