drm/msm/sde: add OT support for source pipe and writeback

OT limit controls the number of outstanding requests on bus client
interface.  This patch adds OT limit control for source pipe and
writeback bus clients.

Change-Id: I66c0ede9da3b292538fec83ba62ccd453ee1ec37
Signed-off-by: Alan Kwong <akwong@codeaurora.org>
diff --git a/drivers/gpu/drm/msm/sde/sde_kms.h b/drivers/gpu/drm/msm/sde/sde_kms.h
index 460491e..e8a6988 100644
--- a/drivers/gpu/drm/msm/sde/sde_kms.h
+++ b/drivers/gpu/drm/msm/sde/sde_kms.h
@@ -140,6 +140,9 @@
 	struct sde_irq irq_obj;
 
 	struct sde_rm rm;
+
+	struct sde_hw_vbif *hw_vbif[VBIF_MAX];
+	struct sde_hw_mdp *hw_mdp;
 };
 
 struct vsync_info {
@@ -149,6 +152,18 @@
 
 #define to_sde_kms(x) container_of(x, struct sde_kms, base)
 
+struct sde_vbif_set_ot_params {
+	u32 xin_id;
+	u32 num;
+	u32 width;
+	u32 height;
+	u32 frame_rate;
+	bool rd;
+	bool is_wfd;
+	u32 vbif_idx;
+	u32 clk_ctrl;
+};
+
 struct sde_plane_state {
 	struct drm_plane_state base;
 
@@ -618,4 +633,12 @@
  */
 void sde_encoders_init(struct drm_device *dev);
 
+/**
+ * sde_vbif_set_ot_limit - set OT limit for vbif client
+ * @sde_kms:	SDE handler
+ * @params:	Pointer to OT configuration parameters
+ */
+void sde_vbif_set_ot_limit(struct sde_kms *sde_kms,
+		struct sde_vbif_set_ot_params *params);
+
 #endif /* __sde_kms_H__ */