From: hjc Date: Thu, 9 Apr 2015 03:54:56 +0000 (+0800) Subject: rk3368 lcdc: flush update regs worker when switch screen X-Git-Tag: firefly_0821_release~4158^2~227 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=a7903222962051452056729f3691d0438bf76829;p=firefly-linux-kernel-4.4.55.git rk3368 lcdc: flush update regs worker when switch screen Signed-off-by: hjc --- diff --git a/drivers/video/rockchip/lcdc/rk3368_lcdc.c b/drivers/video/rockchip/lcdc/rk3368_lcdc.c index 14e969f7b575..42d411723559 100755 --- a/drivers/video/rockchip/lcdc/rk3368_lcdc.c +++ b/drivers/video/rockchip/lcdc/rk3368_lcdc.c @@ -1733,7 +1733,6 @@ static int lcdc_reset(struct rk_lcdc_driver *dev_drv, bool initscreen) mask = m_WIN0_EN; val = v_WIN0_EN(0); lcdc_msk_reg(lcdc_dev, WIN0_CTRL0, mask, val); - lcdc_msk_reg(lcdc_dev, WIN1_CTRL0, mask, val); mask = m_WIN2_EN | m_WIN2_MST0_EN | @@ -1784,6 +1783,8 @@ static int rk3368_load_screen(struct rk_lcdc_driver *dev_drv, bool initscreen) container_of(dev_drv, struct lcdc_device, driver); struct rk_screen *screen = dev_drv->cur_screen; u32 mask, val; + if (!lcdc_dev->standby && initscreen && (dev_drv->first_frame != 1)) + flush_kthread_worker(&dev_drv->update_regs_worker); spin_lock(&lcdc_dev->reg_lock); if (likely(lcdc_dev->clk_on)) {