From: Imre Deak <imre.deak@intel.com>
To: <intel-gfx@lists.freedesktop.org>, <intel-xe@lists.freedesktop.org>
Cc: "Jani Nikula" <jani.nikula@intel.com>,
"Ville Syrjälä" <ville.syrjala@linux.intel.com>
Subject: [PATCH v2 00/34] drm/i915/dp_link: Unify modeset/fallback config selection
Date: Wed, 1 Jul 2026 18:31:29 +0300 [thread overview]
Message-ID: <20260701153204.4124150-1-imre.deak@intel.com> (raw)
This is v2 of the third part of patchset [1], unifying the link
configuration selection logic used during modeset state computation and
link training fallback selection, while also adding the corresponding
KUnit tests. This constitutes patches 58–108 of [1] and, once merged,
completes the original patchset. Due to the simplifications introduced
in this version explained below, several patches from the original
patchset have been dropped.
The patchset is based on the already merged first [2] and second [3]
part of patchset [1].
For the rationale of this patchset, please refer to the parts related to
link configuration selection in the cover letter of [1].
This v2 patchset version has the following changes:
- Track the state of link config iteration in an iteration object.
(Jani)
- Use an opaque filter object for filtering the iterated configurations
instead of exposing configuration indices via the API. (Jani)
- Remove all parts of the API accepting or returning a configuration
index or position. (Jani)
- Use the config iterator for fallback selection. (Jani)
- Remove the change to track link configurations via a virtual indexing
scheme. (Ville)
- Remove the functionality to merge new link configurations for a
connected sink changing its capabilities, allowed by patchset [4]
already merged. (Ville)
- Use the max BW link configuration during mode validation and TBT BW
computation, instead of using the max link limits for these.
Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
[1] https://lore.kernel.org/all/20260428125233.1664668-1-imre.deak@intel.com
[2] https://lore.kernel.org/all/20260601093836.3057345-1-imre.deak@intel.com
[3] https://lore.kernel.org/all/20260616200849.3534628-1-imre.deak@intel.com
[4] https://lore.kernel.org/all/20260522160514.2628249-1-imre.deak@intel.com
Imre Deak (34):
drm/i915/doc: Document DP link capabilities
drm/i915/dp_link_caps: Factor out helper to get link config by index
drm/i915/dp_link_caps: Add support for link rate, lane count iteration
orders
drm/i915/dp_link_caps: Add link configuration iterator
drm/i915/dp_link_caps: Add helper to get iteration order for a
connector
drm/i915/dp_link_caps: Validate max link limits
drm/i915/dp_link_caps: Add filter for enabled link configurations
drm/i915/dp_link_caps: Re-enable link configurations after a link
reset
drm/i915/dp_link_caps: Re-enable link configurations after sink caps
change
drm/i915/dp_link_caps: Drop noupdate postfix from max link limit set
helpers
drm/i915/dp_link_caps: Add debugfs entry showing allowed
configurations
drm/i915/dp: Add link configuration filter for modeset computation
drm/i915/dp_link_caps: Add helper to query max BW link configuration
drm/i915/dp: Query max BW config via link_caps during mode validation
drm/i915/dp_tunnel: Query max BW config via link_caps for BW
computation
drm/i915/dp_test: Use link caps for compliance link configs
drm/i915/dp: Iterate configurations via link_caps for SST non-DSC
drm/i915/dp: Iterate configurations via link_caps for SST DSC
drm/i915/dp: Use link caps for eDP DSC config selection
drm/i915/dp_mst: Use link caps for non-DSC config selection
drm/i915/dp_mst: Use link caps for MST DSC config selection
drm/i915/dp: Remove min/max link config limits
drm/i915/dp_link_training: Reset the max link limits in the fallback
code
drm/i915/dp_link_training: Use config iterator for fallback
drm/i915/dp_link_training: Disable failed config during fallback
drm/i915/kunit: Enable KUnit tests
drm/i915/kunit: Add DP link test stub
drm/xe/kunit: Add display test config
drm/xe/kunit: Build DP link display tests
drm/i915/kunit: Setup DP link test context
drm/i915/kunit: Export link training and caps funcs for testing
drm/i915/kunit: DP link: add baseline fixed table reference test
drm/i915/kunit: DP link: add update config tests
drm/i915/kunit: DP link: add fallback tests
.../intel-display/dp-link-capabilities.rst | 11 +
Documentation/gpu/intel-display/index.rst | 1 +
drivers/gpu/drm/i915/.kunitconfig | 12 +
drivers/gpu/drm/i915/Kconfig.debug | 12 +
drivers/gpu/drm/i915/Makefile | 2 +
drivers/gpu/drm/i915/display/intel_dp.c | 291 ++--
drivers/gpu/drm/i915/display/intel_dp.h | 11 +-
.../gpu/drm/i915/display/intel_dp_link_caps.c | 759 ++++++++-
.../gpu/drm/i915/display/intel_dp_link_caps.h | 172 +-
.../drm/i915/display/intel_dp_link_training.c | 237 +--
.../drm/i915/display/intel_dp_link_training.h | 31 +
drivers/gpu/drm/i915/display/intel_dp_mst.c | 72 +-
drivers/gpu/drm/i915/display/intel_dp_test.c | 107 +-
drivers/gpu/drm/i915/display/intel_dp_test.h | 3 +-
.../gpu/drm/i915/display/intel_dp_tunnel.c | 8 +-
drivers/gpu/drm/i915/display/tests/Makefile | 7 +
.../i915/display/tests/intel_dp_link_test.c | 1412 +++++++++++++++++
drivers/gpu/drm/xe/.gitignore | 1 +
drivers/gpu/drm/xe/.kunitconfig-display | 11 +
drivers/gpu/drm/xe/Makefile | 3 +
drivers/gpu/drm/xe/display/tests/Makefile | 11 +
21 files changed, 2786 insertions(+), 388 deletions(-)
create mode 100644 Documentation/gpu/intel-display/dp-link-capabilities.rst
create mode 100644 drivers/gpu/drm/i915/.kunitconfig
create mode 100644 drivers/gpu/drm/i915/display/tests/Makefile
create mode 100644 drivers/gpu/drm/i915/display/tests/intel_dp_link_test.c
create mode 100644 drivers/gpu/drm/xe/.kunitconfig-display
create mode 100644 drivers/gpu/drm/xe/display/tests/Makefile
--
2.49.1
next reply other threads:[~2026-07-01 15:32 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-01 15:31 Imre Deak [this message]
2026-07-01 15:31 ` [PATCH v2 01/34] drm/i915/doc: Document DP link capabilities Imre Deak
2026-07-02 5:17 ` Kandpal, Suraj
2026-07-01 15:31 ` [PATCH v2 02/34] drm/i915/dp_link_caps: Factor out helper to get link config by index Imre Deak
2026-07-03 2:55 ` Kandpal, Suraj
2026-07-01 15:31 ` [PATCH v2 03/34] drm/i915/dp_link_caps: Add support for link rate, lane count iteration orders Imre Deak
2026-07-01 15:31 ` [PATCH v2 04/34] drm/i915/dp_link_caps: Add link configuration iterator Imre Deak
2026-07-01 15:31 ` [PATCH v2 05/34] drm/i915/dp_link_caps: Add helper to get iteration order for a connector Imre Deak
2026-07-01 15:31 ` [PATCH v2 06/34] drm/i915/dp_link_caps: Validate max link limits Imre Deak
2026-07-01 15:31 ` [PATCH v2 07/34] drm/i915/dp_link_caps: Add filter for enabled link configurations Imre Deak
2026-07-01 15:31 ` [PATCH v2 08/34] drm/i915/dp_link_caps: Re-enable link configurations after a link reset Imre Deak
2026-07-01 15:31 ` [PATCH v2 09/34] drm/i915/dp_link_caps: Re-enable link configurations after sink caps change Imre Deak
2026-07-01 15:31 ` [PATCH v2 10/34] drm/i915/dp_link_caps: Drop noupdate postfix from max link limit set helpers Imre Deak
2026-07-01 15:31 ` [PATCH v2 11/34] drm/i915/dp_link_caps: Add debugfs entry showing allowed configurations Imre Deak
2026-07-02 10:35 ` Luca Coelho
2026-07-01 15:31 ` [PATCH v2 12/34] drm/i915/dp: Add link configuration filter for modeset computation Imre Deak
2026-07-02 11:03 ` Luca Coelho
2026-07-01 15:31 ` [PATCH v2 13/34] drm/i915/dp_link_caps: Add helper to query max BW link configuration Imre Deak
2026-07-02 11:06 ` Luca Coelho
2026-07-01 15:31 ` [PATCH v2 14/34] drm/i915/dp: Query max BW config via link_caps during mode validation Imre Deak
2026-07-02 11:22 ` Luca Coelho
2026-07-01 15:31 ` [PATCH v2 15/34] drm/i915/dp_tunnel: Query max BW config via link_caps for BW computation Imre Deak
2026-07-02 11:23 ` Luca Coelho
2026-07-01 15:31 ` [PATCH v2 16/34] drm/i915/dp_test: Use link caps for compliance link configs Imre Deak
2026-07-02 16:19 ` Luca Coelho
2026-07-01 15:31 ` [PATCH v2 17/34] drm/i915/dp: Iterate configurations via link_caps for SST non-DSC Imre Deak
2026-07-01 15:31 ` [PATCH v2 18/34] drm/i915/dp: Iterate configurations via link_caps for SST DSC Imre Deak
2026-07-01 15:31 ` [PATCH v2 19/34] drm/i915/dp: Use link caps for eDP DSC config selection Imre Deak
2026-07-01 15:31 ` [PATCH v2 20/34] drm/i915/dp_mst: Use link caps for non-DSC " Imre Deak
2026-07-01 15:31 ` [PATCH v2 21/34] drm/i915/dp_mst: Use link caps for MST DSC " Imre Deak
2026-07-01 15:31 ` [PATCH v2 22/34] drm/i915/dp: Remove min/max link config limits Imre Deak
2026-07-01 15:31 ` [PATCH v2 23/34] drm/i915/dp_link_training: Reset the max link limits in the fallback code Imre Deak
2026-07-01 15:31 ` [PATCH v2 24/34] drm/i915/dp_link_training: Use config iterator for fallback Imre Deak
2026-07-01 15:31 ` [PATCH v2 25/34] drm/i915/dp_link_training: Disable failed config during fallback Imre Deak
2026-07-01 15:31 ` [PATCH v2 26/34] drm/i915/kunit: Enable KUnit tests Imre Deak
2026-07-01 15:31 ` [PATCH v2 27/34] drm/i915/kunit: Add DP link test stub Imre Deak
2026-07-01 15:31 ` [PATCH v2 28/34] drm/xe/kunit: Add display test config Imre Deak
2026-07-01 15:31 ` [PATCH v2 29/34] drm/xe/kunit: Build DP link display tests Imre Deak
2026-07-01 15:31 ` [PATCH v2 30/34] drm/i915/kunit: Setup DP link test context Imre Deak
2026-07-01 15:32 ` [PATCH v2 31/34] drm/i915/kunit: Export link training and caps funcs for testing Imre Deak
2026-07-01 15:32 ` [PATCH v2 32/34] drm/i915/kunit: DP link: add baseline fixed table reference test Imre Deak
2026-07-01 15:32 ` [PATCH v2 33/34] drm/i915/kunit: DP link: add update config tests Imre Deak
2026-07-01 15:32 ` [PATCH v2 34/34] drm/i915/kunit: DP link: add fallback tests Imre Deak
2026-07-01 16:39 ` ✗ CI.checkpatch: warning for drm/i915/dp_link: Unify modeset/fallback config selection Patchwork
2026-07-01 16:40 ` ✓ CI.KUnit: success " Patchwork
2026-07-01 16:59 ` ✗ CI.checksparse: warning " Patchwork
2026-07-01 17:43 ` ✓ Xe.CI.BAT: success " Patchwork
2026-07-02 12:25 ` ✓ Xe.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=20260701153204.4124150-1-imre.deak@intel.com \
--to=imre.deak@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=intel-xe@lists.freedesktop.org \
--cc=jani.nikula@intel.com \
--cc=ville.syrjala@linux.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