[Intel-gfx] [DRM/I915]: Restore the modeset for every activated CRTC
Jesse Barnes
jbarnes at virtuousgeek.org
Tue Jul 7 20:57:54 CEST 2009
On Tue, 07 Jul 2009 11:40:10 -0700
Eric Anholt <eric at anholt.net> wrote:
> On Thu, 2009-07-02 at 15:16 +0800, yakui.zhao at intel.com wrote:
> > From: Zhao Yakui <yakui.zhao at intel.com>
> >
> > Restore the modeset for every activated CRTC in course of resume.
> > This is realized by calling the function of
> > drm_helper_resume_force_mode. Note: it is meaningful only for the
> > KMS mode.
> >
> > Signed-off-by: Zhao Yakui <yakui.zhao at intel.com>
> > ---
> > drivers/gpu/drm/i915/i915_drv.c | 5 +++++
> > 1 file changed, 5 insertions(+)
> >
> > Index: linux-2.6/drivers/gpu/drm/i915/i915_drv.c
> > ===================================================================
> > --- linux-2.6.orig/drivers/gpu/drm/i915/i915_drv.c
> > 2009-07-02 14:24:44.000000000 +0800 +++
> > linux-2.6/drivers/gpu/drm/i915/i915_drv.c 2009-07-02
> > 14:25:52.000000000 +0800 @@ -35,6 +35,7 @@
> > #include "drm_pciids.h"
> > #include <linux/console.h>
> > +#include "drm_crtc_helper.h"
> >
> > static unsigned int i915_modeset = -1;
> > module_param_named(modeset, i915_modeset, int, 0400);
> > @@ -115,6 +116,10 @@
> >
> > drm_irq_install(dev);
> > }
> > + if (drm_core_check_feature(dev, DRIVER_MODESET)) {
> > + /* Resume the modeset for every activated CRTC */
> > + drm_helper_resume_force_mode(dev);
> > + }
> >
> > return ret;
> > }
>
> So, this patch does a full modeset on top of the almost-full modeset
> done by the suspend/resume code. That seems bogus -- if we're going
> to do this, we shouldn't do the rest of the save/restore for
> mdoesetting. However, note that drm_helper_resume_force_mode doesn't
> turn off disabled connectors, which seems wrong.
Yeah, that's one problem; I think the code should also be structured a
bit differently. We really want to track whole KMS configurations
(output configuration and associated buffers), and have functions for
saving & restoring those (including forced restoration, e.g. for
lastclose or panic). Right now the two uses are a bit muddled, which
means panic/lastclose can fail, and force_mode doesn't do the same
thing as a regular set_crtc call.
--
Jesse Barnes, Intel Open Source Technology Center
More information about the Intel-gfx
mailing list