[Intel-gfx] [PATCH 2/5] drm/i915: Add has_hdmi_monitor to intel_hdmi
Ville Syrjälä
ville.syrjala at linux.intel.com
Mon Jan 14 16:25:01 CET 2013
On Mon, Jan 14, 2013 at 04:09:39PM +0100, Daniel Vetter wrote:
> On Mon, Jan 14, 2013 at 04:15:07PM +0200, ville.syrjala at linux.intel.com wrote:
> > From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> >
> > intel_hdmi.has_hdmi_sink is tied into the force audio property, so it
> > doesn't seem like the correct way to detect HDMI monitors. Instead add
> > a new has_hdmi_monitor member which simply tells whether a HDMI monitor
> > was detected.
> >
> > Not sure if this is the best way, or if we should just use has_hdmi_sink
> > for the CEA-861 automatic color range property... At least the infoframe
> > stuff already depends on has_hdmi_sink.
> >
> > Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
> Imo it looks simpler if we just reuse the has_hdmi_sink bool. That already
> controls infoframes and similar stuff, so if users would force dvi mode
> this would automatically also disable all broadcast range magic (if that's
> in the default value). Users could still override the broadcast stuff
> explictly.
OK. I can do that.
> I guess it'd have been better if we have a a force-dvi master switch
> outside of the audio property to control all things hdmi. But alas
> ...
Yeah it feels a bit weird that some audio prop controls it all.
> -Daniel
>
> > ---
> > drivers/gpu/drm/i915/intel_drv.h | 1 +
> > drivers/gpu/drm/i915/intel_hdmi.c | 6 ++++--
> > 2 files changed, 5 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
> > index 4df47be..aed7478 100644
> > --- a/drivers/gpu/drm/i915/intel_drv.h
> > +++ b/drivers/gpu/drm/i915/intel_drv.h
> > @@ -344,6 +344,7 @@ struct intel_hdmi {
> > int ddc_bus;
> > uint32_t color_range;
> > bool has_hdmi_sink;
> > + bool has_hdmi_monitor;
> > bool has_audio;
> > enum hdmi_force_audio force_audio;
> > void (*write_infoframe)(struct drm_encoder *encoder,
> > diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
> > index f194d75..e663dec 100644
> > --- a/drivers/gpu/drm/i915/intel_hdmi.c
> > +++ b/drivers/gpu/drm/i915/intel_hdmi.c
> > @@ -815,6 +815,7 @@ intel_hdmi_detect(struct drm_connector *connector, bool force)
> > return status;
> >
> > intel_hdmi->has_hdmi_sink = false;
> > + intel_hdmi->has_hdmi_monitor = false;
> > intel_hdmi->has_audio = false;
> > edid = drm_get_edid(connector,
> > intel_gmbus_get_adapter(dev_priv,
> > @@ -823,9 +824,10 @@ intel_hdmi_detect(struct drm_connector *connector, bool force)
> > if (edid) {
> > if (edid->input & DRM_EDID_INPUT_DIGITAL) {
> > status = connector_status_connected;
> > + intel_hdmi->has_hdmi_monitor =
> > + drm_detect_hdmi_monitor(edid);
> > if (intel_hdmi->force_audio != HDMI_AUDIO_OFF_DVI)
> > - intel_hdmi->has_hdmi_sink =
> > - drm_detect_hdmi_monitor(edid);
> > + intel_hdmi->has_hdmi_sink = intel_hdmi->has_hdmi_monitor;
> > intel_hdmi->has_audio = drm_detect_monitor_audio(edid);
> > }
> > kfree(edid);
> > --
> > 1.7.8.6
> >
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> +41 (0) 79 365 57 48 - http://blog.ffwll.ch
--
Ville Syrjälä
Intel OTC
More information about the Intel-gfx
mailing list