forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-01-31 f70575805708cabdedea7498aaa3f710fde4d920
kernel/drivers/gpu/drm/sun4i/sun6i_drc.c
....@@ -1,12 +1,8 @@
1
+// SPDX-License-Identifier: GPL-2.0-or-later
12 /*
23 * Copyright (C) 2016 Free Electrons
34 *
45 * Maxime Ripard <maxime.ripard@free-electrons.com>
5
- *
6
- * This program is free software; you can redistribute it and/or
7
- * modify it under the terms of the GNU General Public License as
8
- * published by the Free Software Foundation; either version 2 of
9
- * the License, or (at your option) any later version.
106 */
117
128 #include <linux/clk.h>
....@@ -60,6 +56,13 @@
6056 ret = PTR_ERR(drc->mod_clk);
6157 goto err_disable_bus_clk;
6258 }
59
+
60
+ ret = clk_set_rate_exclusive(drc->mod_clk, 300000000);
61
+ if (ret) {
62
+ dev_err(dev, "Couldn't set the module clock frequency\n");
63
+ goto err_disable_bus_clk;
64
+ }
65
+
6366 clk_prepare_enable(drc->mod_clk);
6467
6568 return 0;
....@@ -76,6 +79,7 @@
7679 {
7780 struct sun6i_drc *drc = dev_get_drvdata(dev);
7881
82
+ clk_rate_exclusive_put(drc->mod_clk);
7983 clk_disable_unprepare(drc->mod_clk);
8084 clk_disable_unprepare(drc->bus_clk);
8185 reset_control_assert(drc->reset);
....@@ -101,6 +105,7 @@
101105 static const struct of_device_id sun6i_drc_of_table[] = {
102106 { .compatible = "allwinner,sun6i-a31-drc" },
103107 { .compatible = "allwinner,sun6i-a31s-drc" },
108
+ { .compatible = "allwinner,sun8i-a23-drc" },
104109 { .compatible = "allwinner,sun8i-a33-drc" },
105110 { .compatible = "allwinner,sun9i-a80-drc" },
106111 { }