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

Commit 403664bb authored by Alex Deucher's avatar Alex Deucher
Browse files

drm/amdgpu/cz: force vce clocks when sclks are forced

parent 5f576426
Loading
Loading
Loading
Loading
+23 −1
Original line number Original line Diff line number Diff line
@@ -1984,6 +1984,14 @@ static int cz_dpm_force_dpm_level(struct amdgpu_device *adev,
		if (ret)
		if (ret)
			return ret;
			return ret;
		ret = cz_dpm_uvd_force_highest(adev);
		ret = cz_dpm_uvd_force_highest(adev);
		if (ret)
			return ret;

		/* vce */
		ret = cz_dpm_unforce_vce_dpm_levels(adev);
		if (ret)
			return ret;
		ret = cz_dpm_vce_force_highest(adev);
		if (ret)
		if (ret)
			return ret;
			return ret;
		break;
		break;
@@ -2001,6 +2009,14 @@ static int cz_dpm_force_dpm_level(struct amdgpu_device *adev,
		if (ret)
		if (ret)
			return ret;
			return ret;
		ret = cz_dpm_uvd_force_lowest(adev);
		ret = cz_dpm_uvd_force_lowest(adev);
		if (ret)
			return ret;

		/* vce */
		ret = cz_dpm_unforce_vce_dpm_levels(adev);
		if (ret)
			return ret;
		ret = cz_dpm_vce_force_lowest(adev);
		if (ret)
		if (ret)
			return ret;
			return ret;
		break;
		break;
@@ -2012,6 +2028,11 @@ static int cz_dpm_force_dpm_level(struct amdgpu_device *adev,


		/* uvd */
		/* uvd */
		ret = cz_dpm_unforce_uvd_dpm_levels(adev);
		ret = cz_dpm_unforce_uvd_dpm_levels(adev);
		if (ret)
			return ret;

		/* vce */
		ret = cz_dpm_unforce_vce_dpm_levels(adev);
		if (ret)
		if (ret)
			return ret;
			return ret;
		break;
		break;
@@ -2154,7 +2175,8 @@ static int cz_update_vce_dpm(struct amdgpu_device *adev)
		pi->vce_dpm.hard_min_clk = table->entries[table->count-1].ecclk;
		pi->vce_dpm.hard_min_clk = table->entries[table->count-1].ecclk;


	} else { /* non-stable p-state cases. without vce.Arbiter.EcclkHardMin */
	} else { /* non-stable p-state cases. without vce.Arbiter.EcclkHardMin */
		pi->vce_dpm.hard_min_clk = table->entries[0].ecclk;
		/* leave it as set by user */
		/*pi->vce_dpm.hard_min_clk = table->entries[0].ecclk;*/
	}
	}


	cz_send_msg_to_smc_with_parameter(adev,
	cz_send_msg_to_smc_with_parameter(adev,