浏览代码

drm/i915: use the new hdmi_force_audio enum more

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>
Daniel Vetter 13 年之前
父节点
当前提交
c3e5f67b39
共有 2 个文件被更改,包括 10 次插入10 次删除
  1. 5 5
      drivers/gpu/drm/i915/intel_dp.c
  2. 5 5
      drivers/gpu/drm/i915/intel_sdvo.c

+ 5 - 5
drivers/gpu/drm/i915/intel_dp.c

@@ -49,7 +49,7 @@ struct intel_dp {
 	uint32_t DP;
 	uint32_t DP;
 	uint8_t  link_configuration[DP_LINK_CONFIGURATION_SIZE];
 	uint8_t  link_configuration[DP_LINK_CONFIGURATION_SIZE];
 	bool has_audio;
 	bool has_audio;
-	int force_audio;
+	enum hdmi_force_audio force_audio;
 	uint32_t color_range;
 	uint32_t color_range;
 	int dpms_mode;
 	int dpms_mode;
 	uint8_t link_bw;
 	uint8_t link_bw;
@@ -2116,8 +2116,8 @@ intel_dp_detect(struct drm_connector *connector, bool force)
 	if (status != connector_status_connected)
 	if (status != connector_status_connected)
 		return status;
 		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 {
 	} else {
 		edid = intel_dp_get_edid(connector, &intel_dp->adapter);
 		edid = intel_dp_get_edid(connector, &intel_dp->adapter);
 		if (edid) {
 		if (edid) {
@@ -2217,10 +2217,10 @@ intel_dp_set_property(struct drm_connector *connector,
 
 
 		intel_dp->force_audio = i;
 		intel_dp->force_audio = i;
 
 
-		if (i == 0)
+		if (i == HDMI_AUDIO_AUTO)
 			has_audio = intel_dp_detect_audio(connector);
 			has_audio = intel_dp_detect_audio(connector);
 		else
 		else
-			has_audio = i > 0;
+			has_audio = (i == HDMI_AUDIO_ON);
 
 
 		if (has_audio == intel_dp->has_audio)
 		if (has_audio == intel_dp->has_audio)
 			return 0;
 			return 0;

+ 5 - 5
drivers/gpu/drm/i915/intel_sdvo.c

@@ -148,7 +148,7 @@ struct intel_sdvo_connector {
 	/* Mark the type of connector */
 	/* Mark the type of connector */
 	uint16_t output_flag;
 	uint16_t output_flag;
 
 
-	int force_audio;
+	enum hdmi_force_audio force_audio;
 
 
 	/* This contains all current supported TV format */
 	/* This contains all current supported TV format */
 	u8 tv_format_supported[TV_FORMAT_NUM];
 	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) {
 	if (status == connector_status_connected) {
 		struct intel_sdvo_connector *intel_sdvo_connector = to_intel_sdvo_connector(connector);
 		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;
 	return status;
@@ -1683,10 +1683,10 @@ intel_sdvo_set_property(struct drm_connector *connector,
 
 
 		intel_sdvo_connector->force_audio = i;
 		intel_sdvo_connector->force_audio = i;
 
 
-		if (i == 0)
+		if (i == HDMI_AUDIO_AUTO)
 			has_audio = intel_sdvo_detect_hdmi_audio(connector);
 			has_audio = intel_sdvo_detect_hdmi_audio(connector);
 		else
 		else
-			has_audio = i > 0;
+			has_audio = (i == HDMI_AUDIO_ON);
 
 
 		if (has_audio == intel_sdvo->has_hdmi_audio)
 		if (has_audio == intel_sdvo->has_hdmi_audio)
 			return 0;
 			return 0;