drm/i915/psr: Use hw.adjusted mode when calculating io/fast wake times
authorJouni Högander <jouni.hogander@intel.com>
Tue, 20 Jun 2023 11:17:45 +0000 (14:17 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 19 Jul 2023 14:21:59 +0000 (16:21 +0200)
[ Upstream commit 5311892a0ad1d301aafd53ca0154091b3eb407ea ]

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: Jouni Högander <jouni.hogander@intel.com>
Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/8475
Fixes: cb42e8ede5b4 ("drm/i915/psr: Use calculated io and fast wake lines")
Reviewed-by: Mika Kahola <mika.kahola@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230620111745.2870706-1-jouni.hogander@intel.com
(cherry picked from commit ef0af9db2a21257885116949f471fe5565b2f0ab)
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/i915/display/intel_psr.c

index bf18423c7a005522c8a4637e66ab90590b4a12e9..e2d7c0a6802aac4c4970b598593725d595198a8f 100644 (file)
@@ -857,9 +857,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)