Re: [PATCH] drivers/gpu: Switching Adreno x1-85 device check to family check.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Sep 24, 2024 at 6:54 AM Bjorn Andersson
<quic_bjorande@xxxxxxxxxxx> wrote:
>
> On Sat, Sep 21, 2024 at 08:42:54PM +0000, John Schulz wrote:
> > Switches the is_x185 check to is_x1xx_family to accommodate more devices.
> > Note that I got the X1-45 GPU ID from Windows which may not be correct.
> >
>
> I assume from your patch that you have a X1-45 that you want to support
> and you think there will be more of these and therefor you think it's
> better to move to some form of family check.
>
> It would be preferred if you clearly state the problem you're trying to
> solve, to avoid current and future reviewers of the code from having to
> assume/deduce the reasoning behind a patch.
>
> E.g. why do you prefer adding is_family() instead of just adding
> is_x145()?

Note, I'll hold off on merging something like this until we actually
have x1-45 support.  I'd _guess_ x1-45 is probably pretty similar to
x1-85, but it is premature to speculate until someone shows up with
x1-45 patches.

BR,
-R

> Please also read:
> https://www.kernel.org/doc/html/latest/process/submitting-patches.html#describe-your-changes
>
> Regards,
> Bjorn
>
> > Signed-off-by: John Schulz <john.schulz1@xxxxxxxxxxxxxx>
> > ---
> >  drivers/gpu/drm/msm/adreno/a6xx_gpu.c   |  3 ++-
> >  drivers/gpu/drm/msm/adreno/adreno_gpu.h | 12 +++++++++---
> >  2 files changed, 11 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu.c b/drivers/gpu/drm/msm/adreno/a6xx_gpu.c
> > index 06cab2c6fd66..f04aeacae3c2 100644
> > --- a/drivers/gpu/drm/msm/adreno/a6xx_gpu.c
> > +++ b/drivers/gpu/drm/msm/adreno/a6xx_gpu.c
> > @@ -2,6 +2,7 @@
> >  /* Copyright (c) 2017-2019 The Linux Foundation. All rights reserved. */
> >
> >
> > +#include "adreno_gpu.h"
> >  #include "msm_gem.h"
> >  #include "msm_mmu.h"
> >  #include "msm_gpu_trace.h"
> > @@ -1026,7 +1027,7 @@ static int hw_init(struct msm_gpu *gpu)
> >       gpu_write(gpu, REG_A6XX_UCHE_CLIENT_PF, BIT(7) | 0x1);
> >
> >       /* Set weights for bicubic filtering */
> > -     if (adreno_is_a650_family(adreno_gpu) || adreno_is_x185(adreno_gpu)) {
> > +     if (adreno_is_a650_family(adreno_gpu) || adreno_is_x1xx_family(adreno_gpu)) {
> >               gpu_write(gpu, REG_A6XX_TPL1_BICUBIC_WEIGHTS_TABLE_0, 0);
> >               gpu_write(gpu, REG_A6XX_TPL1_BICUBIC_WEIGHTS_TABLE_1,
> >                       0x3fe05ff4);
> > diff --git a/drivers/gpu/drm/msm/adreno/adreno_gpu.h b/drivers/gpu/drm/msm/adreno/adreno_gpu.h
> > index 58d7e7915c57..ec36fc915433 100644
> > --- a/drivers/gpu/drm/msm/adreno/adreno_gpu.h
> > +++ b/drivers/gpu/drm/msm/adreno/adreno_gpu.h
> > @@ -526,9 +526,15 @@ static inline int adreno_is_a750(struct adreno_gpu *gpu)
> >       return gpu->info->chip_ids[0] == 0x43051401;
> >  }
> >
> > -static inline int adreno_is_x185(struct adreno_gpu *gpu)
> > -{
> > -     return gpu->info->chip_ids[0] == 0x43050c01;
> > +static inline int adreno_is_x1xx_family(struct adreno_gpu *gpu)
> > +{
> > +     switch (gpu->info->chip_ids[0]) {
> > +     case 0x1fc31043; // X1-45
> > +     case 0x43050c01; // X1-85
> > +             return 1;
> > +     default:
> > +             return 0;
> > +     }
> >  }
> >
> >  static inline int adreno_is_a740_family(struct adreno_gpu *gpu)
> > --
> > 2.46.1
> >
> >
>





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux