From: Sowmiya S <sowmiya.s@intel.com>
To: igt-dev@lists.freedesktop.org
Cc: karthik.b.s@intel.com, kunal1.joshi@intel.com,
Sowmiya S <sowmiya.s@intel.com>
Subject: [PATCH i-g-t v5 0/4] kms_dp_linktrain_fallback: Add UHBR-to-HBR fallback subtest
Date: Mon, 17 Aug 2026 13:56:08 +0530 [thread overview]
Message-ID: <20260817082612.1101382-1-sowmiya.s@intel.com> (raw)
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
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(-)
--
2.43.0
next reply other threads:[~2026-08-17 8:27 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-17 8:26 Sowmiya S [this message]
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
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=20260817082612.1101382-1-sowmiya.s@intel.com \
--to=sowmiya.s@intel.com \
--cc=igt-dev@lists.freedesktop.org \
--cc=karthik.b.s@intel.com \
--cc=kunal1.joshi@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.