public inbox for igt-dev@lists.freedesktop.org
 help / color / mirror / Atom feed
From: "Naladala, Ramanaidu" <Ramanaidu.naladala@intel.com>
To: "Hogander, Jouni" <jouni.hogander@intel.com>,
	"igt-dev@lists.freedesktop.org" <igt-dev@lists.freedesktop.org>
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 16:08:16 +0530	[thread overview]
Message-ID: <4aa9735d-51f6-4e6d-94f3-40d467d5f7b2@intel.com> (raw)
In-Reply-To: <6b4f9517742b08833573ff5e2f86d5eff93a5918.camel@intel.com>


On 3/18/2026 2:58 PM, Hogander, Jouni wrote:
> 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
Thanks Jouni for the review.
So i can skip the ET check for external displays till DP Panel Replay 
with ALPM is working. I will float the new change in next version with 
FIXME comment.
>> 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 10:38 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
2026-03-18 10:38         ` Naladala, Ramanaidu [this message]
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=4aa9735d-51f6-4e6d-94f3-40d467d5f7b2@intel.com \
    --to=ramanaidu.naladala@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=jeevan.b@intel.com \
    --cc=jouni.hogander@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