drm: msm: Add support AD4 custom event notifications

SDM845 target supports AD4 feature. User-space client of AD4 driver
needs to be notified of system back-light notifications, suspend/resume
events. Change adds support in sde display driver for notify the events.

Change-Id: Ia2fbae75cc66389145292082c46d3bd16653e941
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
diff --git a/drivers/gpu/drm/msm/sde/sde_connector.c b/drivers/gpu/drm/msm/sde/sde_connector.c
index 58222f3..905ad93 100644
--- a/drivers/gpu/drm/msm/sde/sde_connector.c
+++ b/drivers/gpu/drm/msm/sde/sde_connector.c
@@ -57,6 +57,7 @@
 	struct dsi_display *display;
 	struct sde_connector *c_conn;
 	int bl_lvl;
+	struct drm_event event;
 
 	brightness = bd->props.brightness;
 
@@ -77,8 +78,13 @@
 	if (!bl_lvl && brightness)
 		bl_lvl = 1;
 
-	if (c_conn->ops.set_backlight)
+	if (c_conn->ops.set_backlight) {
+		event.type = DRM_EVENT_SYS_BACKLIGHT;
+		event.length = sizeof(u32);
+		msm_mode_object_event_nofity(&c_conn->base.base,
+				c_conn->base.dev, &event, (u8 *)&brightness);
 		c_conn->ops.set_backlight(c_conn->display, bl_lvl);
+	}
 
 	return 0;
 }
@@ -1168,5 +1174,14 @@
 int sde_connector_register_custom_event(struct sde_kms *kms,
 		struct drm_connector *conn_drm, u32 event, bool val)
 {
-	return -EINVAL;
+	int ret = -EINVAL;
+
+	switch (event) {
+	case DRM_EVENT_SYS_BACKLIGHT:
+		ret = 0;
+		break;
+	default:
+		break;
+	}
+	return ret;
 }