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;
next prev parent 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