From: zwl Date: Thu, 23 Oct 2014 10:11:01 +0000 (+0800) Subject: rk312x: lcdc: X-Git-Tag: firefly_0821_release~4539 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=bd43993a19ae313459890d4da3a45a131efac0a0;p=firefly-linux-kernel-4.4.55.git rk312x: lcdc: * add update dclk freq when uboot-logo-on is set Signed-off-by: zwl --- diff --git a/drivers/video/rockchip/lcdc/rk312x_lcdc.c b/drivers/video/rockchip/lcdc/rk312x_lcdc.c index 3b5619b44a27..6b4b6cefe922 100755 --- a/drivers/video/rockchip/lcdc/rk312x_lcdc.c +++ b/drivers/video/rockchip/lcdc/rk312x_lcdc.c @@ -657,7 +657,8 @@ static int rk312x_lcdc_set_lut(struct rk_lcdc_driver *dev_drv) return 0; } -static int rk312x_lcdc_set_dclk(struct rk_lcdc_driver *dev_drv) +static int rk312x_lcdc_set_dclk(struct rk_lcdc_driver *dev_drv, + int reset_rate) { #ifdef CONFIG_RK_FPGA return 0; @@ -667,7 +668,8 @@ static int rk312x_lcdc_set_dclk(struct rk_lcdc_driver *dev_drv) container_of(dev_drv, struct lcdc_device, driver); struct rk_screen *screen = dev_drv->cur_screen; - ret = clk_set_rate(lcdc_dev->dclk, screen->mode.pixclock); + if (reset_rate) + ret = clk_set_rate(lcdc_dev->dclk, screen->mode.pixclock); if (ret) dev_err(dev_drv->dev, "set lcdc%d dclk failed\n", lcdc_dev->id); lcdc_dev->pixclock = @@ -1335,7 +1337,7 @@ static int rk312x_load_screen(struct rk_lcdc_driver *dev_drv, bool initscreen) } } spin_unlock(&lcdc_dev->reg_lock); - rk312x_lcdc_set_dclk(dev_drv); + rk312x_lcdc_set_dclk(dev_drv, 1); lcdc_msk_reg(lcdc_dev, SYS_CTRL, m_LCDC_STANDBY, v_LCDC_STANDBY(0)); lcdc_cfg_done(lcdc_dev); if (dev_drv->trsm_ops && dev_drv->trsm_ops->enable) @@ -1379,7 +1381,7 @@ static int rk312x_lcdc_open(struct rk_lcdc_driver *dev_drv, int win_id, /*if (dev_drv->iommu_enabled) rk312x_lcdc_mmu_en(dev_drv);*/ if ((support_uboot_display() && (lcdc_dev->prop == PRMRY))) { - /*rk312x_lcdc_set_dclk(dev_drv);*/ + rk312x_lcdc_set_dclk(dev_drv, 0); rk312x_lcdc_enable_irq(dev_drv); } else { rk312x_load_screen(dev_drv, 1);