On Sat, Sep 21, 2024 at 08:42:54PM GMT, John Schulz wrote: Subject prefix is not correct, it should be drm/msm > 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. How did you test it? It's not that the driver is going to work on that GPU without a catalog entry. > > 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 Just by comparing it with other IDs it looks like you got it backwards. > + case 0x43050c01; // X1-85 > + return 1; > + default: > + return 0; > + } > } > > static inline int adreno_is_a740_family(struct adreno_gpu *gpu) > -- > 2.46.1 > > -- With best wishes Dmitry