@@ -320,6 +320,23 @@ void drm_sysfs_hotplug_event(struct drm_device *dev)
}
EXPORT_SYMBOL(drm_sysfs_hotplug_event);
+/**
+ * drm_sysfs_generate_uevent - generate a DRM uevent
+ * @dev: DRM device
+ *
+ * Send a uevent for the DRM device specified by @dev.
+ */
+void drm_sysfs_generate_uevent(struct drm_device *dev, char *event_string)
+{
+ char *envp[] = { event_string, NULL };
+
+ DRM_DEBUG("generating DRM uevent with %s\n", event_string);
+
+ kobject_uevent_env(&dev->primary->kdev->kobj, KOBJ_CHANGE, envp);
+}
+EXPORT_SYMBOL(drm_sysfs_generate_uevent);
+
+
static void drm_sysfs_release(struct device *dev)
{
kfree(dev);
@@ -8,5 +8,6 @@ int drm_class_device_register(struct device *dev);
void drm_class_device_unregister(struct device *dev);
void drm_sysfs_hotplug_event(struct drm_device *dev);
+void drm_sysfs_generate_uevent(struct drm_device *dev, char *event_string);
#endif
Routine to generate DRM uevent with custom string is introduced. This is required to notify the UMD about the HDCP link breakage during the ongoing HDCP session. This could happen due to loss of HDCP packet sync or reauthentication request from HDCP sink as per the HDCP spec. Signed-off-by: Ramalingam C <ramalingam.c@intel.com> --- drivers/gpu/drm/drm_sysfs.c | 17 +++++++++++++++++ include/drm/drm_sysfs.h | 1 + 2 files changed, 18 insertions(+)