@@ -639,6 +639,24 @@ int ipu_di_init_sync_panel(struct ipu_di *di, struct ipu_di_signal_cfg *sig)
}
EXPORT_SYMBOL_GPL(ipu_di_init_sync_panel);
+void ipu_di_uninit_sync_panel(struct ipu_di *di)
+{
+ u32 reg, di_gen;
+
+ mutex_lock(&di_mutex);
+
+ di_gen = ipu_di_read(di, DI_GENERAL);
+ di_gen |= 0x3ff | DI_GEN_POLARITY_DISP_CLK;
+ ipu_di_write(di, di_gen, DI_GENERAL);
+
+ reg = ipu_di_read(di, DI_POL);
+ reg |= 0x3ffffff;
+ ipu_di_write(di, reg, DI_POL);
+
+ mutex_unlock(&di_mutex);
+}
+EXPORT_SYMBOL(ipu_di_uninit_sync_panel);
+
int ipu_di_enable(struct ipu_di *di)
{
int ret;
@@ -260,6 +260,7 @@ int ipu_di_disable(struct ipu_di *);
int ipu_di_enable(struct ipu_di *);
int ipu_di_get_num(struct ipu_di *);
int ipu_di_init_sync_panel(struct ipu_di *, struct ipu_di_signal_cfg *sig);
+void ipu_di_uninit_sync_panel(struct ipu_di *di);
/*
* IPU Display Multi FIFO Controller (dmfc) functions
Adds ipu_di_uninit_sync_panel() which tears down ipu_di_init_sync_panel(). Signed-off-by: Steve Longerbeam <steve_longerbeam@mentor.com> --- drivers/gpu/ipu-v3/ipu-di.c | 18 ++++++++++++++++++ include/video/imx-ipu-v3.h | 1 + 2 files changed, 19 insertions(+)