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 <diand...@chromium.org>
Reviewed-by: Jordan Crouse <jcro...@codeaurora.org>
---
Obviously this can't land until we have a tree that contains the patch
adding the API.  I believe that means we'll want to target this patch
for 5.2.  Luckily it's fine to wait since this patch has no functional
changes--it's all cleanup.

Changes in v2:
- Split into two patches to facilitate landing.

 drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 17 ++++++-----------
 1 file changed, 6 insertions(+), 11 deletions(-)

diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c 
b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c
index ce1b3cc4bf6d..900f18dc1577 100644
--- a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c
+++ b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c
@@ -928,25 +928,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);
 
@@ -982,7 +977,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++) {
-- 
2.20.1.97.g81188d93c3-goog

Reply via email to