diff options
author | Ingo Molnar | 2017-10-23 13:30:47 +0200 |
---|---|---|
committer | Ingo Molnar | 2017-10-23 13:30:47 +0200 |
commit | f95b23a112f1a31ea042483540cd907b58d23a5f (patch) | |
tree | 3d41d2f8cf1d66ed593deb12f25a30d2905eb077 /drivers/gpu/ipu-v3/ipu-prg.c | |
parent | x86/entry: Use SYSCALL_DEFINE() macros for sys_modify_ldt() (diff) | |
parent | x86/unwind: Show function name+offset in ORC error messages (diff) | |
download | kernel-qcow2-linux-f95b23a112f1a31ea042483540cd907b58d23a5f.tar.gz kernel-qcow2-linux-f95b23a112f1a31ea042483540cd907b58d23a5f.tar.xz kernel-qcow2-linux-f95b23a112f1a31ea042483540cd907b58d23a5f.zip |
Merge branch 'x86/urgent' into x86/asm, to pick up dependent fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'drivers/gpu/ipu-v3/ipu-prg.c')
-rw-r--r-- | drivers/gpu/ipu-v3/ipu-prg.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/gpu/ipu-v3/ipu-prg.c b/drivers/gpu/ipu-v3/ipu-prg.c index ecc9ea44dc50..0013ca9f72c8 100644 --- a/drivers/gpu/ipu-v3/ipu-prg.c +++ b/drivers/gpu/ipu-v3/ipu-prg.c @@ -14,6 +14,7 @@ #include <drm/drm_fourcc.h> #include <linux/clk.h> #include <linux/err.h> +#include <linux/iopoll.h> #include <linux/mfd/syscon.h> #include <linux/mfd/syscon/imx6q-iomuxc-gpr.h> #include <linux/module.h> @@ -329,6 +330,12 @@ int ipu_prg_channel_configure(struct ipuv3_channel *ipu_chan, val = IPU_PRG_REG_UPDATE_REG_UPDATE; writel(val, prg->regs + IPU_PRG_REG_UPDATE); + /* wait for both double buffers to be filled */ + readl_poll_timeout(prg->regs + IPU_PRG_STATUS, val, + (val & IPU_PRG_STATUS_BUFFER0_READY(prg_chan)) && + (val & IPU_PRG_STATUS_BUFFER1_READY(prg_chan)), + 5, 1000); + clk_disable_unprepare(prg->clk_ipg); chan->enabled = true; |