Skip to content

Commit 5923a6e

Browse files
hogandertursulin
authored andcommitted
drm/i915/psr: Write DSC parameters on Selective Update in ET mode
There are slice row per frame and pic height parameters in DSC that needs to be configured on every Selective Update in Early Transport mode. Use helper provided by DSC code to configure these on Selective Update when in Early Transport mode. Also fill crtc_state->psr2_su_area with full frame area on full frame update for DSC calculation. v2: move psr2_su_area under skip_sel_fetch_set_loop label Bspec: 68927, 71709 Fixes: 467e4e0 ("drm/i915/psr: Enable psr2 early transport as possible") Cc: <stable@vger.kernel.org> # v6.9+ Signed-off-by: Jouni Högander <jouni.hogander@intel.com> Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com> Link: https://patch.msgid.link/20260304113011.626542-5-jouni.hogander@intel.com (cherry picked from commit 3140af2) Signed-off-by: Tvrtko Ursulin <tursulin@ursulin.net>
1 parent bb5f1cd commit 5923a6e

1 file changed

Lines changed: 10 additions & 0 deletions

File tree

drivers/gpu/drm/i915/display/intel_psr.c

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2619,6 +2619,12 @@ void intel_psr2_program_trans_man_trk_ctl(struct intel_dsb *dsb,
26192619

26202620
intel_de_write_dsb(display, dsb, PIPE_SRCSZ_ERLY_TPT(crtc->pipe),
26212621
crtc_state->pipe_srcsz_early_tpt);
2622+
2623+
if (!crtc_state->dsc.compression_enable)
2624+
return;
2625+
2626+
intel_dsc_su_et_parameters_configure(dsb, encoder, crtc_state,
2627+
drm_rect_height(&crtc_state->psr2_su_area));
26222628
}
26232629

26242630
static void psr2_man_trk_ctl_calc(struct intel_crtc_state *crtc_state,
@@ -3040,6 +3046,10 @@ int intel_psr2_sel_fetch_update(struct intel_atomic_state *state,
30403046
}
30413047

30423048
skip_sel_fetch_set_loop:
3049+
if (full_update)
3050+
clip_area_update(&crtc_state->psr2_su_area, &crtc_state->pipe_src,
3051+
&crtc_state->pipe_src);
3052+
30433053
psr2_man_trk_ctl_calc(crtc_state, full_update);
30443054
crtc_state->pipe_srcsz_early_tpt =
30453055
psr2_pipe_srcsz_early_tpt_calc(crtc_state, full_update);

0 commit comments

Comments
 (0)