summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/display/intel_psr.c
diff options
context:
space:
mode:
authorJouni Högander <jouni.hogander@intel.com>2024-05-29 12:38:49 +0300
committerJouni Högander <jouni.hogander@intel.com>2024-06-03 11:23:18 +0300
commitb330568f0c51b0b80e463841b0062206011a4746 (patch)
tree7fbead72d8b051eb771c2d948920dc598f284bc3 /drivers/gpu/drm/i915/display/intel_psr.c
parent04d0aed08206a235470ca82c08f46aa7b73e97fc (diff)
downloadlinux-b330568f0c51b0b80e463841b0062206011a4746.tar.gz
linux-b330568f0c51b0b80e463841b0062206011a4746.tar.bz2
linux-b330568f0c51b0b80e463841b0062206011a4746.zip
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. v4: use su_region_et_enabled instead of psr2_su_region_et_valid v3: remove extra space from "PSR mode: disabled" v2: printout "Selective Update enabled (Early Transport)" instead of "Selective Update Early Transport enabled" Reviewed-by: Animesh Manna <animesh.manna@intel.com> Signed-off-by: Jouni Högander <jouni.hogander@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240529093849.1016172-7-jouni.hogander@intel.com
Diffstat (limited to 'drivers/gpu/drm/i915/display/intel_psr.c')
-rw-r--r--drivers/gpu/drm/i915/display/intel_psr.c35
1 files changed, 27 insertions, 8 deletions
diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
index b6162a8b2db6..4a4124a92a0d 100644
--- a/drivers/gpu/drm/i915/display/intel_psr.c
+++ b/drivers/gpu/drm/i915/display/intel_psr.c
@@ -3332,25 +3332,44 @@ 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->su_region_et_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)