[PATCH 10/72] gpu: ipu-v3: Add ipu_dc_uninit_sync()

Steve Longerbeam slongerbeam at gmail.com
Fri Oct 31 15:53:53 PDT 2014


Adds the function ipu_dc_uninit_sync() which tears down
ipu_dc_init_sync().

Signed-off-by: Steve Longerbeam <steve_longerbeam at mentor.com>
Signed-off-by: Muzaffar Mahmood <muzaffar_mahmood at mentor.com>
---
 drivers/gpu/ipu-v3/ipu-dc.c |   14 ++++++++++++++
 include/video/imx-ipu-v3.h  |    1 +
 2 files changed, 15 insertions(+)

diff --git a/drivers/gpu/ipu-v3/ipu-dc.c b/drivers/gpu/ipu-v3/ipu-dc.c
index 36c7c57..6992f84 100644
--- a/drivers/gpu/ipu-v3/ipu-dc.c
+++ b/drivers/gpu/ipu-v3/ipu-dc.c
@@ -327,6 +327,20 @@ int ipu_dc_init_sync(struct ipu_dc *dc, struct ipu_di *di, bool interlaced,
 }
 EXPORT_SYMBOL_GPL(ipu_dc_init_sync);
 
+void ipu_dc_uninit_sync(struct ipu_dc *dc)
+{
+	dc_link_event(dc, DC_EVT_NL, 0, 0);
+	dc_link_event(dc, DC_EVT_EOL, 0, 0);
+	dc_link_event(dc, DC_EVT_NEW_DATA, 0, 0);
+	dc_link_event(dc, DC_EVT_NF, 0, 0);
+	dc_link_event(dc, DC_EVT_NFIELD, 0, 0);
+	dc_link_event(dc, DC_EVT_EOF, 0, 0);
+	dc_link_event(dc, DC_EVT_EOFIELD, 0, 0);
+	dc_link_event(dc, DC_EVT_NEW_CHAN, 0, 0);
+	dc_link_event(dc, DC_EVT_NEW_ADDR, 0, 0);
+}
+EXPORT_SYMBOL_GPL(ipu_dc_uninit_sync);
+
 void ipu_dc_enable(struct ipu_soc *ipu)
 {
 	ipu_module_enable(ipu, IPU_CONF_DC_EN);
diff --git a/include/video/imx-ipu-v3.h b/include/video/imx-ipu-v3.h
index 032948b5..758c773 100644
--- a/include/video/imx-ipu-v3.h
+++ b/include/video/imx-ipu-v3.h
@@ -245,6 +245,7 @@ struct ipu_dc *ipu_dc_get(struct ipu_soc *ipu, int channel);
 void ipu_dc_put(struct ipu_dc *dc);
 int ipu_dc_init_sync(struct ipu_dc *dc, struct ipu_di *di, bool interlaced,
 		     u32 pixel_fmt, struct ipu_dc_if_map *new_map, u32 width);
+void ipu_dc_uninit_sync(struct ipu_dc *dc);
 void ipu_dc_enable(struct ipu_soc *ipu);
 void ipu_dc_enable_channel(struct ipu_dc *dc);
 void ipu_dc_disable_channel(struct ipu_dc *dc);
-- 
1.7.9.5



More information about the dri-devel mailing list