On Fri, Oct 22, 2021 at 10:33:29AM -0700, Bjorn Andersson wrote: > 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@xxxxxxxxx> > > --- > > 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 Hello, Bjorn. You're right on that. I'm going to remove those changes in V2, since that SCM call only causes problems on A506 and i can't test it on other GPUs. Best regards, Vladimir