From: Jani Nikula <jani.nikula@intel.com>
To: Sowmiya S <sowmiya.s@intel.com>, igt-dev@lists.freedesktop.org
Cc: karthik.b.s@intel.com, kunal1.joshi@intel.com,
Sowmiya S <sowmiya.s@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:02:13 +0300 [thread overview]
Message-ID: <6a1c71f29004da4f88d9f6f0c22128cd735ef06d@intel.com> (raw)
In-Reply-To: <20260817082612.1101382-1-sowmiya.s@intel.com>
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.
>
> 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
next prev parent reply other threads:[~2026-08-17 9:02 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 ` Jani Nikula [this message]
2026-08-17 9:21 ` [PATCH i-g-t v5 0/4] kms_dp_linktrain_fallback: Add UHBR-to-HBR fallback subtest S, Sowmiya
2026-08-17 9:50 ` Jani Nikula
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=6a1c71f29004da4f88d9f6f0c22128cd735ef06d@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.