diff mbox

[4/4] drm/i915: update dpms property in set_mode

Message ID 1346962115-7267-5-git-send-email-daniel.vetter@ffwll.ch (mailing list archive)
State New, archived
Headers show

Commit Message

Daniel Vetter Sept. 6, 2012, 8:08 p.m. UTC
Hopefully this makes userspace slightly less confused about us
frobbing the dpms state behind its back. Yeah, it would be better
to be more careful with not changing the dpms state, but that is
quite more invasive.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/i915/intel_display.c | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Jesse Barnes Sept. 13, 2012, 8:42 p.m. UTC | #1
On Thu,  6 Sep 2012 22:08:35 +0200
Daniel Vetter <daniel.vetter@ffwll.ch> wrote:

> Hopefully this makes userspace slightly less confused about us
> frobbing the dpms state behind its back. Yeah, it would be better
> to be more careful with not changing the dpms state, but that is
> quite more invasive.
> 
> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
>  drivers/gpu/drm/i915/intel_display.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 805324d..bff0936 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -6806,7 +6806,13 @@ intel_modeset_update_state(struct drm_device *dev, unsigned prepare_pipes)
>  		intel_crtc = to_intel_crtc(connector->encoder->crtc);
>  
>  		if (prepare_pipes & (1 << intel_crtc->pipe)) {
> +			struct drm_property *dpms_property =
> +				dev->mode_config.dpms_property;
> +
>  			connector->dpms = DRM_MODE_DPMS_ON;
> +			drm_connector_property_set_value(connector,
> +							 dpms_property,
> +							 DRM_MODE_DPMS_ON);
>  
>  			intel_encoder = to_intel_encoder(connector->encoder);
>  			intel_encoder->connectors_active = true;

Both this and the last one need lots of testing coming from different
DPMS states between fbcon and X, especially across different heads and
connectors.

Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Daniel Vetter Sept. 14, 2012, 9:38 p.m. UTC | #2
On Thu, Sep 13, 2012 at 01:42:01PM -0700, Jesse Barnes wrote:
> On Thu,  6 Sep 2012 22:08:35 +0200
> Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> 
> > Hopefully this makes userspace slightly less confused about us
> > frobbing the dpms state behind its back. Yeah, it would be better
> > to be more careful with not changing the dpms state, but that is
> > quite more invasive.
> > 
> > Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> > ---
> >  drivers/gpu/drm/i915/intel_display.c | 6 ++++++
> >  1 file changed, 6 insertions(+)
> > 
> > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> > index 805324d..bff0936 100644
> > --- a/drivers/gpu/drm/i915/intel_display.c
> > +++ b/drivers/gpu/drm/i915/intel_display.c
> > @@ -6806,7 +6806,13 @@ intel_modeset_update_state(struct drm_device *dev, unsigned prepare_pipes)
> >  		intel_crtc = to_intel_crtc(connector->encoder->crtc);
> >  
> >  		if (prepare_pipes & (1 << intel_crtc->pipe)) {
> > +			struct drm_property *dpms_property =
> > +				dev->mode_config.dpms_property;
> > +
> >  			connector->dpms = DRM_MODE_DPMS_ON;
> > +			drm_connector_property_set_value(connector,
> > +							 dpms_property,
> > +							 DRM_MODE_DPMS_ON);
> >  
> >  			intel_encoder = to_intel_encoder(connector->encoder);
> >  			intel_encoder->connectors_active = true;
> 
> Both this and the last one need lots of testing coming from different
> DPMS states between fbcon and X, especially across different heads and
> connectors.
> 
> Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>

I've merged all four patches for -next, thanks for the review.
-Daniel
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 805324d..bff0936 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -6806,7 +6806,13 @@  intel_modeset_update_state(struct drm_device *dev, unsigned prepare_pipes)
 		intel_crtc = to_intel_crtc(connector->encoder->crtc);
 
 		if (prepare_pipes & (1 << intel_crtc->pipe)) {
+			struct drm_property *dpms_property =
+				dev->mode_config.dpms_property;
+
 			connector->dpms = DRM_MODE_DPMS_ON;
+			drm_connector_property_set_value(connector,
+							 dpms_property,
+							 DRM_MODE_DPMS_ON);
 
 			intel_encoder = to_intel_encoder(connector->encoder);
 			intel_encoder->connectors_active = true;