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

Commit b6df77fc authored by Alex Deucher's avatar Alex Deucher
Browse files

drm/amdgpu: handle uvd pg flags properly



Don't attempt to start/stop the uvd block if pg is disabled.

Reviewed-by: default avatarEric Huang <JinHuiEric.Huang@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 50171ebe
Loading
Loading
Loading
Loading
+4 −1
Original line number Original line Diff line number Diff line
@@ -850,6 +850,9 @@ static int uvd_v4_2_set_powergating_state(void *handle,
	 */
	 */
	struct amdgpu_device *adev = (struct amdgpu_device *)handle;
	struct amdgpu_device *adev = (struct amdgpu_device *)handle;


	if (!(adev->pg_flags & AMDGPU_PG_SUPPORT_UVD))
		return 0;

	if (state == AMD_PG_STATE_GATE) {
	if (state == AMD_PG_STATE_GATE) {
		uvd_v4_2_stop(adev);
		uvd_v4_2_stop(adev);
		return 0;
		return 0;
+3 −0
Original line number Original line Diff line number Diff line
@@ -789,6 +789,9 @@ static int uvd_v5_0_set_powergating_state(void *handle,
	 */
	 */
	struct amdgpu_device *adev = (struct amdgpu_device *)handle;
	struct amdgpu_device *adev = (struct amdgpu_device *)handle;


	if (!(adev->pg_flags & AMDGPU_PG_SUPPORT_UVD))
		return 0;

	if (state == AMD_PG_STATE_GATE) {
	if (state == AMD_PG_STATE_GATE) {
		uvd_v5_0_stop(adev);
		uvd_v5_0_stop(adev);
		return 0;
		return 0;
+3 −0
Original line number Original line Diff line number Diff line
@@ -1030,6 +1030,9 @@ static int uvd_v6_0_set_powergating_state(void *handle,
	 */
	 */
	struct amdgpu_device *adev = (struct amdgpu_device *)handle;
	struct amdgpu_device *adev = (struct amdgpu_device *)handle;


	if (!(adev->pg_flags & AMDGPU_PG_SUPPORT_UVD))
		return 0;

	if (state == AMD_PG_STATE_GATE) {
	if (state == AMD_PG_STATE_GATE) {
		uvd_v6_0_stop(adev);
		uvd_v6_0_stop(adev);
		return 0;
		return 0;