Commit 38fd2c6f authored by Rafał Miłecki's avatar Rafał Miłecki Committed by Dave Airlie
Browse files

drm/radeon/kms: suspend and resume audio stuff



Fixes FDO bug #26214

Signed-off-by: default avatarRafał Miłecki <zajec5@gmail.com>
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent 5ff55717
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -1950,6 +1950,13 @@ int r600_resume(struct radeon_device *rdev)
		DRM_ERROR("radeon: failled testing IB (%d).\n", r);
		return r;
	}

	r = r600_audio_init(rdev);
	if (r) {
		DRM_ERROR("radeon: audio resume failed\n");
		return r;
	}

	return r;
}

@@ -1957,6 +1964,7 @@ int r600_suspend(struct radeon_device *rdev)
{
	int r;

	r600_audio_fini(rdev);
	/* FIXME: we should wait for ring to be empty */
	r600_cp_stop(rdev);
	rdev->cp.ready = false;
+1 −2
Original line number Diff line number Diff line
@@ -261,7 +261,6 @@ void r600_audio_fini(struct radeon_device *rdev)
	if (!r600_audio_chipset_supported(rdev))
		return;

	WREG32_P(R600_AUDIO_ENABLE, 0x0, ~0x81000000);

	del_timer(&rdev->audio_timer);
	WREG32_P(R600_AUDIO_ENABLE, 0x0, ~0x81000000);
}