Commit 4b4b9238 authored by Ville Syrjälä's avatar Ville Syrjälä

drm/i915: Kill hwmode save/restore

drm core no longer uses crtc->hwmode, and neither does i915, so we can totally ignore it
in i915.

Reviewed-by: mario.kleiner.de@gmail.com
Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
parent 7da903ef
...@@ -9597,21 +9597,19 @@ static int __intel_set_mode(struct drm_crtc *crtc, ...@@ -9597,21 +9597,19 @@ static int __intel_set_mode(struct drm_crtc *crtc,
{ {
struct drm_device *dev = crtc->dev; struct drm_device *dev = crtc->dev;
drm_i915_private_t *dev_priv = dev->dev_private; drm_i915_private_t *dev_priv = dev->dev_private;
struct drm_display_mode *saved_mode, *saved_hwmode; struct drm_display_mode *saved_mode;
struct intel_crtc_config *pipe_config = NULL; struct intel_crtc_config *pipe_config = NULL;
struct intel_crtc *intel_crtc; struct intel_crtc *intel_crtc;
unsigned disable_pipes, prepare_pipes, modeset_pipes; unsigned disable_pipes, prepare_pipes, modeset_pipes;
int ret = 0; int ret = 0;
saved_mode = kcalloc(2, sizeof(*saved_mode), GFP_KERNEL); saved_mode = kmalloc(sizeof(*saved_mode), GFP_KERNEL);
if (!saved_mode) if (!saved_mode)
return -ENOMEM; return -ENOMEM;
saved_hwmode = saved_mode + 1;
intel_modeset_affected_pipes(crtc, &modeset_pipes, intel_modeset_affected_pipes(crtc, &modeset_pipes,
&prepare_pipes, &disable_pipes); &prepare_pipes, &disable_pipes);
*saved_hwmode = crtc->hwmode;
*saved_mode = crtc->mode; *saved_mode = crtc->mode;
/* Hack: Because we don't (yet) support global modeset on multiple /* Hack: Because we don't (yet) support global modeset on multiple
...@@ -9686,9 +9684,6 @@ static int __intel_set_mode(struct drm_crtc *crtc, ...@@ -9686,9 +9684,6 @@ static int __intel_set_mode(struct drm_crtc *crtc,
dev_priv->display.crtc_enable(&intel_crtc->base); dev_priv->display.crtc_enable(&intel_crtc->base);
if (modeset_pipes) { if (modeset_pipes) {
/* Store real post-adjustment hardware mode. */
crtc->hwmode = pipe_config->adjusted_mode;
/* Calculate and store various constants which /* Calculate and store various constants which
* are later needed by vblank and swap-completion * are later needed by vblank and swap-completion
* timestamping. They are derived from true hwmode. * timestamping. They are derived from true hwmode.
...@@ -9699,10 +9694,8 @@ static int __intel_set_mode(struct drm_crtc *crtc, ...@@ -9699,10 +9694,8 @@ static int __intel_set_mode(struct drm_crtc *crtc,
/* FIXME: add subpixel order */ /* FIXME: add subpixel order */
done: done:
if (ret && crtc->enabled) { if (ret && crtc->enabled)
crtc->hwmode = *saved_hwmode;
crtc->mode = *saved_mode; crtc->mode = *saved_mode;
}
out: out:
kfree(pipe_config); kfree(pipe_config);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment