Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e18177cc authored by Sibi Sankar's avatar Sibi Sankar Committed by Rob Clark
Browse files

drm/msm/dsi: add dsi host helper functions support



Add dsi host helper functions support for DSI v2 and DSI 6G 1.x
controllers that are under version checks

Signed-off-by: default avatarSibi Sankar <sibis@codeaurora.org>
Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
parent 6e8bed6a
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -149,6 +149,7 @@ static inline int msm_dsi_pll_set_usecase(struct msm_dsi_pll *pll,
#endif

/* dsi host */
struct msm_dsi_host;
int msm_dsi_host_xfer_prepare(struct mipi_dsi_host *host,
					const struct mipi_dsi_msg *msg);
void msm_dsi_host_xfer_restore(struct mipi_dsi_host *host,
+12 −0
Original line number Diff line number Diff line
@@ -40,10 +40,22 @@ struct msm_dsi_config {
	const int num_dsi;
};

struct msm_dsi_host_cfg_ops {
	int (*link_clk_enable)(struct msm_dsi_host *msm_host);
	void (*link_clk_disable)(struct msm_dsi_host *msm_host);
	int (*clk_init_ver)(struct msm_dsi_host *msm_host);
	int (*tx_buf_alloc)(struct msm_dsi_host *msm_host, int size);
	void* (*tx_buf_get)(struct msm_dsi_host *msm_host);
	void (*tx_buf_put)(struct msm_dsi_host *msm_host);
	int (*dma_base_get)(struct msm_dsi_host *msm_host, uint64_t *iova);
	int (*calc_clk_rate)(struct msm_dsi_host *msm_host);
};

struct msm_dsi_cfg_handler {
	u32 major;
	u32 minor;
	const struct msm_dsi_config *cfg;
	const struct msm_dsi_host_cfg_ops *ops;
};

const struct msm_dsi_cfg_handler *msm_dsi_cfg_get(u32 major, u32 minor);