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

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

drm/radeon/dpm: disable multiple UVD states



Always use the regular UVD state for now.  This fixes
a performance regression with UVD playback on certain APUs.

Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent ee0fec31
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -945,6 +945,8 @@ void radeon_dpm_enable_uvd(struct radeon_device *rdev, bool enable)
		if (enable) {
			mutex_lock(&rdev->pm.mutex);
			rdev->pm.dpm.uvd_active = true;
			/* disable this for now */
#if 0
			if ((rdev->pm.dpm.sd == 1) && (rdev->pm.dpm.hd == 0))
				dpm_state = POWER_STATE_TYPE_INTERNAL_UVD_SD;
			else if ((rdev->pm.dpm.sd == 2) && (rdev->pm.dpm.hd == 0))
@@ -954,6 +956,7 @@ void radeon_dpm_enable_uvd(struct radeon_device *rdev, bool enable)
			else if ((rdev->pm.dpm.sd == 0) && (rdev->pm.dpm.hd == 2))
				dpm_state = POWER_STATE_TYPE_INTERNAL_UVD_HD2;
			else
#endif
				dpm_state = POWER_STATE_TYPE_INTERNAL_UVD;
			rdev->pm.dpm.state = dpm_state;
			mutex_unlock(&rdev->pm.mutex);
+2 −1
Original line number Diff line number Diff line
@@ -798,7 +798,8 @@ void radeon_uvd_note_usage(struct radeon_device *rdev)
		    (rdev->pm.dpm.hd != hd)) {
			rdev->pm.dpm.sd = sd;
			rdev->pm.dpm.hd = hd;
			streams_changed = true;
			/* disable this for now */
			/*streams_changed = true;*/
		}
	}