drm/msm/adreno: Call dev_pm_opp_put()
We need to call dev_pm_opp_put() to put back the reference for the OPP struct after calling the various dev_pm_opp_get_* functions. Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org> Signed-off-by: Rob Clark <robdclark@gmail.com>
This commit is contained in:
parent
9dcfbc182f
commit
aa2a2ab7b7
|
@ -103,10 +103,16 @@ static inline uint32_t _get_mvolts(struct msm_gpu *gpu, uint32_t freq)
|
|||
struct msm_drm_private *priv = dev->dev_private;
|
||||
struct platform_device *pdev = priv->gpu_pdev;
|
||||
struct dev_pm_opp *opp;
|
||||
u32 ret = 0;
|
||||
|
||||
opp = dev_pm_opp_find_freq_exact(&pdev->dev, freq, true);
|
||||
|
||||
return (!IS_ERR(opp)) ? dev_pm_opp_get_voltage(opp) / 1000 : 0;
|
||||
if (!IS_ERR(opp)) {
|
||||
ret = dev_pm_opp_get_voltage(opp) / 1000;
|
||||
dev_pm_opp_put(opp);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* Setup thermal limit management */
|
||||
|
|
|
@ -247,8 +247,10 @@ static int adreno_get_pwrlevels(struct device *dev,
|
|||
|
||||
/* Find the fastest defined rate */
|
||||
opp = dev_pm_opp_find_freq_floor(dev, &freq);
|
||||
if (!IS_ERR(opp))
|
||||
if (!IS_ERR(opp)) {
|
||||
config->fast_rate = dev_pm_opp_get_freq(opp);
|
||||
dev_pm_opp_put(opp);
|
||||
}
|
||||
|
||||
if (!config->fast_rate) {
|
||||
DRM_DEV_INFO(dev,
|
||||
|
|
Loading…
Reference in New Issue