Commit 083cc3a4 authored by Rob Clark's avatar Rob Clark

drm/msm: Add adreno_is_a640_family()

Combine adreno_is_a640() and adreno_is_a680().
Signed-off-by: default avatarRob Clark <robdclark@chromium.org>
Link: https://lore.kernel.org/r/20210807163019.379003-1-robdclark@gmail.comSigned-off-by: default avatarRob Clark <robdclark@chromium.org>
parent 061a9aea
...@@ -521,8 +521,7 @@ static void a6xx_gmu_rpmh_init(struct a6xx_gmu *gmu) ...@@ -521,8 +521,7 @@ static void a6xx_gmu_rpmh_init(struct a6xx_gmu *gmu)
if (adreno_is_a650(adreno_gpu) || adreno_is_a660_family(adreno_gpu)) if (adreno_is_a650(adreno_gpu) || adreno_is_a660_family(adreno_gpu))
pdc_in_aop = true; pdc_in_aop = true;
else if (adreno_is_a618(adreno_gpu) || adreno_is_a640(adreno_gpu) || else if (adreno_is_a618(adreno_gpu) || adreno_is_a640_family(adreno_gpu))
adreno_is_a680(adreno_gpu))
pdc_address_offset = 0x30090; pdc_address_offset = 0x30090;
else else
pdc_address_offset = 0x30080; pdc_address_offset = 0x30080;
...@@ -1527,7 +1526,7 @@ int a6xx_gmu_init(struct a6xx_gpu *a6xx_gpu, struct device_node *node) ...@@ -1527,7 +1526,7 @@ int a6xx_gmu_init(struct a6xx_gpu *a6xx_gpu, struct device_node *node)
SZ_16M - SZ_16K, 0x04000); SZ_16M - SZ_16K, 0x04000);
if (ret) if (ret)
goto err_memory; goto err_memory;
} else if (adreno_is_a640(adreno_gpu) || adreno_is_a680(adreno_gpu)) { } else if (adreno_is_a640_family(adreno_gpu)) {
ret = a6xx_gmu_memory_alloc(gmu, &gmu->icache, ret = a6xx_gmu_memory_alloc(gmu, &gmu->icache,
SZ_256K - SZ_16K, 0x04000); SZ_256K - SZ_16K, 0x04000);
if (ret) if (ret)
......
...@@ -698,7 +698,7 @@ static void a6xx_set_ubwc_config(struct msm_gpu *gpu) ...@@ -698,7 +698,7 @@ static void a6xx_set_ubwc_config(struct msm_gpu *gpu)
if (adreno_is_a618(adreno_gpu)) if (adreno_is_a618(adreno_gpu))
return; return;
if (adreno_is_a640(adreno_gpu) || adreno_is_a680(adreno_gpu)) if (adreno_is_a640_family(adreno_gpu))
amsbc = 1; amsbc = 1;
if (adreno_is_a650(adreno_gpu) || adreno_is_a660(adreno_gpu)) { if (adreno_is_a650(adreno_gpu) || adreno_is_a660(adreno_gpu)) {
...@@ -779,7 +779,7 @@ static bool a6xx_ucode_check_version(struct a6xx_gpu *a6xx_gpu, ...@@ -779,7 +779,7 @@ static bool a6xx_ucode_check_version(struct a6xx_gpu *a6xx_gpu,
* a660 targets have all the critical security fixes from the start * a660 targets have all the critical security fixes from the start
*/ */
if (adreno_is_a618(adreno_gpu) || adreno_is_a630(adreno_gpu) || if (adreno_is_a618(adreno_gpu) || adreno_is_a630(adreno_gpu) ||
adreno_is_a640(adreno_gpu) || adreno_is_a680(adreno_gpu)) { adreno_is_a640_family(adreno_gpu)) {
/* /*
* If the lowest nibble is 0xa that is an indication that this * If the lowest nibble is 0xa that is an indication that this
* microcode has been patched. The actual version is in dword * microcode has been patched. The actual version is in dword
...@@ -919,8 +919,8 @@ static int a6xx_hw_init(struct msm_gpu *gpu) ...@@ -919,8 +919,8 @@ static int a6xx_hw_init(struct msm_gpu *gpu)
a6xx_set_hwcg(gpu, true); a6xx_set_hwcg(gpu, true);
/* VBIF/GBIF start*/ /* VBIF/GBIF start*/
if (adreno_is_a640(adreno_gpu) || adreno_is_a650_family(adreno_gpu) || if (adreno_is_a640_family(adreno_gpu) ||
adreno_is_a680(adreno_gpu)) { adreno_is_a650_family(adreno_gpu)) {
gpu_write(gpu, REG_A6XX_GBIF_QSB_SIDE0, 0x00071620); gpu_write(gpu, REG_A6XX_GBIF_QSB_SIDE0, 0x00071620);
gpu_write(gpu, REG_A6XX_GBIF_QSB_SIDE1, 0x00071620); gpu_write(gpu, REG_A6XX_GBIF_QSB_SIDE1, 0x00071620);
gpu_write(gpu, REG_A6XX_GBIF_QSB_SIDE2, 0x00071620); gpu_write(gpu, REG_A6XX_GBIF_QSB_SIDE2, 0x00071620);
...@@ -958,8 +958,8 @@ static int a6xx_hw_init(struct msm_gpu *gpu) ...@@ -958,8 +958,8 @@ static int a6xx_hw_init(struct msm_gpu *gpu)
gpu_write(gpu, REG_A6XX_UCHE_FILTER_CNTL, 0x804); gpu_write(gpu, REG_A6XX_UCHE_FILTER_CNTL, 0x804);
gpu_write(gpu, REG_A6XX_UCHE_CACHE_WAYS, 0x4); gpu_write(gpu, REG_A6XX_UCHE_CACHE_WAYS, 0x4);
if (adreno_is_a640(adreno_gpu) || adreno_is_a650_family(adreno_gpu) || if (adreno_is_a640_family(adreno_gpu) ||
adreno_is_a680(adreno_gpu)) adreno_is_a650_family(adreno_gpu))
gpu_write(gpu, REG_A6XX_CP_ROQ_THRESHOLDS_2, 0x02000140); gpu_write(gpu, REG_A6XX_CP_ROQ_THRESHOLDS_2, 0x02000140);
else else
gpu_write(gpu, REG_A6XX_CP_ROQ_THRESHOLDS_2, 0x010000c0); gpu_write(gpu, REG_A6XX_CP_ROQ_THRESHOLDS_2, 0x010000c0);
...@@ -976,8 +976,7 @@ static int a6xx_hw_init(struct msm_gpu *gpu) ...@@ -976,8 +976,7 @@ static int a6xx_hw_init(struct msm_gpu *gpu)
*/ */
if (adreno_is_a650(adreno_gpu) || adreno_is_a660(adreno_gpu)) if (adreno_is_a650(adreno_gpu) || adreno_is_a660(adreno_gpu))
gpu_write(gpu, REG_A6XX_PC_DBG_ECO_CNTL, 0x00300200); gpu_write(gpu, REG_A6XX_PC_DBG_ECO_CNTL, 0x00300200);
else if (adreno_is_a640(adreno_gpu) || adreno_is_a680(adreno_gpu) || else if (adreno_is_a640_family(adreno_gpu) || adreno_is_7c3(adreno_gpu))
adreno_is_7c3(adreno_gpu))
gpu_write(gpu, REG_A6XX_PC_DBG_ECO_CNTL, 0x00200200); gpu_write(gpu, REG_A6XX_PC_DBG_ECO_CNTL, 0x00200200);
else if (adreno_is_a650(adreno_gpu) || adreno_is_a660(adreno_gpu)) else if (adreno_is_a650(adreno_gpu) || adreno_is_a660(adreno_gpu))
gpu_write(gpu, REG_A6XX_PC_DBG_ECO_CNTL, 0x00300200); gpu_write(gpu, REG_A6XX_PC_DBG_ECO_CNTL, 0x00300200);
......
...@@ -458,7 +458,7 @@ static int a6xx_hfi_send_bw_table(struct a6xx_gmu *gmu) ...@@ -458,7 +458,7 @@ static int a6xx_hfi_send_bw_table(struct a6xx_gmu *gmu)
if (adreno_is_a618(adreno_gpu)) if (adreno_is_a618(adreno_gpu))
a618_build_bw_table(&msg); a618_build_bw_table(&msg);
else if (adreno_is_a640(adreno_gpu) || adreno_is_a680(adreno_gpu)) else if (adreno_is_a640_family(adreno_gpu))
a640_build_bw_table(&msg); a640_build_bw_table(&msg);
else if (adreno_is_a650(adreno_gpu)) else if (adreno_is_a650(adreno_gpu))
a650_build_bw_table(&msg); a650_build_bw_table(&msg);
......
...@@ -241,9 +241,9 @@ static inline int adreno_is_a630(struct adreno_gpu *gpu) ...@@ -241,9 +241,9 @@ static inline int adreno_is_a630(struct adreno_gpu *gpu)
return gpu->revn == 630; return gpu->revn == 630;
} }
static inline int adreno_is_a640(struct adreno_gpu *gpu) static inline int adreno_is_a640_family(struct adreno_gpu *gpu)
{ {
return gpu->revn == 640; return (gpu->revn == 640) || (gpu->revn == 680);
} }
static inline int adreno_is_a650(struct adreno_gpu *gpu) static inline int adreno_is_a650(struct adreno_gpu *gpu)
...@@ -274,11 +274,6 @@ static inline int adreno_is_a650_family(struct adreno_gpu *gpu) ...@@ -274,11 +274,6 @@ static inline int adreno_is_a650_family(struct adreno_gpu *gpu)
adreno_is_a660_family(gpu); adreno_is_a660_family(gpu);
} }
static inline int adreno_is_a680(struct adreno_gpu *gpu)
{
return gpu->revn == 680;
}
int adreno_get_param(struct msm_gpu *gpu, uint32_t param, uint64_t *value); int adreno_get_param(struct msm_gpu *gpu, uint32_t param, uint64_t *value);
const struct firmware *adreno_request_fw(struct adreno_gpu *adreno_gpu, const struct firmware *adreno_request_fw(struct adreno_gpu *adreno_gpu,
const char *fwname); const char *fwname);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment