Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1db26e79 authored by Deepak Kumar's avatar Deepak Kumar
Browse files

msm: kgsl: Trigger GMU recovery for DCVS HFI failure



Currently, GMU recovery for DCVS HFI failure is not
getting triggered. Enable it to make sure GMU snapshot
is dumped and recovery can happen for this failure.

Change-Id: Ie8783745caa21acbe2325e0fe0eeeaaf0ad3e69b
Signed-off-by: default avatarDeepak Kumar <dkumar@codeaurora.org>
parent 387632bf
Loading
Loading
Loading
Loading
+11 −12
Original line number Diff line number Diff line
@@ -450,7 +450,7 @@ int gmu_dcvs_set(struct gmu_device *gmu,
	struct adreno_device *adreno_dev = ADRENO_DEVICE(device);
	struct adreno_gpudev *gpudev = ADRENO_GPU_DEVICE(adreno_dev);
	int perf_idx = INVALID_DCVS_IDX, bw_idx = INVALID_DCVS_IDX;
	int ret;
	int ret = 0;

	if (gpu_pwrlevel < gmu->num_gpupwrlevels - 1)
		perf_idx = gmu->num_gpupwrlevels - gpu_pwrlevel - 1;
@@ -462,9 +462,11 @@ int gmu_dcvs_set(struct gmu_device *gmu,
		(bw_idx == INVALID_DCVS_IDX))
		return -EINVAL;

	if (ADRENO_QUIRK(adreno_dev, ADRENO_QUIRK_HFI_USE_REG)) {
	if (ADRENO_QUIRK(adreno_dev, ADRENO_QUIRK_HFI_USE_REG))
		ret = gpudev->rpmh_gpu_pwrctrl(adreno_dev,
			GMU_DCVS_NOHFI, perf_idx, bw_idx);
	else if (test_bit(GMU_HFI_ON, &gmu->flags))
		ret = hfi_send_dcvs_vote(gmu, perf_idx, bw_idx, ACK_NONBLOCK);

	if (ret) {
		dev_err_ratelimited(&gmu->pdev->dev,
@@ -478,9 +480,6 @@ int gmu_dcvs_set(struct gmu_device *gmu,
	return ret;
}

	return hfi_send_dcvs_vote(gmu, perf_idx, bw_idx, ACK_NONBLOCK);
}

struct rpmh_arc_vals {
	unsigned int num;
	uint16_t val[MAX_GX_LEVELS];