drm/msm: remove qcom,gpu-pwrlevels bindings
authorRob Clark <robdclark@gmail.com>
Mon, 30 Jan 2017 15:46:35 +0000 (10:46 -0500)
committerRob Clark <robdclark@gmail.com>
Mon, 6 Feb 2017 16:28:42 +0000 (11:28 -0500)
The plan is to use the OPP bindings.  For now, remove the documentation
for qcom,gpu-pwrlevels, and make the driver fall back to a safe low
clock if the node is not present.

Note that no upstream dtb use this node.  For now we keep compatibility
with this node to avoid breaking compatibility with downstream android
dt files.

Signed-off-by: Rob Clark <robdclark@gmail.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Acked-by: Rob Herring <robh@kernel.org>
Documentation/devicetree/bindings/display/msm/gpu.txt
drivers/gpu/drm/msm/adreno/adreno_device.c

index 67d0a58dbb778cbaa0619132899c77c72451099a..747b984c7210b7db688238c19023febd75949ec5 100644 (file)
@@ -12,12 +12,6 @@ Required properties:
   * "mem_iface_clk"
 - qcom,chipid: gpu chip-id.  Note this may become optional for future
   devices if we can reliably read the chipid from hw
-- qcom,gpu-pwrlevels: list of operating points
-  - compatible: "qcom,gpu-pwrlevels"
-  - for each qcom,gpu-pwrlevel:
-    - qcom,gpu-freq: requested gpu clock speed
-    - NOTE: downstream android driver defines additional parameters to
-      configure memory bandwidth scaling per OPP.
 
 Example:
 
@@ -39,14 +33,5 @@ Example:
                    <&mmcc GFX3D_AHB_CLK>,
                    <&mmcc MMSS_IMEM_AHB_CLK>;
                qcom,chipid = <0x03020100>;
-               qcom,gpu-pwrlevels {
-                       compatible = "qcom,gpu-pwrlevels";
-                       qcom,gpu-pwrlevel@0 {
-                               qcom,gpu-freq = <450000000>;
-                       };
-                       qcom,gpu-pwrlevel@1 {
-                               qcom,gpu-freq = <27000000>;
-                       };
-               };
        };
 };
index 893eb2b2531b2d58f382f895a50d01caec125872..8d54cb764f777483a70f51e8b4ac12af9cf0a719 100644 (file)
@@ -224,8 +224,10 @@ static int adreno_bind(struct device *dev, struct device *master, void *data)
        }
 
        if (!config.fast_rate) {
-               dev_err(dev, "could not find clk rates\n");
-               return -ENXIO;
+               dev_warn(dev, "could not find clk rates\n");
+               /* This is a safe low speed for all devices: */
+               config.fast_rate = 200000000;
+               config.slow_rate = 27000000;
        }
 
        for (i = 0; i < ARRAY_SIZE(quirks); i++)