]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - drivers/gpu/drm/sun4i/sun6i_drc.c
drm/sun4i: drc: Make sure we enforce the clock rate
[linux.git] / drivers / gpu / drm / sun4i / sun6i_drc.c
index f7ab72244796c52742d9ba2f99c4a884f7f7e8cf..4fbe9a6b5182c48c9c0f0870706ca801df5d34c1 100644 (file)
@@ -56,6 +56,13 @@ static int sun6i_drc_bind(struct device *dev, struct device *master,
                ret = PTR_ERR(drc->mod_clk);
                goto err_disable_bus_clk;
        }
+
+       ret = clk_set_rate_exclusive(drc->mod_clk, 300000000);
+       if (ret) {
+               dev_err(dev, "Couldn't set the module clock frequency\n");
+               goto err_disable_bus_clk;
+       }
+
        clk_prepare_enable(drc->mod_clk);
 
        return 0;
@@ -72,6 +79,7 @@ static void sun6i_drc_unbind(struct device *dev, struct device *master,
 {
        struct sun6i_drc *drc = dev_get_drvdata(dev);
 
+       clk_rate_exclusive_put(drc->mod_clk);
        clk_disable_unprepare(drc->mod_clk);
        clk_disable_unprepare(drc->bus_clk);
        reset_control_assert(drc->reset);