[PATCH v7 7/9] drm/mediatek: add dsi transfer function
From: CK Hu <hidden>
Date: 2016-09-13 09:26:02
Also in:
dri-devel, linux-mediatek, lkml
Hi, YT: On Mon, 2016-09-12 at 18:16 +0800, YT Shen wrote:
Hi CK, On Wed, 2016-09-07 at 10:33 +0800, CK Hu wrote:quoted
Hi, YT: On Fri, 2016-09-02 at 19:24 +0800, YT Shen wrote:quoted
From: shaoming chen <redacted> add dsi read/write commands for transfer function Signed-off-by: shaoming chen <redacted> --- drivers/gpu/drm/mediatek/mtk_dsi.c | 188 +++++++++++++++++++++++++++++++++++++ 1 file changed, 188 insertions(+)[snip...]quoted
+static void mtk_dsi_irq_data_clear(struct mtk_dsi *dsi, u32 irq_bit) +{ + dsi->irq_data &= ~irq_bit; +} +[snip...]quoted
+ +static s32 mtk_dsi_wait_for_irq_done(struct mtk_dsi *dsi, u32 irq_flag, + unsigned int timeout) +{ + s32 ret = 0; + unsigned long jiffies = msecs_to_jiffies(timeout); + + ret = wait_event_interruptible_timeout(_dsi_irq_wait_queue, + dsi->irq_data & irq_flag, + jiffies); + if (ret == 0) { + dev_info(dsi->dev, "Wait DSI IRQ(0x%08x) Timeout\n", irq_flag); + + mtk_dsi_enable(dsi); + mtk_dsi_reset_engine(dsi); + } + + return ret; +}I think mtk_dsi_irq_data_clear() and mtk_dsi_wait_for_irq_done() should be moved to the 6th patch [1] of this series because these two functions deal the irq control.We will move mtk_dsi_irq_data_clear() to patch "drm/mediatek: add dsi interrupt control" and put mtk_dsi_wait_for_irq_done() here, because it is used in the transfer function.
mtk_dsi_irq_data_clear() is also only used in transfer function now. I think both function could be used for other application rather than transfer function, so these two function are general function for irq control. Regards, CK
Regards, yt.shenquoted
[1] https://patchwork.kernel.org/patch/9310819/ Regards, CK