> -----Original Message----- > From: Hogander, Jouni <jouni.hogander@xxxxxxxxx> > Sent: Monday, May 27, 2024 12:52 PM > To: intel-gfx@xxxxxxxxxxxxxxxxxxxxx > Cc: Manna, Animesh <animesh.manna@xxxxxxxxx>; Kahola, Mika > <mika.kahola@xxxxxxxxx>; Hogander, Jouni <jouni.hogander@xxxxxxxxx> > Subject: [PATCH v3 07/20] drm/i915/psr: Add Early Transport into psr > debugfs interface > > We want to have sink Early Transport capability and usage in our psr debugfs > status interface. > > v3: remove extra space from "PSR mode: disabled" > v2: printout "Selective Update enabled (Early Transport)" instead of > "Selective Update Early Transport enabled" > > Signed-off-by: Jouni Högander <jouni.hogander@xxxxxxxxx> Reviewed-by: Animesh Manna <animesh.manna@xxxxxxxxx> > --- > drivers/gpu/drm/i915/display/intel_psr.c | 36 ++++++++++++++++++------ > 1 file changed, 28 insertions(+), 8 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_psr.c > b/drivers/gpu/drm/i915/display/intel_psr.c > index a01c2173a2e5..fa12267f851f 100644 > --- a/drivers/gpu/drm/i915/display/intel_psr.c > +++ b/drivers/gpu/drm/i915/display/intel_psr.c > @@ -3603,25 +3603,45 @@ static void intel_psr_sink_capability(struct > intel_dp *intel_dp, > > if (psr->sink_support) > seq_printf(m, " [0x%02x]", intel_dp->psr_dpcd[0]); > + if (intel_dp->psr_dpcd[0] == > DP_PSR2_WITH_Y_COORD_ET_SUPPORTED) > + seq_printf(m, " (Early Transport)"); > seq_printf(m, ", Panel Replay = %s", str_yes_no(psr- > >sink_panel_replay_support)); > - seq_printf(m, ", Panel Replay Selective Update = %s\n", > + seq_printf(m, ", Panel Replay Selective Update = %s", > str_yes_no(psr->sink_panel_replay_su_support)); > + if (intel_dp->pr_dpcd & > DP_PANEL_REPLAY_EARLY_TRANSPORT_SUPPORT) > + seq_printf(m, " (Early Transport)"); > + seq_printf(m, "\n"); > } > > static void intel_psr_print_mode(struct intel_dp *intel_dp, > struct seq_file *m) > { > struct intel_psr *psr = &intel_dp->psr; > - const char *status; > + const char *status, *mode, *region_et; > > - if (psr->panel_replay_enabled) > - status = psr->sel_update_enabled ? "Panel Replay Selective > Update Enabled" : > - "Panel Replay Enabled"; > - else if (psr->enabled) > - status = psr->sel_update_enabled ? "PSR2" : "PSR1"; > + if (psr->enabled) > + status = " enabled"; > else > status = "disabled"; > - seq_printf(m, "PSR mode: %s\n", status); > + > + if (psr->panel_replay_enabled && psr->sel_update_enabled) > + mode = "Panel Replay Selective Update"; > + else if (psr->panel_replay_enabled) > + mode = "Panel Replay"; > + else if (psr->sel_update_enabled) > + mode = "PSR2"; > + else if (psr->enabled) > + mode = "PSR1"; > + else > + mode = ""; > + > + if (psr->sel_update_enabled && > + (psr2_su_region_et_valid(intel_dp, psr->panel_replay_enabled))) > + region_et = " (Early Transport)"; > + else > + region_et = ""; > + > + seq_printf(m, "PSR mode: %s%s%s\n", mode, status, region_et); > } > > static int intel_psr_status(struct seq_file *m, struct intel_dp *intel_dp) > -- > 2.34.1