Commit ef0af9db authored by Jouni Högander's avatar Jouni Högander
Browse files

drm/i915/psr: Use hw.adjusted mode when calculating io/fast wake times



Encoder compute config is changing hw.adjusted mode. Uapi.adjusted mode
doesn't get updated before psr compute config gets called. This causes io
and fast wake line calculation using adjusted mode containing values before
encoder adjustments. Fix this by using hw.adjusted mode instead of
uapi.adjusted mode.

Cc: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>

Signed-off-by: default avatarJouni Högander <jouni.hogander@intel.com>
Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/8475


Fixes: cb42e8ed ("drm/i915/psr: Use calculated io and fast wake lines")
Reviewed-by: default avatarMika Kahola <mika.kahola@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230620111745.2870706-1-jouni.hogander@intel.com
parent d9c078d3
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1044,9 +1044,9 @@ static bool _compute_psr2_wake_times(struct intel_dp *intel_dp,
	}

	io_wake_lines = intel_usecs_to_scanlines(
		&crtc_state->uapi.adjusted_mode, io_wake_time);
		&crtc_state->hw.adjusted_mode, io_wake_time);
	fast_wake_lines = intel_usecs_to_scanlines(
		&crtc_state->uapi.adjusted_mode, fast_wake_time);
		&crtc_state->hw.adjusted_mode, fast_wake_time);

	if (io_wake_lines > max_wake_lines ||
	    fast_wake_lines > max_wake_lines)