diff options
Diffstat (limited to 'drivers/gpu/drm/i915/intel_modes.c')
| -rw-r--r-- | drivers/gpu/drm/i915/intel_modes.c | 30 | 
1 files changed, 30 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_modes.c b/drivers/gpu/drm/i915/intel_modes.c index f70b7cf32bf..9034dd8f33c 100644 --- a/drivers/gpu/drm/i915/intel_modes.c +++ b/drivers/gpu/drm/i915/intel_modes.c @@ -80,3 +80,33 @@ int intel_ddc_get_modes(struct drm_connector *connector,  	return ret;  } + +static const char *broadcast_rgb_names[] = { +	"Full", +	"Limited 16:235", +}; + +void +intel_attach_broadcast_rgb_property(struct drm_connector *connector) +{ +	struct drm_device *dev = connector->dev; +	struct drm_i915_private *dev_priv = dev->dev_private; +	struct drm_property *prop; +	int i; + +	prop = dev_priv->broadcast_rgb_property; +	if (prop == NULL) { +		prop = drm_property_create(dev, DRM_MODE_PROP_ENUM, +					   "Broadcast RGB", +					   ARRAY_SIZE(broadcast_rgb_names)); +		if (prop == NULL) +			return; + +		for (i = 0; i < ARRAY_SIZE(broadcast_rgb_names); i++) +			drm_property_add_enum(prop, i, i, broadcast_rgb_names[i]); + +		dev_priv->broadcast_rgb_property = prop; +	} + +	drm_connector_attach_property(connector, prop, 0); +}  |