igt-dev.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
From: Jani Nikula <jani.nikula@intel.com>
To: "S, Sowmiya" <sowmiya.s@intel.com>,
	"igt-dev@lists.freedesktop.org" <igt-dev@lists.freedesktop.org>
Cc: "B S, Karthik" <karthik.b.s@intel.com>,
	"Joshi, Kunal1" <kunal1.joshi@intel.com>
Subject: RE: [PATCH i-g-t v5 0/4] kms_dp_linktrain_fallback: Add UHBR-to-HBR fallback subtest
Date: Mon, 17 Aug 2026 12:50:07 +0300	[thread overview]
Message-ID: <ed91f89c1aad62372f11e0d4c167e855547665cf@intel.com> (raw)
In-Reply-To: <PH7PR11MB679620384BF43A2B334BD04EE5A72@PH7PR11MB6796.namprd11.prod.outlook.com>

On Mon, 17 Aug 2026, "S, Sowmiya" <sowmiya.s@intel.com> wrote:
> Hi @Nikula, Jani,
>
>> -----Original Message-----
>> From: Nikula, Jani <jani.nikula@intel.com>
>> Sent: 17 August 2026 14:32
>> To: S, Sowmiya <sowmiya.s@intel.com>; igt-dev@lists.freedesktop.org
>> Cc: B S, Karthik <karthik.b.s@intel.com>; Joshi, Kunal1
>> <kunal1.joshi@intel.com>; S, Sowmiya <sowmiya.s@intel.com>
>> Subject: Re: [PATCH i-g-t v5 0/4] kms_dp_linktrain_fallback: Add UHBR-to-HBR
>> fallback subtest
>> 
>> On Mon, 17 Aug 2026, Sowmiya S <sowmiya.s@intel.com> wrote:
>> > DP 2.x links use 128b/132b channel encoding for UHBR rates
>> > (UHBR10/13.5/20) and 8b/10b for legacy HBR3 and below. The transition
>> > between the two encodings goes through a port-slice reset on the
>> > source side. The existing dp-fallback subtest only covers
>> > 8b/10b-to-8b/10b fallback; this series adds a dedicated subtest for the UHBR-
>> >HBR direction.
>> >
>> > Adds two library helpers to lib/i915/i915_dp:
>> >   - i915_dp_is_uhbr_rate(): mirrors the kernel's drm_dp_is_uhbr_rate()
>> >   - i915_dp_get_next_lower_rate(): parses the force_link_rate debugfs list
>> >     with proper strtok_r/strtol/errno handling
>> 
>> It occurs to me anything named "i915" is misleading here. This is about Intel
>> display shared between the i915 and xe drivers, not specific to
>> i915 alone.
>> 
>> BR,
>> Jani.
>> 
> Agreed on the naming being misleading - but every other function in i915_dp.c/.h already uses the i915_dp_ prefix (i915_dp_get_current_link_rate(), i915_dp_force_link_retrain(), i915_dp_reset_link_params(), etc.), and all of those are used by the same xe-capable tests too. If I rename just these two new functions to intel_dp_* now, the file ends up with two inconsistent naming conventions side by side, which is arguably more confusing than the current single (if misleadingly-named) one.
>
> If you can confirm, I can add these two following the existing i915_dp_ convention for now, and send a separate follow-up patch renaming the whole file's API (and called from other functions) to intel_dp*? 

The long term goal should be to migrate towards driver agnostic naming
for Intel display stuff.

BR,
Jani.


