[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YXL16V17upehvUwt@ripper>
Date: Fri, 22 Oct 2021 10:33:29 -0700
From: Bjorn Andersson <bjorn.andersson@...aro.org>
To: Vladimir Lypak <vladimir.lypak@...il.com>
Cc: Rob Clark <robdclark@...il.com>, Sean Paul <sean@...rly.run>,
David Airlie <airlied@...ux.ie>,
Daniel Vetter <daniel@...ll.ch>,
Jordan Crouse <jordan@...micpenguin.net>,
AngeloGioacchino Del Regno
<angelogioacchino.delregno@...ainline.org>,
Konrad Dybcio <konrad.dybcio@...ainline.org>,
"Kristian H. Kristensen" <hoegsberg@...gle.com>,
Marijn Suijten <marijn.suijten@...ainline.org>,
Akhil P Oommen <akhilpo@...eaurora.org>,
Jonathan Marek <jonathan@...ek.ca>,
Iskren Chernev <iskren.chernev@...il.com>,
Sai Prakash Ranjan <saiprakash.ranjan@...eaurora.org>,
linux-arm-msm@...r.kernel.org, dri-devel@...ts.freedesktop.org,
freedreno@...ts.freedesktop.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] drm/msm/a5xx: Add support for Adreno 506 GPU
On Fri 22 Oct 04:43 PDT 2021, Vladimir Lypak wrote:
> This GPU is found on SoCs such as MSM8953(650MHz), SDM450(600MHz),
> SDM632(725MHz).
>
> Signed-off-by: Vladimir Lypak <vladimir.lypak@...il.com>
> ---
> drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 34 ++++++++++++++--------
> drivers/gpu/drm/msm/adreno/adreno_device.c | 18 ++++++++++++
> drivers/gpu/drm/msm/adreno/adreno_gpu.h | 5 ++++
> 3 files changed, 45 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/gpu/drm/msm/adreno/a5xx_gpu.c b/drivers/gpu/drm/msm/adreno/a5xx_gpu.c
> index 5e2750eb3810..249a0d8bc673 100644
> --- a/drivers/gpu/drm/msm/adreno/a5xx_gpu.c
> +++ b/drivers/gpu/drm/msm/adreno/a5xx_gpu.c
> @@ -441,7 +441,7 @@ void a5xx_set_hwcg(struct msm_gpu *gpu, bool state)
> const struct adreno_five_hwcg_regs *regs;
> unsigned int i, sz;
>
> - if (adreno_is_a508(adreno_gpu)) {
> + if (adreno_is_a506(adreno_gpu) || adreno_is_a508(adreno_gpu)) {
> regs = a50x_hwcg;
> sz = ARRAY_SIZE(a50x_hwcg);
> } else if (adreno_is_a509(adreno_gpu) || adreno_is_a512(adreno_gpu)) {
> @@ -485,7 +485,7 @@ static int a5xx_me_init(struct msm_gpu *gpu)
> OUT_RING(ring, 0x00000000);
>
> /* Specify workarounds for various microcode issues */
> - if (adreno_is_a530(adreno_gpu)) {
> + if (adreno_is_a506(adreno_gpu) || adreno_is_a530(adreno_gpu)) {
> /* Workaround for token end syncs
> * Force a WFI after every direct-render 3D mode draw and every
> * 2D mode 3 draw
> @@ -620,8 +620,17 @@ static int a5xx_ucode_init(struct msm_gpu *gpu)
>
> static int a5xx_zap_shader_resume(struct msm_gpu *gpu)
> {
> + struct adreno_gpu *adreno_gpu = to_adreno_gpu(gpu);
> int ret;
>
> + /*
> + * Adreno 506,508,512 have CPZ Retention feature and
> + * don't need to resume zap shader
> + */
> + if (adreno_is_a506(adreno_gpu) || adreno_is_a508(adreno_gpu) ||
> + adreno_is_a512(adreno_gpu))
> + return 0;
Afaict all other changes in the patch adds a506 support, but this hunk
changes a508 and a512 behavior.
I'm not saying that the change is wrong, but this hunk deserves to be in
it's own patch - so that if there's any impact on those other versions
it can be tracked down to that specific patch.
Thanks,
Bjorn
Powered by blists - more mailing lists