diff options
| -rw-r--r-- | drivers/gpu/drm/i915/intel_dp.c | 8 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/intel_hdmi.c | 8 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/intel_sdvo.c | 8 | 
3 files changed, 24 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index 89f89b72790..fc3bd9b4037 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c @@ -2428,6 +2428,9 @@ intel_dp_set_property(struct drm_connector *connector,  	}  	if (property == dev_priv->broadcast_rgb_property) { +		bool old_auto = intel_dp->color_range_auto; +		uint32_t old_range = intel_dp->color_range; +  		switch (val) {  		case INTEL_BROADCAST_RGB_AUTO:  			intel_dp->color_range_auto = true; @@ -2443,6 +2446,11 @@ intel_dp_set_property(struct drm_connector *connector,  		default:  			return -EINVAL;  		} + +		if (old_auto == intel_dp->color_range_auto && +		    old_range == intel_dp->color_range) +			return 0; +  		goto done;  	} diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c index 3e6a3ef10d5..a9057930f2b 100644 --- a/drivers/gpu/drm/i915/intel_hdmi.c +++ b/drivers/gpu/drm/i915/intel_hdmi.c @@ -920,6 +920,9 @@ intel_hdmi_set_property(struct drm_connector *connector,  	}  	if (property == dev_priv->broadcast_rgb_property) { +		bool old_auto = intel_hdmi->color_range_auto; +		uint32_t old_range = intel_hdmi->color_range; +  		switch (val) {  		case INTEL_BROADCAST_RGB_AUTO:  			intel_hdmi->color_range_auto = true; @@ -935,6 +938,11 @@ intel_hdmi_set_property(struct drm_connector *connector,  		default:  			return -EINVAL;  		} + +		if (old_auto == intel_hdmi->color_range_auto && +		    old_range == intel_hdmi->color_range) +			return 0; +  		goto done;  	} diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c index a618a6a45a7..d15428404b9 100644 --- a/drivers/gpu/drm/i915/intel_sdvo.c +++ b/drivers/gpu/drm/i915/intel_sdvo.c @@ -1930,6 +1930,9 @@ intel_sdvo_set_property(struct drm_connector *connector,  	}  	if (property == dev_priv->broadcast_rgb_property) { +		bool old_auto = intel_sdvo->color_range_auto; +		uint32_t old_range = intel_sdvo->color_range; +  		switch (val) {  		case INTEL_BROADCAST_RGB_AUTO:  			intel_sdvo->color_range_auto = true; @@ -1947,6 +1950,11 @@ intel_sdvo_set_property(struct drm_connector *connector,  		default:  			return -EINVAL;  		} + +		if (old_auto == intel_sdvo->color_range_auto && +		    old_range == intel_sdvo->color_range) +			return 0; +  		goto done;  	}  |