[PATCH 2/5] drm/i915: Add has_hdmi_monitor to intel_hdmi
ville.syrjala at linux.intel.com
ville.syrjala at linux.intel.com
Mon Jan 14 06:15:07 PST 2013
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>
---
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
More information about the dri-devel
mailing list