Thread (28 messages) 28 messages, 2 authors, 2016-09-14

[PATCH v7 7/9] drm/mediatek: add dsi transfer function

From: YT Shen <hidden>
Date: 2016-09-14 06:19:14
Also in: dri-devel, linux-mediatek, lkml

Hi CK,

On Tue, 2016-09-13 at 17:25 +0800, CK Hu wrote:
Hi, YT:

On Mon, 2016-09-12 at 18:16 +0800, YT Shen wrote:
quoted
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.
We will rollback the changes here.  Move mtk_dsi_irq_data_clear() to
original place.

Add new functions could be used in the future will have problems.
warning: 'mtk_dsi_wait_for_irq_done' defined but not used
[-Wunused-function]
 static s32 mtk_dsi_wait_for_irq_done(struct mtk_dsi *dsi, u32 irq_flag,
warning: 'mtk_dsi_irq_data_clear' defined but not used
[-Wunused-function]
 static void mtk_dsi_irq_data_clear(struct mtk_dsi *dsi, u32 irq_bit)
Regards,
CK
quoted
Regards,
yt.shen
quoted

[1] https://patchwork.kernel.org/patch/9310819/


Regards,
CK
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help