[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200518142333.GA10796@jcrouse1-lnx.qualcomm.com>
Date: Mon, 18 May 2020 08:23:34 -0600
From: Jordan Crouse <jcrouse@...eaurora.org>
To: Sharat Masetty <smasetty@...eaurora.org>
Cc: freedreno@...ts.freedesktop.org, devicetree@...r.kernel.org,
dri-devel@...edesktop.org, linux-arm-msm@...r.kernel.org,
linux-kernel@...r.kernel.org, georgi.djakov@...aro.org,
mka@...omium.org
Subject: Re: [PATCH 5/6] drm: msm: a6xx: use dev_pm_opp_set_bw to set DDR
bandwidth
On Thu, May 14, 2020 at 04:24:18PM +0530, Sharat Masetty wrote:
> This patches replaces the previously used static DDR vote and uses
> dev_pm_opp_set_bw() to scale GPU->DDR bandwidth along with scaling
> GPU frequency.
>
> Signed-off-by: Sharat Masetty <smasetty@...eaurora.org>
> ---
> drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 6 +-----
> 1 file changed, 1 insertion(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c
> index 2d8124b..79433d3 100644
> --- a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c
> +++ b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c
> @@ -141,11 +141,7 @@ void a6xx_gmu_set_freq(struct msm_gpu *gpu, struct dev_pm_opp *opp)
>
> gmu->freq = gmu->gpu_freqs[perf_index];
>
> - /*
> - * Eventually we will want to scale the path vote with the frequency but
> - * for now leave it at max so that the performance is nominal.
> - */
> - icc_set_bw(gpu->icc_path, 0, MBps_to_icc(7216));
> + dev_pm_opp_set_bw(&gpu->pdev->dev, opp);
> }
This adds an implicit requirement that all targets need bandwidth settings
defined in the OPP or they won't get a bus vote at all. I would prefer that
there be an default escape valve but if not you'll need to add
bandwidth values for the sdm845 OPP that target doesn't regress.
Jordan
> unsigned long a6xx_gmu_get_freq(struct msm_gpu *gpu)
> --
> 2.7.4
>
--
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
Powered by blists - more mailing lists