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

Commit f6656e8b authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: kgsl: Trigger GMU recovery for DCVS HFI failure"

parents 4c055a6b 1db26e79
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];