Re: [Intel-gfx] [PATCH] drm/i915: Call intel_opregion_notify_encoder in intel_sanitize_encoder, v2.
On Wed, May 16, 2018 at 10:50:38AM +0200, Maarten Lankhorst wrote: > Normally this is called on a modeset, but the call is missing when > we inherit the mode from the BIOS, so make sure it's called somewhere > in hardware readout. > > Changes since v1: > - Unconditionally call intel_opregion_notify_encoder. (Ville) > > Signed-off-by: Maarten Lankhorst> Cc: Ville Syrjälä > --- > drivers/gpu/drm/i915/intel_display.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/gpu/drm/i915/intel_display.c > b/drivers/gpu/drm/i915/intel_display.c > index 501b83a9a128..e9dc72341e5f 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -15176,6 +15176,9 @@ static void intel_sanitize_encoder(struct > intel_encoder *encoder) > connector->base.dpms = DRM_MODE_DPMS_OFF; > connector->base.encoder = NULL; > } > + > + /* notify opregion of the sanitized encoder state */ > + intel_opregion_notify_encoder(encoder, connector && has_active_crtc); Seems reasonable. The only minor nit is that we call this before the encoder hooks in the normal modeset path, here we call it after the hooks. Not sure it really matters though, so Reviewed-by: Ville Syrjälä > } > > void i915_redisable_vga_power_on(struct drm_i915_private *dev_priv) > -- > 2.17.0 -- Ville Syrjälä Intel ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH] drm/i915: Call intel_opregion_notify_encoder in intel_sanitize_encoder, v2.
Normally this is called on a modeset, but the call is missing when we inherit the mode from the BIOS, so make sure it's called somewhere in hardware readout. Changes since v1: - Unconditionally call intel_opregion_notify_encoder. (Ville) Signed-off-by: Maarten LankhorstCc: Ville Syrjälä --- drivers/gpu/drm/i915/intel_display.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 501b83a9a128..e9dc72341e5f 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -15176,6 +15176,9 @@ static void intel_sanitize_encoder(struct intel_encoder *encoder) connector->base.dpms = DRM_MODE_DPMS_OFF; connector->base.encoder = NULL; } + + /* notify opregion of the sanitized encoder state */ + intel_opregion_notify_encoder(encoder, connector && has_active_crtc); } void i915_redisable_vga_power_on(struct drm_i915_private *dev_priv) -- 2.17.0 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH] drm/i915: Call intel_opregion_notify_encoder in intel_sanitize_encoder
On Wed, Dec 06, 2017 at 09:52:51AM +0100, Maarten Lankhorst wrote: > Op 01-12-17 om 14:32 schreef Ville Syrjälä: > > On Thu, Nov 30, 2017 at 04:18:53PM +0100, Maarten Lankhorst wrote: > >> Normally this is called on a modeset, but the call is missing when > >> we inherit the mode from the BIOS, so make sure it's called somewhere > >> in hardware readout. > >> > >> Signed-off-by: Maarten Lankhorst> >> --- > >> drivers/gpu/drm/i915/intel_display.c | 2 ++ > >> 1 file changed, 2 insertions(+) > >> > >> diff --git a/drivers/gpu/drm/i915/intel_display.c > >> b/drivers/gpu/drm/i915/intel_display.c > >> index cd60b4d5cd9d..26edae07e006 100644 > >> --- a/drivers/gpu/drm/i915/intel_display.c > >> +++ b/drivers/gpu/drm/i915/intel_display.c > >> @@ -14843,6 +14843,8 @@ static void intel_sanitize_encoder(struct > >> intel_encoder *encoder) > >> > >>connector->base.dpms = DRM_MODE_DPMS_OFF; > >>connector->base.encoder = NULL; > >> + } else if (connector) { > >> + intel_opregion_notify_encoder(encoder, true); > > > > We should probably also do intel_opregion_notify_encoder(encoder, false) > > when intel_sanitize_encoder() disables the encoder. > Would it be terrible to always call intel_opregion_notify_encoder, with true > or false depending on need? Sounds like a reasonable approach to me. But it's hard to say what the correct thing is since this is all some form of BIOS magic. -- Ville Syrjälä Intel OTC ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH] drm/i915: Call intel_opregion_notify_encoder in intel_sanitize_encoder
Op 01-12-17 om 14:32 schreef Ville Syrjälä: > On Thu, Nov 30, 2017 at 04:18:53PM +0100, Maarten Lankhorst wrote: >> Normally this is called on a modeset, but the call is missing when >> we inherit the mode from the BIOS, so make sure it's called somewhere >> in hardware readout. >> >> Signed-off-by: Maarten Lankhorst>> --- >> drivers/gpu/drm/i915/intel_display.c | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/drivers/gpu/drm/i915/intel_display.c >> b/drivers/gpu/drm/i915/intel_display.c >> index cd60b4d5cd9d..26edae07e006 100644 >> --- a/drivers/gpu/drm/i915/intel_display.c >> +++ b/drivers/gpu/drm/i915/intel_display.c >> @@ -14843,6 +14843,8 @@ static void intel_sanitize_encoder(struct >> intel_encoder *encoder) >> >> connector->base.dpms = DRM_MODE_DPMS_OFF; >> connector->base.encoder = NULL; >> +} else if (connector) { >> +intel_opregion_notify_encoder(encoder, true); > > We should probably also do intel_opregion_notify_encoder(encoder, false) > when intel_sanitize_encoder() disables the encoder. Would it be terrible to always call intel_opregion_notify_encoder, with true or false depending on need? ~Maarten ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH] drm/i915: Call intel_opregion_notify_encoder in intel_sanitize_encoder
On Thu, Nov 30, 2017 at 04:18:53PM +0100, Maarten Lankhorst wrote: > Normally this is called on a modeset, but the call is missing when > we inherit the mode from the BIOS, so make sure it's called somewhere > in hardware readout. > > Signed-off-by: Maarten Lankhorst> --- > drivers/gpu/drm/i915/intel_display.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/gpu/drm/i915/intel_display.c > b/drivers/gpu/drm/i915/intel_display.c > index cd60b4d5cd9d..26edae07e006 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -14843,6 +14843,8 @@ static void intel_sanitize_encoder(struct > intel_encoder *encoder) > > connector->base.dpms = DRM_MODE_DPMS_OFF; > connector->base.encoder = NULL; > + } else if (connector) { > + intel_opregion_notify_encoder(encoder, true); We should probably also do intel_opregion_notify_encoder(encoder, false) when intel_sanitize_encoder() disables the encoder. > } > } > > -- > 2.15.0 > > ___ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Ville Syrjälä Intel OTC ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH] drm/i915: Call intel_opregion_notify_encoder in intel_sanitize_encoder
Normally this is called on a modeset, but the call is missing when we inherit the mode from the BIOS, so make sure it's called somewhere in hardware readout. Signed-off-by: Maarten Lankhorst--- drivers/gpu/drm/i915/intel_display.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index cd60b4d5cd9d..26edae07e006 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -14843,6 +14843,8 @@ static void intel_sanitize_encoder(struct intel_encoder *encoder) connector->base.dpms = DRM_MODE_DPMS_OFF; connector->base.encoder = NULL; + } else if (connector) { + intel_opregion_notify_encoder(encoder, true); } } -- 2.15.0 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx