msm: sde: Add pre/post power event handler in SDE rotator

For pre power off event, we want to check for rotator IDLE status and
generate a timeout event logging if the rotator is still in BUSY state.

For post power on event, rotator is reset to default HW state. It is
necessary to synchronize the SW timestamp with the HW register location.

CRs-Fixed: 1066270
Change-Id: I1041141b8dc80db0baec7ffe71a5c2a7b41e2cbb
Signed-off-by: Benjamin Chan <bkchan@codeaurora.org>
diff --git a/drivers/media/platform/msm/sde/rotator/sde_rotator_core.h b/drivers/media/platform/msm/sde/rotator/sde_rotator_core.h
index 3633114..169a892 100644
--- a/drivers/media/platform/msm/sde/rotator/sde_rotator_core.h
+++ b/drivers/media/platform/msm/sde/rotator/sde_rotator_core.h
@@ -293,6 +293,8 @@
 	void (*ops_hw_free)(struct sde_rot_mgr *mgr,
 			struct sde_rot_hw_resource *hw);
 	int (*ops_hw_init)(struct sde_rot_mgr *mgr);
+	void (*ops_hw_pre_pmevent)(struct sde_rot_mgr *mgr, bool pmon);
+	void (*ops_hw_post_pmevent)(struct sde_rot_mgr *mgr, bool pmon);
 	void (*ops_hw_destroy)(struct sde_rot_mgr *mgr);
 	ssize_t (*ops_hw_show_caps)(struct sde_rot_mgr *mgr,
 			struct device_attribute *attr, char *buf, ssize_t len);
@@ -405,6 +407,8 @@
 	struct sde_rot_file_private *ctx,
 	struct sde_rot_entry_container *req);
 
+int sde_rotator_clk_ctrl(struct sde_rot_mgr *mgr, int enable);
+
 static inline void sde_rot_mgr_lock(struct sde_rot_mgr *mgr)
 {
 	mutex_lock(&mgr->lock);