public inbox for igt-dev@lists.freedesktop.org
 help / color / mirror / Atom feed
From: "Hogander, Jouni" <jouni.hogander@intel.com>
To: "igt-dev@lists.freedesktop.org" <igt-dev@lists.freedesktop.org>,
	"Naladala, Ramanaidu" <ramanaidu.naladala@intel.com>
Cc: "B, Jeevan" <jeevan.b@intel.com>
Subject: Re: [PATCH i-g-t v2] lib/igt_psr: Fix Early Transport status handling
Date: Wed, 18 Mar 2026 09:28:20 +0000	[thread overview]
Message-ID: <6b4f9517742b08833573ff5e2f86d5eff93a5918.camel@intel.com> (raw)
In-Reply-To: <80257ff3-e7de-4c04-bc97-bdd6b51147fd@intel.com>

On Wed, 2026-03-18 at 14:24 +0530, Naladala, Ramanaidu wrote:
> 
> On 3/18/2026 1:48 PM, Hogander, Jouni wrote:
> > On Wed, 2026-03-18 at 01:00 +0530, Naladala Ramanaidu wrote:
> > > Switch PSR status reads to the connector‑specific debugfs path
> > > to avoid ambiguity on dual eDP or multi‑output systems. This
> > > ensures the Early Transport state is checked for the correct
> > > connector.
> > > 
> > > Update the Early Transport debugfs handling in line with changes
> > > introduced in KMD (commit c390bf07961b, "drm/i915/dp: Fix panel
> > > replay when DSC is enabled").
> > > 
> > > v2: Addressed review comments. (jeevan)
> > > 
> > > Link:
> > > https://lore.kernel.org/all/20251015161934.262108-8-imre.deak@intel.com/
> > > 
> > > Signed-off-by: Naladala Ramanaidu <ramanaidu.naladala@intel.com>
> > > ---
> > >   lib/igt_psr.c             | 8 +++++---
> > >   lib/igt_psr.h             | 2 +-
> > >   tests/intel/kms_psr2_sf.c | 2 +-
> > >   3 files changed, 7 insertions(+), 5 deletions(-)
> > > 
> > > diff --git a/lib/igt_psr.c b/lib/igt_psr.c
> > > index 7e50c3dc6..09c34c97d 100644
> > > --- a/lib/igt_psr.c
> > > +++ b/lib/igt_psr.c
> > > @@ -69,14 +69,16 @@ static bool psr_active_sink_check(int
> > > debugfs_fd,
> > > igt_output_t *output)
> > >   /*
> > >    * Checks if Early Transport is enabled in PSR status by
> > > reading the
> > > debugfs.
> > >    */
> > > -bool early_transport_check(int debugfs_fd)
> > > +bool early_transport_check(int debugfs_fd, igt_output_t *output)
> > >   {
> > >   	char buf[PSR_STATUS_MAX_LEN];
> > > +	char debugfs_file[128] = {0};
> > >   
> > > -	igt_debugfs_simple_read(debugfs_fd,
> > > "i915_edp_psr_status",
> > > buf,
> > > +	SET_DEBUGFS_PATH(output, debugfs_file);
> > > +	igt_debugfs_simple_read(debugfs_fd, debugfs_file, buf,
> > >   		 		sizeof(buf));
> > >   
> > > -	return strstr(buf, "enabled (Early Transport)");
> > > +	return strstr(buf, "Early Transport");
> > Checked this and to me it looks like it may indicate improperly ET
> > being enabled. This is what I'm seeing in debugfs entry:
> > 
> > Sink support: PSR = yes [0x04] (Early Transport), Panel Replay =
> > yes,
> > Panel Replay Selective Update = yes (Early Transport)
> > PSR mode: Panel Replay Selective Update enabled (Early Transport)
> > Source PSR/PanelReplay ctl: enabled [0x40000000]
> > PSR2_CTL: 0x08000000
> > Source PSR/PanelReplay status: SLEEP [0x30200011]
> > Busy frontbuffer bits: 0x00000000
> > Performance counter: 0
> > Frame:	PSR2 SU blocks:
> > 0	33
> > 1	256
> > 2	512
> > 3	0
> > 4	0
> > 5	0
> > 6	0
> > 7	0
> > PSR2 selective fetch: enabled
> > 
> > So I think panel stating ET support already returns true if using
> > this
> > check?
> > 
> > BR,
> > Jouni Högander
> Hi Jouni,
> 
> In my system i have not seen Early Transport sting printed that many 
> times. On What config you this debugfs.  As per the Link patch if
> Early 
> transport is supported it will print (Early Transport) and if not 
> supported it will not print the string.
> # cat /sys/kernel/debug/dri/0/DP-1/i915_psr_status
> Sink support: PSR = no, Panel Replay = yes, Panel Replay Selective 
> Update = yes, Panel Replay DSC support = selective update (Early
> Transport)
> PSR mode: Panel Replay Selective Update enabled
> Source PSR/PanelReplay ctl: enabled [0x40000000]
> Source PSR/PanelReplay status: SU_STANDBY [0x64200010]
> Busy frontbuffer bits: 0x00000000
> Performance counter: 0
> PSR2 selective fetch: enabled

This one is exactly the scenario I pointed out above. Your monitor is
supporting Early Transport but it is not enabled. This is a normal
Panel Replay Link on case where Early Transport is not enabled.

My i915_psr_status was dumped on eDP panel.

BR,
Jouni Högander

> 
> Regards,
> Ramanaidu N.
> > 
> > >   }
> > >   
> > >   static bool sink_status_checks(void)
> > > diff --git a/lib/igt_psr.h b/lib/igt_psr.h
> > > index 7639f8d46..53ab04483 100644
> > > --- a/lib/igt_psr.h
> > > +++ b/lib/igt_psr.h
> > > @@ -49,7 +49,7 @@ enum fbc_mode {
> > >   
> > >   bool psr_disabled_check(int debugfs_fd);
> > >   bool selective_fetch_check(int debugfs_fd, igt_output_t
> > > *output);
> > > -bool early_transport_check(int debugfs_fd);
> > > +bool early_transport_check(int debugfs_fd, igt_output_t
> > > *output);
> > >   bool psr_wait_entry(int debugfs_fd, enum psr_mode mode,
> > > igt_output_t
> > > *output);
> > >   bool psr_wait_update(int debugfs_fd, enum psr_mode mode,
> > > igt_output_t *output);
> > >   bool psr_long_wait_update(int debugfs_fd, enum psr_mode mode,
> > > igt_output_t *output);
> > > diff --git a/tests/intel/kms_psr2_sf.c
> > > b/tests/intel/kms_psr2_sf.c
> > > index 1cc57ad35..7503c7682 100644
> > > --- a/tests/intel/kms_psr2_sf.c
> > > +++ b/tests/intel/kms_psr2_sf.c
> > > @@ -961,7 +961,7 @@ static void run(data_t *data)
> > >   			     "FBC still disabled\n");
> > >   
> > >   	if (is_et_check_needed(data))
> > > -		igt_assert_f(early_transport_check(data-
> > > > debugfs_fd),
> > > +		igt_assert_f(early_transport_check(data-
> > > >debugfs_fd,
> > > data->output),
> > >   			     "Early Transport Disabled\n");
> > >   
> > >   	data->screen_changes = 0;


  reply	other threads:[~2026-03-18  9:28 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-26  9:42 [PATCH i-g-t v1] lib/igt_psr: Fix Early Transport status handling Naladala Ramanaidu
2026-02-26 16:19 ` ✓ Xe.CI.BAT: success for " Patchwork
2026-02-26 16:39 ` ✓ i915.CI.BAT: " Patchwork
2026-02-26 17:13 ` ✗ Xe.CI.FULL: failure " Patchwork
2026-02-27  2:58 ` [PATCH i-g-t v1] " B, Jeevan
2026-03-17 19:30 ` [PATCH i-g-t v2] " Naladala Ramanaidu
2026-03-18  4:17   ` B, Jeevan
2026-03-18  8:18   ` Hogander, Jouni
2026-03-18  8:54     ` Naladala, Ramanaidu
2026-03-18  9:28       ` Hogander, Jouni [this message]
2026-03-18 10:38         ` Naladala, Ramanaidu
2026-03-18  2:02 ` ✓ Xe.CI.BAT: success for lib/igt_psr: Fix Early Transport status handling (rev2) Patchwork
2026-03-18  2:12 ` ✓ i915.CI.BAT: " Patchwork
2026-03-19 14:57 ` ✗ Xe.CI.FULL: failure " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6b4f9517742b08833573ff5e2f86d5eff93a5918.camel@intel.com \
    --to=jouni.hogander@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=jeevan.b@intel.com \
    --cc=ramanaidu.naladala@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox