@@ -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);
@@ -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)
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. Signed-off-by: John Schulz <john.schulz1@protonmail.com> --- 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(-)