Commit 585b000d authored by Ramalingam C's avatar Ramalingam C Committed by Daniel Vetter

drm: move content protection property to mode_config

Content protection property is created once and stored in
drm_mode_config. And attached to all HDCP capable connectors.
Signed-off-by: default avatarRamalingam C <ramalingam.c@intel.com>
Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
Acked-by: default avatarDave Airlie <airlied@gmail.com>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20190507162745.25600-2-ramalingam.c@intel.com
parent 0152b3b3
...@@ -732,7 +732,7 @@ static int drm_atomic_connector_set_property(struct drm_connector *connector, ...@@ -732,7 +732,7 @@ static int drm_atomic_connector_set_property(struct drm_connector *connector,
state->content_type = val; state->content_type = val;
} else if (property == connector->scaling_mode_property) { } else if (property == connector->scaling_mode_property) {
state->scaling_mode = val; state->scaling_mode = val;
} else if (property == connector->content_protection_property) { } else if (property == config->content_protection_property) {
if (val == DRM_MODE_CONTENT_PROTECTION_ENABLED) { if (val == DRM_MODE_CONTENT_PROTECTION_ENABLED) {
DRM_DEBUG_KMS("only drivers can set CP Enabled\n"); DRM_DEBUG_KMS("only drivers can set CP Enabled\n");
return -EINVAL; return -EINVAL;
...@@ -814,7 +814,7 @@ drm_atomic_connector_get_property(struct drm_connector *connector, ...@@ -814,7 +814,7 @@ drm_atomic_connector_get_property(struct drm_connector *connector,
*val = state->colorspace; *val = state->colorspace;
} else if (property == connector->scaling_mode_property) { } else if (property == connector->scaling_mode_property) {
*val = state->scaling_mode; *val = state->scaling_mode;
} else if (property == connector->content_protection_property) { } else if (property == config->content_protection_property) {
*val = state->content_protection; *val = state->content_protection;
} else if (property == config->writeback_fb_id_property) { } else if (property == config->writeback_fb_id_property) {
/* Writeback framebuffer is one-shot, write and forget */ /* Writeback framebuffer is one-shot, write and forget */
......
...@@ -1534,18 +1534,19 @@ int drm_connector_attach_content_protection_property( ...@@ -1534,18 +1534,19 @@ int drm_connector_attach_content_protection_property(
struct drm_connector *connector) struct drm_connector *connector)
{ {
struct drm_device *dev = connector->dev; struct drm_device *dev = connector->dev;
struct drm_property *prop; struct drm_property *prop =
dev->mode_config.content_protection_property;
prop = drm_property_create_enum(dev, 0, "Content Protection", if (!prop)
drm_cp_enum_list, prop = drm_property_create_enum(dev, 0, "Content Protection",
ARRAY_SIZE(drm_cp_enum_list)); drm_cp_enum_list,
ARRAY_SIZE(drm_cp_enum_list));
if (!prop) if (!prop)
return -ENOMEM; return -ENOMEM;
drm_object_attach_property(&connector->base, prop, drm_object_attach_property(&connector->base, prop,
DRM_MODE_CONTENT_PROTECTION_UNDESIRED); DRM_MODE_CONTENT_PROTECTION_UNDESIRED);
dev->mode_config.content_protection_property = prop;
connector->content_protection_property = prop;
return 0; return 0;
} }
......
...@@ -1061,12 +1061,6 @@ struct drm_connector { ...@@ -1061,12 +1061,6 @@ struct drm_connector {
*/ */
struct drm_property *vrr_capable_property; struct drm_property *vrr_capable_property;
/**
* @content_protection_property: DRM ENUM property for content
* protection. See drm_connector_attach_content_protection_property().
*/
struct drm_property *content_protection_property;
/** /**
* @colorspace_property: Connector property to set the suitable * @colorspace_property: Connector property to set the suitable
* colorspace supported by the sink. * colorspace supported by the sink.
......
...@@ -836,6 +836,12 @@ struct drm_mode_config { ...@@ -836,6 +836,12 @@ struct drm_mode_config {
*/ */
struct drm_property *writeback_out_fence_ptr_property; struct drm_property *writeback_out_fence_ptr_property;
/**
* @content_protection_property: DRM ENUM property for content
* protection. See drm_connector_attach_content_protection_property().
*/
struct drm_property *content_protection_property;
/* dumb ioctl parameters */ /* dumb ioctl parameters */
uint32_t preferred_depth, prefer_shadow; uint32_t preferred_depth, prefer_shadow;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment