Re: [PATCH] drm/msm/a5xx: Add support for Adreno 506 GPU

Vladimir Lypak
2021-12-12T16:31:31Z

On Fri, Dec 03, 2021 at 09:51:10PM +0300, Dmitry Baryshkov wrote:
> On 22/10/2021 20:33, 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@gmail.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.
>
> Vladimir, any plans to submit v2? This comment requests splitting the patch
> in two.
>
>
> --
> With best wishes
> Dmitry

Hello, Dmitry!
Sorry for delay. Yes, i'm going to submit v2 soon.

Thanks
Vladimir