diff options
author | Rob Herring <robh@kernel.org> | 2015-08-29 17:22:40 -0500 |
---|---|---|
committer | Rob Herring <robh@kernel.org> | 2015-09-18 15:44:19 -0500 |
commit | 02f9d94726ff06d8937b87d39591ad2c5bacaf2e (patch) | |
tree | d19f9a41e0270405e8aff2069387d3529debabdd | |
parent | 2a349cb48738503f90caf7e3da1def791dc5358f (diff) |
mmp-drm clock fixespxa1928-drm-v2
-rw-r--r-- | drivers/gpu/drm/mmp/mmp_drm_disp.c | 8 | ||||
-rw-r--r-- | drivers/gpu/drm/mmp/mmp_drm_dsi.c | 1 |
2 files changed, 5 insertions, 4 deletions
diff --git a/drivers/gpu/drm/mmp/mmp_drm_disp.c b/drivers/gpu/drm/mmp/mmp_drm_disp.c index 5a33e2551853..4e83e915ff24 100644 --- a/drivers/gpu/drm/mmp/mmp_drm_disp.c +++ b/drivers/gpu/drm/mmp/mmp_drm_disp.c @@ -803,21 +803,21 @@ static int mmp_disp_clk_init(struct device *dev, struct mmp_disp *disp) clk_data->clks[0] = clk_register_divider(dev, "disp0_dsi_div", "disp0_dsi_mux", 0, disp->regs + LCD_SCLK_DIV, 8, 4, - CLK_DIVIDER_ONE_BASED | CLK_DIVIDER_ALLOW_ZERO, + CLK_DIVIDER_ONE_BASED | CLK_DIVIDER_ALLOW_ZERO | CLK_DIVIDER_ROUND_CLOSEST, &disp->reg_lock); disp->crtc[0].pix_clk = clk_data->clks[1] = clk_register_divider(dev, "disp0_pixclk_div", "disp0_pixclk_mux", 0, disp->regs + LCD_SCLK_DIV, 0, 8, - CLK_DIVIDER_ONE_BASED | CLK_DIVIDER_ALLOW_ZERO, + CLK_DIVIDER_ONE_BASED | CLK_DIVIDER_ALLOW_ZERO | CLK_DIVIDER_ROUND_CLOSEST, &disp->reg_lock); clk_data->clks[2] = clk_register_divider(dev, "disp1_dsi_div", "disp1_dsi_mux", 0, disp->regs + LCD_TCLK_DIV, 8, 4, - CLK_DIVIDER_ONE_BASED | CLK_DIVIDER_ALLOW_ZERO, + CLK_DIVIDER_ONE_BASED | CLK_DIVIDER_ALLOW_ZERO | CLK_DIVIDER_ROUND_CLOSEST, &disp->reg_lock); disp->crtc[1].pix_clk = clk_data->clks[3] = clk_register_divider(dev, "disp1_pixclk_div", "disp1_pixclk_mux", 0, disp->regs + LCD_TCLK_DIV, 0, 8, - CLK_DIVIDER_ONE_BASED | CLK_DIVIDER_ALLOW_ZERO, + CLK_DIVIDER_ONE_BASED | CLK_DIVIDER_ALLOW_ZERO | CLK_DIVIDER_ROUND_CLOSEST, &disp->reg_lock); of_clk_add_provider(dev->of_node, of_clk_src_onecell_get, clk_data); diff --git a/drivers/gpu/drm/mmp/mmp_drm_dsi.c b/drivers/gpu/drm/mmp/mmp_drm_dsi.c index 1bbd3af101f5..6c2176acae3a 100644 --- a/drivers/gpu/drm/mmp/mmp_drm_dsi.c +++ b/drivers/gpu/drm/mmp/mmp_drm_dsi.c @@ -352,6 +352,7 @@ static void mmp_dsi_configure(struct mmp_dsi *dsi, struct drm_display_mode *mode bitclk_div = 150000000 / bitclk + 1; clk_set_min_rate(dsi->bit_clk, bitclk * bitclk_div); + clk_set_rate(dsi->bit_clk, bitclk * bitclk_div); printk("actual bit clk is %d Hz, requested %d Hz\n", clk_get_rate(dsi->bit_clk), bitclk * bitclk_div); |