| From 303c303e7dd6b08ad8f5e4d02db287bf157e8d15 Mon Sep 17 00:00:00 2001 |
| From: Daniel Vetter <daniel.vetter@ffwll.ch> |
| Date: Sun, 21 Jul 2013 21:36:58 +0200 |
| Subject: drm/i915/dvo: switch ->mode_fixup to ->compute_config |
| |
| This is the last encoder ->mode_fixup callback we have left, so |
| convert it. |
| |
| Note that we want to only rip out the encoder->mode_fixup callback. |
| But we still have the dvo_slave->mode_fixup callback. dvo is gen2 |
| only, so we won't ever touch this again. Hence why I didn't go through |
| all 6-7 dvo slave drivers and give them the same treatment. I'll add a |
| note to the commit message about this when merging, presuming there's |
| nothing else in the patch that needs to be fixed up. |
| |
| Reviewed-by: Rodrigo Vivi <rodrigo.vivi@gmail.com> |
| [danvet: Add note about why we keep the dvo->mode_fixup callback to |
| answer a question from Rodrigo's review.] |
| Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> |
| |
| (cherry picked from commit a34703752e0b682ab4e6fccf1ce675176cf1dad2) |
| Signed-off-by: Darren Hart <dvhart@linux.intel.com> |
| --- |
| drivers/gpu/drm/i915/intel_dvo.c | 14 ++++++++------ |
| 1 file changed, 8 insertions(+), 6 deletions(-) |
| |
| diff --git a/drivers/gpu/drm/i915/intel_dvo.c b/drivers/gpu/drm/i915/intel_dvo.c |
| index 39cf596cc42c..51eadc944d9a 100644 |
| --- a/drivers/gpu/drm/i915/intel_dvo.c |
| +++ b/drivers/gpu/drm/i915/intel_dvo.c |
| @@ -241,11 +241,11 @@ static int intel_dvo_mode_valid(struct drm_connector *connector, |
| return intel_dvo->dev.dev_ops->mode_valid(&intel_dvo->dev, mode); |
| } |
| |
| -static bool intel_dvo_mode_fixup(struct drm_encoder *encoder, |
| - const struct drm_display_mode *mode, |
| - struct drm_display_mode *adjusted_mode) |
| +static bool intel_dvo_compute_config(struct intel_encoder *encoder, |
| + struct intel_crtc_config *pipe_config) |
| { |
| - struct intel_dvo *intel_dvo = enc_to_dvo(to_intel_encoder(encoder)); |
| + struct intel_dvo *intel_dvo = enc_to_dvo(encoder); |
| + struct drm_display_mode *adjusted_mode = &pipe_config->adjusted_mode; |
| |
| /* If we have timings from the BIOS for the panel, put them in |
| * to the adjusted mode. The CRTC will be set up for this mode, |
| @@ -267,7 +267,9 @@ static bool intel_dvo_mode_fixup(struct drm_encoder *encoder, |
| } |
| |
| if (intel_dvo->dev.dev_ops->mode_fixup) |
| - return intel_dvo->dev.dev_ops->mode_fixup(&intel_dvo->dev, mode, adjusted_mode); |
| + return intel_dvo->dev.dev_ops->mode_fixup(&intel_dvo->dev, |
| + &pipe_config->requested_mode, |
| + adjusted_mode); |
| |
| return true; |
| } |
| @@ -372,7 +374,6 @@ static void intel_dvo_destroy(struct drm_connector *connector) |
| } |
| |
| static const struct drm_encoder_helper_funcs intel_dvo_helper_funcs = { |
| - .mode_fixup = intel_dvo_mode_fixup, |
| .mode_set = intel_dvo_mode_set, |
| }; |
| |
| @@ -470,6 +471,7 @@ void intel_dvo_init(struct drm_device *dev) |
| intel_encoder->enable = intel_enable_dvo; |
| intel_encoder->get_hw_state = intel_dvo_get_hw_state; |
| intel_encoder->get_config = intel_dvo_get_config; |
| + intel_encoder->compute_config = intel_dvo_compute_config; |
| intel_connector->get_hw_state = intel_dvo_connector_get_hw_state; |
| |
| /* Now, try to find a controller */ |
| -- |
| 1.8.5.rc3 |
| |