diff options
Diffstat (limited to 'drivers/gpu/drm/i915/intel_sdvo.c')
| -rw-r--r-- | drivers/gpu/drm/i915/intel_sdvo.c | 43 | 
1 files changed, 14 insertions, 29 deletions
diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c index e334ec33a47..e36b171c1e7 100644 --- a/drivers/gpu/drm/i915/intel_sdvo.c +++ b/drivers/gpu/drm/i915/intel_sdvo.c @@ -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]; @@ -944,7 +944,6 @@ intel_sdvo_set_input_timings_for_mode(struct intel_sdvo *intel_sdvo,  	intel_sdvo_get_mode_from_dtd(adjusted_mode, &intel_sdvo->input_dtd); -	drm_mode_set_crtcinfo(adjusted_mode, 0);  	return true;  } @@ -1310,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; @@ -1684,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; @@ -1985,7 +1984,7 @@ intel_sdvo_connector_init(struct intel_sdvo_connector *connector,  	drm_connector_helper_add(&connector->base.base,  				 &intel_sdvo_connector_helper_funcs); -	connector->base.base.interlace_allowed = 0; +	connector->base.base.interlace_allowed = 1;  	connector->base.base.doublescan_allowed = 0;  	connector->base.base.display_info.subpixel_order = SubPixelHorizontalRGB; @@ -2277,10 +2276,8 @@ static bool intel_sdvo_tv_create_property(struct intel_sdvo *intel_sdvo,  		intel_sdvo_connector->max_##name = data_value[0]; \  		intel_sdvo_connector->cur_##name = response; \  		intel_sdvo_connector->name = \ -			drm_property_create(dev, DRM_MODE_PROP_RANGE, #name, 2); \ +			drm_property_create_range(dev, 0, #name, 0, data_value[0]); \  		if (!intel_sdvo_connector->name) return false; \ -		intel_sdvo_connector->name->values[0] = 0; \ -		intel_sdvo_connector->name->values[1] = data_value[0]; \  		drm_connector_attach_property(connector, \  					      intel_sdvo_connector->name, \  					      intel_sdvo_connector->cur_##name); \ @@ -2314,25 +2311,19 @@ intel_sdvo_create_enhance_property_tv(struct intel_sdvo *intel_sdvo,  		intel_sdvo_connector->left_margin = data_value[0] - response;  		intel_sdvo_connector->right_margin = intel_sdvo_connector->left_margin;  		intel_sdvo_connector->left = -			drm_property_create(dev, DRM_MODE_PROP_RANGE, -					    "left_margin", 2); +			drm_property_create_range(dev, 0, "left_margin", 0, data_value[0]);  		if (!intel_sdvo_connector->left)  			return false; -		intel_sdvo_connector->left->values[0] = 0; -		intel_sdvo_connector->left->values[1] = data_value[0];  		drm_connector_attach_property(connector,  					      intel_sdvo_connector->left,  					      intel_sdvo_connector->left_margin);  		intel_sdvo_connector->right = -			drm_property_create(dev, DRM_MODE_PROP_RANGE, -					    "right_margin", 2); +			drm_property_create_range(dev, 0, "right_margin", 0, data_value[0]);  		if (!intel_sdvo_connector->right)  			return false; -		intel_sdvo_connector->right->values[0] = 0; -		intel_sdvo_connector->right->values[1] = data_value[0];  		drm_connector_attach_property(connector,  					      intel_sdvo_connector->right,  					      intel_sdvo_connector->right_margin); @@ -2356,25 +2347,21 @@ intel_sdvo_create_enhance_property_tv(struct intel_sdvo *intel_sdvo,  		intel_sdvo_connector->top_margin = data_value[0] - response;  		intel_sdvo_connector->bottom_margin = intel_sdvo_connector->top_margin;  		intel_sdvo_connector->top = -			drm_property_create(dev, DRM_MODE_PROP_RANGE, -					    "top_margin", 2); +			drm_property_create_range(dev, 0, +					    "top_margin", 0, data_value[0]);  		if (!intel_sdvo_connector->top)  			return false; -		intel_sdvo_connector->top->values[0] = 0; -		intel_sdvo_connector->top->values[1] = data_value[0];  		drm_connector_attach_property(connector,  					      intel_sdvo_connector->top,  					      intel_sdvo_connector->top_margin);  		intel_sdvo_connector->bottom = -			drm_property_create(dev, DRM_MODE_PROP_RANGE, -					    "bottom_margin", 2); +			drm_property_create_range(dev, 0, +					    "bottom_margin", 0, data_value[0]);  		if (!intel_sdvo_connector->bottom)  			return false; -		intel_sdvo_connector->bottom->values[0] = 0; -		intel_sdvo_connector->bottom->values[1] = data_value[0];  		drm_connector_attach_property(connector,  					      intel_sdvo_connector->bottom,  					      intel_sdvo_connector->bottom_margin); @@ -2403,12 +2390,10 @@ intel_sdvo_create_enhance_property_tv(struct intel_sdvo *intel_sdvo,  		intel_sdvo_connector->max_dot_crawl = 1;  		intel_sdvo_connector->cur_dot_crawl = response & 0x1;  		intel_sdvo_connector->dot_crawl = -			drm_property_create(dev, DRM_MODE_PROP_RANGE, "dot_crawl", 2); +			drm_property_create_range(dev, 0, "dot_crawl", 0, 1);  		if (!intel_sdvo_connector->dot_crawl)  			return false; -		intel_sdvo_connector->dot_crawl->values[0] = 0; -		intel_sdvo_connector->dot_crawl->values[1] = 1;  		drm_connector_attach_property(connector,  					      intel_sdvo_connector->dot_crawl,  					      intel_sdvo_connector->cur_dot_crawl);  |