drm/i915: use the new hdmi_force_audio enum more
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 23 Feb 2012 16:14:47 +0000 (17:14 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Mon, 27 Feb 2012 16:45:36 +0000 (17:45 +0100)
While fixing up a merge conflict with drm-next I've noticed that we
use the same audio drm connector property also for dp and sdvo
outputs.

So put the new enum to some good use and convert these paths, too. The
HDMI_AUDIO_ prefix is a bit a misnomer. But at least for sdvo it makes
sense (and you can also connect a hdmi monitor with a dp->hdmi cable),
so I've decided to stick with it.

Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_dp.c
drivers/gpu/drm/i915/intel_sdvo.c

index 39eccf908a69973738d3570455123e56803611b7..110552ff302c1dea71360dfc84da622d1cec1785 100644 (file)
@@ -49,7 +49,7 @@ struct intel_dp {
        uint32_t DP;
        uint8_t  link_configuration[DP_LINK_CONFIGURATION_SIZE];
        bool has_audio;
-       int force_audio;
+       enum hdmi_force_audio force_audio;
        uint32_t color_range;
        int dpms_mode;
        uint8_t link_bw;
@@ -2116,8 +2116,8 @@ intel_dp_detect(struct drm_connector *connector, bool force)
        if (status != connector_status_connected)
                return status;
 
-       if (intel_dp->force_audio) {
-               intel_dp->has_audio = intel_dp->force_audio > 0;
+       if (intel_dp->force_audio != HDMI_AUDIO_AUTO) {
+               intel_dp->has_audio = (intel_dp->force_audio == HDMI_AUDIO_ON);
        } else {
                edid = intel_dp_get_edid(connector, &intel_dp->adapter);
                if (edid) {
@@ -2217,10 +2217,10 @@ intel_dp_set_property(struct drm_connector *connector,
 
                intel_dp->force_audio = i;
 
-               if (i == 0)
+               if (i == HDMI_AUDIO_AUTO)
                        has_audio = intel_dp_detect_audio(connector);
                else
-                       has_audio = i > 0;
+                       has_audio = (i == HDMI_AUDIO_ON);
 
                if (has_audio == intel_dp->has_audio)
                        return 0;
index 724190ec496b89a52868340e3f22fdab2325e8b9..e36b171c1e7d5ff2b7a95b0dc6dd5db741f6e2fc 100644 (file)
@@ -148,7 +148,7 @@ struct intel_sdvo_connector {
        /* Mark the type of connector */
        uint16_t output_flag;
 
-       int force_audio;
+       enum hdmi_force_audio force_audio;
 
        /* This contains all current supported TV format */
        u8 tv_format_supported[TV_FORMAT_NUM];
@@ -1309,8 +1309,8 @@ intel_sdvo_tmds_sink_detect(struct drm_connector *connector)
 
        if (status == connector_status_connected) {
                struct intel_sdvo_connector *intel_sdvo_connector = to_intel_sdvo_connector(connector);
-               if (intel_sdvo_connector->force_audio)
-                       intel_sdvo->has_hdmi_audio = intel_sdvo_connector->force_audio > 0;
+               if (intel_sdvo_connector->force_audio != HDMI_AUDIO_AUTO)
+                       intel_sdvo->has_hdmi_audio = (intel_sdvo_connector->force_audio == HDMI_AUDIO_ON);
        }
 
        return status;
@@ -1683,10 +1683,10 @@ intel_sdvo_set_property(struct drm_connector *connector,
 
                intel_sdvo_connector->force_audio = i;
 
-               if (i == 0)
+               if (i == HDMI_AUDIO_AUTO)
                        has_audio = intel_sdvo_detect_hdmi_audio(connector);
                else
-                       has_audio = i > 0;
+                       has_audio = (i == HDMI_AUDIO_ON);
 
                if (has_audio == intel_sdvo->has_hdmi_audio)
                        return 0;