linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/4] drm/dp: Rework LTTPR transparent mode handling and add support to msm driver
@ 2024-12-11 13:04 Abel Vesa
  2024-12-11 13:04 ` [PATCH v2 1/4] drm/dp: Add helper to set LTTPRs in transparent mode Abel Vesa
                   ` (3 more replies)
  0 siblings, 4 replies; 21+ messages in thread
From: Abel Vesa @ 2024-12-11 13:04 UTC (permalink / raw)
  To: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
	Simona Vetter, Karol Herbst, Lyude Paul, Danilo Krummrich,
	Jani Nikula, Rodrigo Vivi, Joonas Lahtinen, Tvrtko Ursulin,
	Rob Clark, Abhinav Kumar, Dmitry Baryshkov, Sean Paul,
	Marijn Suijten
  Cc: Bjorn Andersson, Konrad Dybcio, Johan Hovold, dri-devel,
	linux-kernel, nouveau, intel-gfx, intel-xe, linux-arm-msm,
	freedreno, Abel Vesa

Looking at both i915 and nouveau DP drivers, both are setting the first
LTTPR (if found) in transparent mode first and then in non-transparent
mode, just like the DP v2.0 specification mentions in section 3.6.6.1.

Being part of the standard, setting the LTTPR in a specific operation mode
can be easily moved in the generic framework. So do that by adding a new
helper.

Then, the msm DP driver is lacking any kind of support for LTTPR handling,
so add it by reading the LTTPR caps for figuring out the number of LTTPRs
found on plug detect and then do exactly what the i915 and nouveau drivers
do with respect to toggling through operating modes, just like the
up-mentioned section from DP spec describes.

At some point, link training per sub-segment will probably be needed, but
for now, toggling the operating modes seems to be enough at least for the
X Elite-based platforms that this patchset has been tested on.

Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
---
Changes in v2:
- Added new wrapper over the set_transparent new helper in order to
  move the non-transparent disable and the its enable->disable sequence
  mentioned in the DP standard section 3.6.6.1 entirely in the generic
  implemetation.
- Switch all 3 drivers to use the new wrapper.
- Fixed the return value of the helper to return 0 on success and
  negative value on error.
- Added explanation about the transparent/non-transparent modes into the
  msm dp commit message.
- Dropped the condition for non-eDP in msm DP driver since it is allowed
  to try to get the number of LTTPRs even on eDP and it will be always
  0 anyway.
- Dropped the RFC prefix
- Link to v1: https://lore.kernel.org/r/20241031-drm-dp-msm-add-lttpr-transparent-mode-set-v1-0-cafbb9855f40@linaro.org

---
Abel Vesa (4):
      drm/dp: Add helper to set LTTPRs in transparent mode
      drm/nouveau/dp: Use the generic helper to control LTTPR transparent mode
      drm/i915/dp: Use the generic helper to control LTTPR transparent mode
      drm/msm/dp: Add support for LTTPR handling

 drivers/gpu/drm/display/drm_dp_helper.c            | 50 ++++++++++++++++++++++
 .../gpu/drm/i915/display/intel_dp_link_training.c  | 24 +++--------
 drivers/gpu/drm/msm/dp/dp_display.c                | 17 ++++++++
 drivers/gpu/drm/nouveau/nouveau_dp.c               | 17 +-------
 include/drm/display/drm_dp_helper.h                |  2 +
 5 files changed, 76 insertions(+), 34 deletions(-)
---
base-commit: 91e71d606356e50f238d7a87aacdee4abc427f07
change-id: 20241031-drm-dp-msm-add-lttpr-transparent-mode-set-136cd5bfde07

Best regards,
-- 
Abel Vesa <abel.vesa@linaro.org>


^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2024-12-30 17:00 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-11 13:04 [PATCH v2 0/4] drm/dp: Rework LTTPR transparent mode handling and add support to msm driver Abel Vesa
2024-12-11 13:04 ` [PATCH v2 1/4] drm/dp: Add helper to set LTTPRs in transparent mode Abel Vesa
2024-12-11 14:42   ` Johan Hovold
2024-12-11 18:32     ` Dmitry Baryshkov
2024-12-12  8:18       ` Jani Nikula
2024-12-11 19:00     ` Dmitry Baryshkov
2024-12-12  8:31     ` neil.armstrong
2024-12-12  8:41       ` Johan Hovold
2024-12-26 13:07     ` Abel Vesa
2024-12-30 13:18       ` Jani Nikula
2024-12-30 13:44         ` Dmitry Baryshkov
2024-12-30 17:00           ` Jani Nikula
2024-12-11 19:22   ` Dmitry Baryshkov
2024-12-26 12:09     ` Abel Vesa
2024-12-26 19:04       ` Dmitry Baryshkov
2024-12-11 13:04 ` [PATCH v2 2/4] drm/nouveau/dp: Use the generic helper to control LTTPR " Abel Vesa
2024-12-16 20:36   ` Lyude Paul
2024-12-11 13:04 ` [PATCH v2 3/4] drm/i915/dp: " Abel Vesa
2024-12-11 13:04 ` [PATCH v2 4/4] drm/msm/dp: Add support for LTTPR handling Abel Vesa
2024-12-11 14:56   ` Johan Hovold
2024-12-26 12:46     ` Abel Vesa

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).