[v4,10/13] drm/hdcp: update content protection property with uevent

Submitted by Ramalingam C on April 5, 2019, 8:42 a.m.

Details

Message ID 20190405084302.5548-11-ramalingam.c@intel.com
State New
Headers show
Series "HDCP2.2 Phase II" ( rev: 5 ) in Intel GFX

Not browsing as part of any series.

Commit Message

Ramalingam C April 5, 2019, 8:42 a.m.
drm function is defined and exported to update a connector's
content protection property state and to generate a uevent along
with it.

Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
---
 drivers/gpu/drm/drm_hdcp.c | 13 +++++++++++++
 include/drm/drm_hdcp.h     |  2 ++
 2 files changed, 15 insertions(+)

Patch hide | download patch | download mbox

diff --git a/drivers/gpu/drm/drm_hdcp.c b/drivers/gpu/drm/drm_hdcp.c
index c1483862c87c..38c90c053cdd 100644
--- a/drivers/gpu/drm/drm_hdcp.c
+++ b/drivers/gpu/drm/drm_hdcp.c
@@ -431,3 +431,16 @@  int drm_connector_attach_content_protection_property(
 	return 0;
 }
 EXPORT_SYMBOL(drm_connector_attach_content_protection_property);
+
+void drm_hdcp_update_content_protection(struct drm_connector *connector,
+					u64 val)
+{
+	struct drm_device *dev = connector->dev;
+	struct drm_connector_state *state = connector->state;
+
+	WARN_ON(!drm_modeset_is_locked(&dev->mode_config.connection_mutex));
+	state->content_protection = val;
+	drm_sysfs_connector_status_event(connector,
+				 dev->mode_config.content_protection_property);
+}
+EXPORT_SYMBOL(drm_hdcp_update_content_protection);
diff --git a/include/drm/drm_hdcp.h b/include/drm/drm_hdcp.h
index ba0dbb45deaa..f0ef42247f2c 100644
--- a/include/drm/drm_hdcp.h
+++ b/include/drm/drm_hdcp.h
@@ -303,5 +303,7 @@  struct drm_connector;
 bool drm_hdcp_ksvs_revocated(u8 *ksvs, u32 ksv_count);
 int drm_connector_attach_content_protection_property(
 		struct drm_connector *connector, bool hdcp_content_type);
+void drm_hdcp_update_content_protection(struct drm_connector *connector,
+					u64 val);
 
 #endif