]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
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)
committerJouni Högander <jouni.hogander@intel.com>
Wed, 21 Jun 2023 10:49:51 +0000 (13:49 +0300)
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
drivers/gpu/drm/i915/display/intel_psr.c

index df517c395da729301047ac29b4f7904479e53b68..04ab034a8d57cbd5352fe8370dd08e4fce0e6e7a 100644 (file)
@@ -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)