>> >
>> > const char * signature for i915_dp_set_link_params() so string
>> > literals can be passed directly without a writable-array workaround.
>> >
>> > Fixes a pre-existing bug where the file-static
>> > traversed_mst_output_count was never reset between subtests, causing
>> > all MST outputs to be silently skipped as "already visited" in a full-binary run.
>> >
>> > Adds the uhbr-to-hbr-fallback subtest. The subtest pins the link at
>> > the highest sustainable UHBR rate (stepping down if the cable cannot
>> > sustain the sink's max), forces repeated LT_FAILURE_REDUCED_CAPS
>> > failures, and asserts the rate drops below UHBR10. MST topologies are
>> > supported since all siblings share the physical link. The existing
>> > run_lt_fallback_test() is extended with force_uhbr parameter to avoid ~45
>> lines of duplication.
>> >
>> > v2: Resets MST traversal state per test run
>> > v3:
>> >   - Drop "exercising the port slice reset path" from SUBTEST description
>> >   - Revert unrelated cosmetic hunk in setup_mst_outputs()
>> >   - Single UHBR capability gate using i915_dp_get_max_link_rate()
>> >   - remove duplicate gate using i915_dp_get_max_supported_rate()
>> >   - Fix link rate log units (10 kbit/s, not kbps)
>> >   - Add igt_reset_connectors() to pin-loop early-return path
>> >   - Replace UHBR10_LINK_RATE define with i915_dp_is_uhbr_rate() helper
>> >   - Replace open-coded strtok() parsing with i915_dp_get_next_lower_rate()
>> >   - Hard-assert "fallback not reached" instead of returning false
>> >   - Remove dead traversed_mst_output_count reset in run_dsc path
>> >   - Merge run_uhbr_to_hbr_fallback_test() into run_lt_fallback_test()
>> >   - Use "auto" string literal directly (const char * param fix)
>> >   - Move reset before UHBR capability gate read in run_lt_fallback_test()
>> >   - Document force_uhbr parameter and "clear the pin" reset behaviour
>> > v4:
>> >   - name the UHBR10 threshold and make i915_dp_is_uhbr_rate() a
>> >     static inline in the header to avoid a cross-TU call
>> >   - parse intel_dp_allowed_link_configs instead of the source-only
>> >     i915_dp_force_link_rate list in i915_dp_get_next_lower_rate()
>> >   - avoid the implicit long to int narrowing on the return value
>> > v5: commit display reset before fallback
>> >
>> > Sowmiya S (4):
>> >   lib/i915/i915_dp: Add UHBR helpers and const-correct set_link_params
>> >   tests/intel/kms_dp_linktrain_fallback: Reset traversed MST output
>> >     count
>> >   tests/intel/kms_dp_linktrain_fallback: Add UHBR-to-HBR fallback
>> >     subtest
>> >   tests/intel/kms_dp_linktrain_fallback: commit display reset before
>> >     fallback
>> >
>> >  lib/i915/i915_dp.c                      |  58 ++++++-
>> >  lib/i915/i915_dp.h                      |  24 ++-
>> >  tests/intel/kms_dp_linktrain_fallback.c | 202
>> > +++++++++++++++++++++---
>> >  3 files changed, 260 insertions(+), 24 deletions(-)
>> 
>> --
>> Jani Nikula, Intel

-- 
Jani Nikula, Intel

  reply	other threads:[~2026-08-17  9:50 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-17  8:26 [PATCH i-g-t v5 0/4] kms_dp_linktrain_fallback: Add UHBR-to-HBR fallback subtest Sowmiya S
2026-08-17  8:26 ` [PATCH i-g-t v5 1/4] lib/i915/i915_dp: Add UHBR helpers and const-correct set_link_params Sowmiya S
2026-08-19  5:24   ` Joshi, Kunal1
2026-08-17  8:26 ` [PATCH i-g-t v5 2/4] tests/intel/kms_dp_linktrain_fallback: Reset traversed MST output count Sowmiya S
2026-08-19  5:24   ` Joshi, Kunal1
2026-08-17  8:26 ` [PATCH i-g-t v5 3/4] tests/intel/kms_dp_linktrain_fallback: Add UHBR-to-HBR fallback subtest Sowmiya S
2026-08-19  5:25   ` Joshi, Kunal1
2026-08-17  8:26 ` [PATCH i-g-t v5 4/4] tests/intel/kms_dp_linktrain_fallback: commit display reset before fallback Sowmiya S
2026-08-19  5:16   ` Joshi, Kunal1
2026-08-17  9:02 ` [PATCH i-g-t v5 0/4] kms_dp_linktrain_fallback: Add UHBR-to-HBR fallback subtest Jani Nikula
2026-08-17  9:21   ` S, Sowmiya
2026-08-17  9:50     ` Jani Nikula [this message]
2026-08-17 16:23 ` ✓ Xe.CI.BAT: success for kms_dp_linktrain_fallback: Add UHBR-to-HBR fallback subtest (rev3) Patchwork
2026-08-17 16:39 ` ✓ i915.CI.BAT: " Patchwork
2026-08-17 19:04 ` ✗ Xe.CI.FULL: failure " Patchwork
2026-08-18  6:30 ` ✗ i915.CI.Full: " 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=ed91f89c1aad62372f11e0d4c167e855547665cf@intel.com \
    --to=jani.nikula@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=karthik.b.s@intel.com \
    --cc=kunal1.joshi@intel.com \
    --cc=sowmiya.s@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;
as well as URLs for NNTP newsgroup(s).