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

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.com


Signed-off-by: default avatarRob Clark <robdclark@chromium.org>
parent 061a9aea
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -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))
		pdc_in_aop = true;
	else if (adreno_is_a618(adreno_gpu) || adreno_is_a640(adreno_gpu) ||
		 adreno_is_a680(adreno_gpu))
	else if (adreno_is_a618(adreno_gpu) || adreno_is_a640_family(adreno_gpu))
		pdc_address_offset = 0x30090;
	else
		pdc_address_offset = 0x30080;
@@ -1527,7 +1526,7 @@ int a6xx_gmu_init(struct a6xx_gpu *a6xx_gpu, struct device_node *node)
			SZ_16M - SZ_16K, 0x04000);
		if (ret)
			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,
			SZ_256K - SZ_16K, 0x04000);
		if (ret)
+7 −8
Original line number Diff line number Diff line
@@ -698,7 +698,7 @@ static void a6xx_set_ubwc_config(struct msm_gpu *gpu)
	if (adreno_is_a618(adreno_gpu))
		return;

	if (adreno_is_a640(adreno_gpu) || adreno_is_a680(adreno_gpu))
	if (adreno_is_a640_family(adreno_gpu))
		amsbc = 1;

	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,
	 * a660 targets have all the critical security fixes from the start
	 */
	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
		 * microcode has been patched. The actual version is in dword
@@ -919,8 +919,8 @@ static int a6xx_hw_init(struct msm_gpu *gpu)
	a6xx_set_hwcg(gpu, true);

	/* VBIF/GBIF start*/
	if (adreno_is_a640(adreno_gpu) || adreno_is_a650_family(adreno_gpu) ||
	    adreno_is_a680(adreno_gpu)) {
	if (adreno_is_a640_family(adreno_gpu) ||
	    adreno_is_a650_family(adreno_gpu)) {
		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_SIDE2, 0x00071620);
@@ -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_CACHE_WAYS, 0x4);

	if (adreno_is_a640(adreno_gpu) || adreno_is_a650_family(adreno_gpu) ||
	    adreno_is_a680(adreno_gpu))
	if (adreno_is_a640_family(adreno_gpu) ||
	    adreno_is_a650_family(adreno_gpu))
		gpu_write(gpu, REG_A6XX_CP_ROQ_THRESHOLDS_2, 0x02000140);
	else
		gpu_write(gpu, REG_A6XX_CP_ROQ_THRESHOLDS_2, 0x010000c0);
@@ -976,8 +976,7 @@ static int a6xx_hw_init(struct msm_gpu *gpu)
	*/
	if (adreno_is_a650(adreno_gpu) || adreno_is_a660(adreno_gpu))
		gpu_write(gpu, REG_A6XX_PC_DBG_ECO_CNTL, 0x00300200);
	else if (adreno_is_a640(adreno_gpu) || adreno_is_a680(adreno_gpu) ||
			adreno_is_7c3(adreno_gpu))
	else if (adreno_is_a640_family(adreno_gpu) || adreno_is_7c3(adreno_gpu))
		gpu_write(gpu, REG_A6XX_PC_DBG_ECO_CNTL, 0x00200200);
	else if (adreno_is_a650(adreno_gpu) || adreno_is_a660(adreno_gpu))
		gpu_write(gpu, REG_A6XX_PC_DBG_ECO_CNTL, 0x00300200);
+1 −1
Original line number Diff line number Diff line
@@ -458,7 +458,7 @@ static int a6xx_hfi_send_bw_table(struct a6xx_gmu *gmu)

	if (adreno_is_a618(adreno_gpu))
		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);
	else if (adreno_is_a650(adreno_gpu))
		a650_build_bw_table(&msg);
+2 −7
Original line number Diff line number Diff line
@@ -241,9 +241,9 @@ static inline int adreno_is_a630(struct adreno_gpu *gpu)
       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)
@@ -274,11 +274,6 @@ static inline int adreno_is_a650_family(struct adreno_gpu *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);
const struct firmware *adreno_request_fw(struct adreno_gpu *adreno_gpu,
		const char *fwname);