msm: sde: add clock & bandwidth control for inline rotation

Add clock and bandwidth control for inline rotation. Client
can provide per commit clock and bandwidth requirement to control
power/performance.

CRs-Fixed: 2009714
Change-Id: If398540717f5773dd3217a0660ebb01f8115dbab
Signed-off-by: Alan Kwong <akwong@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 6ee1d8d..be36f42 100644
--- a/drivers/media/platform/msm/sde/rotator/sde_rotator_core.h
+++ b/drivers/media/platform/msm/sde/rotator/sde_rotator_core.h
@@ -65,6 +65,9 @@
 /* use client mapped i/o virtual address */
 #define SDE_ROTATION_EXT_IOVA		0x80000
 
+/* use client provided clock/bandwidth parameters */
+#define SDE_ROTATION_EXT_PERF		0x100000
+
 /**********************************************************************
  * configuration structures
  **********************************************************************/
@@ -91,6 +94,8 @@
  * @input: input buffer information
  * @output: output buffer information
  * @frame_rate: session frame rate in fps
+ * @clk_rate: requested rotator clock rate if SDE_ROTATION_EXT_PERF is set
+ * @data_bw: requested data bus bandwidth if SDE_ROTATION_EXT_PERF is set
  * @flags: configuration flags, e.g. rotation angle, flip, etc...
  */
 struct sde_rotation_config {
@@ -98,6 +103,8 @@
 	struct sde_rotation_buf_info	input;
 	struct sde_rotation_buf_info	output;
 	uint32_t	frame_rate;
+	uint64_t	clk_rate;
+	uint64_t	data_bw;
 	uint32_t	flags;
 };