Skip to content

Commit

Permalink
drm/radeon/kms/pm: move pm state update to crtc functions
Browse files Browse the repository at this point in the history
crtcs are what we ultimately care about wrt to pm.

Signed-off-by: Alex Deucher <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
  • Loading branch information
agd5f authored and airlied committed May 18, 2010
1 parent 8a56df6 commit 03214bd
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 20 deletions.
9 changes: 9 additions & 0 deletions drivers/gpu/drm/radeon/atombios_crtc.c
Original file line number Diff line number Diff line change
Expand Up @@ -262,6 +262,9 @@ void atombios_crtc_dpms(struct drm_crtc *crtc, int mode)
atombios_enable_crtc(crtc, ATOM_DISABLE);
break;
}

/* adjust pm to dpms change */
radeon_pm_compute_clocks(rdev);
}

static void
Expand Down Expand Up @@ -1156,6 +1159,12 @@ static bool atombios_crtc_mode_fixup(struct drm_crtc *crtc,
struct drm_display_mode *mode,
struct drm_display_mode *adjusted_mode)
{
struct drm_device *dev = crtc->dev;
struct radeon_device *rdev = dev->dev_private;

/* adjust pm to upcoming mode change */
radeon_pm_compute_clocks(rdev);

if (!radeon_crtc_scaling_mode_fixup(crtc, mode, adjusted_mode))
return false;
return true;
Expand Down
5 changes: 0 additions & 5 deletions drivers/gpu/drm/radeon/radeon_encoders.c
Original file line number Diff line number Diff line change
Expand Up @@ -262,9 +262,6 @@ static bool radeon_atom_mode_fixup(struct drm_encoder *encoder,
struct drm_device *dev = encoder->dev;
struct radeon_device *rdev = dev->dev_private;

/* adjust pm to upcoming mode change */
radeon_pm_compute_clocks(rdev);

/* set the active encoder to connector routing */
radeon_encoder_set_active_device(encoder);
drm_mode_set_crtcinfo(adjusted_mode, 0);
Expand Down Expand Up @@ -1074,8 +1071,6 @@ radeon_atom_encoder_dpms(struct drm_encoder *encoder, int mode)
}
radeon_atombios_encoder_dpms_scratch_regs(encoder, (mode == DRM_MODE_DPMS_ON) ? true : false);

/* adjust pm to dpms change */
radeon_pm_compute_clocks(rdev);
}

union crtc_source_param {
Expand Down
9 changes: 9 additions & 0 deletions drivers/gpu/drm/radeon/radeon_legacy_crtc.c
Original file line number Diff line number Diff line change
Expand Up @@ -337,6 +337,9 @@ void radeon_crtc_dpms(struct drm_crtc *crtc, int mode)
}
break;
}

/* adjust pm to dpms change */
radeon_pm_compute_clocks(rdev);
}

int radeon_crtc_set_base(struct drm_crtc *crtc, int x, int y,
Expand Down Expand Up @@ -966,6 +969,12 @@ static bool radeon_crtc_mode_fixup(struct drm_crtc *crtc,
struct drm_display_mode *mode,
struct drm_display_mode *adjusted_mode)
{
struct drm_device *dev = crtc->dev;
struct radeon_device *rdev = dev->dev_private;

/* adjust pm to upcoming mode change */
radeon_pm_compute_clocks(rdev);

if (!radeon_crtc_scaling_mode_fixup(crtc, mode, adjusted_mode))
return false;
return true;
Expand Down
15 changes: 0 additions & 15 deletions drivers/gpu/drm/radeon/radeon_legacy_encoders.c
Original file line number Diff line number Diff line change
Expand Up @@ -116,8 +116,6 @@ static void radeon_legacy_lvds_dpms(struct drm_encoder *encoder, int mode)
else
radeon_combios_encoder_dpms_scratch_regs(encoder, (mode == DRM_MODE_DPMS_ON) ? true : false);

/* adjust pm to dpms change */
radeon_pm_compute_clocks(rdev);
}

static void radeon_legacy_lvds_prepare(struct drm_encoder *encoder)
Expand Down Expand Up @@ -217,11 +215,6 @@ static bool radeon_legacy_mode_fixup(struct drm_encoder *encoder,
struct drm_display_mode *adjusted_mode)
{
struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
struct drm_device *dev = encoder->dev;
struct radeon_device *rdev = dev->dev_private;

/* adjust pm to upcoming mode change */
radeon_pm_compute_clocks(rdev);

/* set the active encoder to connector routing */
radeon_encoder_set_active_device(encoder);
Expand Down Expand Up @@ -294,8 +287,6 @@ static void radeon_legacy_primary_dac_dpms(struct drm_encoder *encoder, int mode
else
radeon_combios_encoder_dpms_scratch_regs(encoder, (mode == DRM_MODE_DPMS_ON) ? true : false);

/* adjust pm to dpms change */
radeon_pm_compute_clocks(rdev);
}

static void radeon_legacy_primary_dac_prepare(struct drm_encoder *encoder)
Expand Down Expand Up @@ -482,8 +473,6 @@ static void radeon_legacy_tmds_int_dpms(struct drm_encoder *encoder, int mode)
else
radeon_combios_encoder_dpms_scratch_regs(encoder, (mode == DRM_MODE_DPMS_ON) ? true : false);

/* adjust pm to dpms change */
radeon_pm_compute_clocks(rdev);
}

static void radeon_legacy_tmds_int_prepare(struct drm_encoder *encoder)
Expand Down Expand Up @@ -650,8 +639,6 @@ static void radeon_legacy_tmds_ext_dpms(struct drm_encoder *encoder, int mode)
else
radeon_combios_encoder_dpms_scratch_regs(encoder, (mode == DRM_MODE_DPMS_ON) ? true : false);

/* adjust pm to dpms change */
radeon_pm_compute_clocks(rdev);
}

static void radeon_legacy_tmds_ext_prepare(struct drm_encoder *encoder)
Expand Down Expand Up @@ -860,8 +847,6 @@ static void radeon_legacy_tv_dac_dpms(struct drm_encoder *encoder, int mode)
else
radeon_combios_encoder_dpms_scratch_regs(encoder, (mode == DRM_MODE_DPMS_ON) ? true : false);

/* adjust pm to dpms change */
radeon_pm_compute_clocks(rdev);
}

static void radeon_legacy_tv_dac_prepare(struct drm_encoder *encoder)
Expand Down

0 comments on commit 03214bd

Please sign in to comment.