drm/msm: Cleanup A6XX opp-level reading
authorDouglas Anderson <dianders@chromium.org>
Wed, 16 Jan 2019 18:46:22 +0000 (10:46 -0800)
committerRob Clark <robdclark@chromium.org>
Thu, 18 Apr 2019 17:04:10 +0000 (10:04 -0700)
The patch ("OPP: Add support for parsing the 'opp-level' property")
adds an API enabling a cleaner way to read the opp-level.  Let's use
the new API.

Signed-off-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Jordan Crouse <jcrouse@codeaurora.org>
Signed-off-by: Rob Clark <robdclark@gmail.com>
Signed-off-by: Rob Clark <robdclark@chromium.org>
drivers/gpu/drm/msm/adreno/a6xx_gmu.c

index d1662a75c7ecc9b59a80d0f96e73deeace5f3b3b..a12aa4664c8b77ec760756c9e612dff0f130035e 100644 (file)
@@ -948,25 +948,20 @@ static int a6xx_gmu_memory_probe(struct a6xx_gmu *gmu)
 }
 
 /* Return the 'arc-level' for the given frequency */
-static u32 a6xx_gmu_get_arc_level(struct device *dev, unsigned long freq)
+static unsigned int a6xx_gmu_get_arc_level(struct device *dev,
+                                          unsigned long freq)
 {
        struct dev_pm_opp *opp;
-       struct device_node *np;
-       u32 val = 0;
+       unsigned int val;
 
        if (!freq)
                return 0;
 
-       opp  = dev_pm_opp_find_freq_exact(dev, freq, true);
+       opp = dev_pm_opp_find_freq_exact(dev, freq, true);
        if (IS_ERR(opp))
                return 0;
 
-       np = dev_pm_opp_get_of_node(opp);
-
-       if (np) {
-               of_property_read_u32(np, "opp-level", &val);
-               of_node_put(np);
-       }
+       val = dev_pm_opp_get_level(opp);
 
        dev_pm_opp_put(opp);
 
@@ -1002,7 +997,7 @@ static int a6xx_gmu_rpmh_arc_votes_init(struct device *dev, u32 *votes,
        /* Construct a vote for each frequency */
        for (i = 0; i < freqs_count; i++) {
                u8 pindex = 0, sindex = 0;
-               u32 level = a6xx_gmu_get_arc_level(dev, freqs[i]);
+               unsigned int level = a6xx_gmu_get_arc_level(dev, freqs[i]);
 
                /* Get the primary index that matches the arc level */
                for (j = 0; j < pri_count; j++) {