mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
To: Rob Clark <robin.clark@oss.qualcomm.com>,
	Dmitry Baryshkov <lumag@kernel.org>,
	Abhinav Kumar <abhinav.kumar@linux.dev>,
	Jessica Zhang <jesszhan0024@gmail.com>,
	Sean Paul <sean@poorly.run>,
	Marijn Suijten <marijn.suijten@somainline.org>,
	David Airlie <airlied@gmail.com>, Simona Vetter <simona@ffwll.ch>,
	Kuogee Hsieh <quic_khsieh@quicinc.com>
Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org,
	freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org,
	Jessica Zhang <jessica.zhang@oss.qualcomm.com>
Subject: [PATCH v3 0/8] drm/msm/dp: Drop the HPD state machine
Date: Thu, 15 Jan 2026 09:29:05 +0200	[thread overview]
Message-ID: <20260115-hpd-refactor-v3-0-08e2f3bcd2e0@oss.qualcomm.com> (raw)

Currently, all HPD interrupt handling must go through the HPD state
machine.

This has caused many issues where the DRM framework assumes that DP is
in one state while the state machine is stuck in another state.

As discussed here [1], this series:

- Removes the state machine
- Moves link training to atomic_enable()
- Changes the detect() behavior to return true if a display is physically
  plugged in (as opposed to if the DP link is ready).
- Remove event queue and move internal HPD handling to hpd_notify()

I'm not completely satisfied with the PM runtime handling, I might want
to review it at the next iterations or with the another series.

Note: eDP is mostly untested.

[1] https://patchwork.freedesktop.org/patch/656312/?series=142010&rev=2#comment_1201738

---
Changes in v3:
- Take over the series (thanks, Jessica, for the previous work!)
- Major rework of the series, squashed the set of patches touching the
  HPD states and handling, it is easier to do it this way rather than
  pulling the strings one by one.
- Link to v2: https://lore.kernel.org/r/20250808-hpd-refactor-v2-0-7f4e1e741aa3@oss.qualcomm.com

Changes in v2:
- Dropped event queue (Dmitry)
- Moved internal HPD handling to use hpd_notify() (Dmitry)
- Reworked bridge detect() to read DPCP and sink count (Dmitry)
- Moved setting of link_trained to plug/unplugged handling
- Dropped msm_dp::connected (Dmitry)
- Squashed all hpd state related patches (Dmitry)
- Link to v1: https://lore.kernel.org/r/20250711-hpd-refactor-v1-0-33cbac823f34@oss.qualcomm.com

---
Dmitry Baryshkov (1):
      drm/msm/dp: drop event data

Jessica Zhang (7):
      drm/msm/dp: fix HPD state status bit shift value
      drm/msm/dp: Fix the ISR_* enum values
      drm/msm/dp: Read DPCD and sink count in bridge detect()
      drm/msm/dp: Move link training to atomic_enable()
      drm/msm/dp: Drop EV_USER_NOTIFICATION
      drm/msm/dp: rework HPD handling
      drm/msm/dp: Add sink_count and link_ready to debug logs

 drivers/gpu/drm/msm/dp/dp_ctrl.c    |  22 --
 drivers/gpu/drm/msm/dp/dp_ctrl.h    |   1 -
 drivers/gpu/drm/msm/dp/dp_display.c | 673 +++++++++++-------------------------
 drivers/gpu/drm/msm/dp/dp_display.h |   2 +-
 drivers/gpu/drm/msm/dp/dp_drm.c     |  22 +-
 drivers/gpu/drm/msm/dp/dp_drm.h     |   2 +
 drivers/gpu/drm/msm/dp/dp_reg.h     |   4 +-
 7 files changed, 208 insertions(+), 518 deletions(-)
---
base-commit: b775e489bec70895b7ef6b66927886bbac79598f
change-id: 20250523-hpd-refactor-74e25b55620a

Best regards,
-- 
With best wishes
Dmitry


             reply	other threads:[~2026-01-15  7:29 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-15  7:29 Dmitry Baryshkov [this message]
2026-01-15  7:29 ` [PATCH v3 1/8] drm/msm/dp: fix HPD state status bit shift value Dmitry Baryshkov
2026-01-15  9:12   ` Konrad Dybcio
2026-01-15  7:29 ` [PATCH v3 2/8] drm/msm/dp: Fix the ISR_* enum values Dmitry Baryshkov
2026-01-15  9:12   ` Konrad Dybcio
2026-01-15  7:29 ` [PATCH v3 3/8] drm/msm/dp: Read DPCD and sink count in bridge detect() Dmitry Baryshkov
2026-01-15  9:19   ` Konrad Dybcio
2026-01-15  9:40     ` Dmitry Baryshkov
2026-01-15 14:57   ` Bjorn Andersson
2026-01-15 18:48     ` Dmitry Baryshkov
2026-02-02  7:04   ` Yongxing Mou
2026-01-15  7:29 ` [PATCH v3 4/8] drm/msm/dp: Move link training to atomic_enable() Dmitry Baryshkov
2026-01-15  9:30   ` Konrad Dybcio
2026-01-15 15:39     ` Bjorn Andersson
2026-01-15 18:50       ` Dmitry Baryshkov
2026-01-15 15:30   ` Bjorn Andersson
2026-01-15 18:51     ` Dmitry Baryshkov
2026-01-15  7:29 ` [PATCH v3 5/8] drm/msm/dp: Drop EV_USER_NOTIFICATION Dmitry Baryshkov
2026-01-15  9:41   ` Konrad Dybcio
2026-01-15  9:42     ` Dmitry Baryshkov
2026-01-15 10:12       ` Konrad Dybcio
2026-01-15 15:42   ` Bjorn Andersson
2026-01-15  7:29 ` [PATCH v3 6/8] drm/msm/dp: drop event data Dmitry Baryshkov
2026-01-15  9:42   ` Konrad Dybcio
2026-01-15 15:51   ` Bjorn Andersson
2026-01-15  7:29 ` [PATCH v3 7/8] drm/msm/dp: rework HPD handling Dmitry Baryshkov
2026-01-15 16:28   ` Bjorn Andersson
2026-01-15  7:29 ` [PATCH v3 8/8] drm/msm/dp: Add sink_count and link_ready to debug logs Dmitry Baryshkov
2026-01-15 16:25   ` Bjorn Andersson

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=20260115-hpd-refactor-v3-0-08e2f3bcd2e0@oss.qualcomm.com \
    --to=dmitry.baryshkov@oss.qualcomm.com \
    --cc=abhinav.kumar@linux.dev \
    --cc=airlied@gmail.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=freedreno@lists.freedesktop.org \
    --cc=jessica.zhang@oss.qualcomm.com \
    --cc=jesszhan0024@gmail.com \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lumag@kernel.org \
    --cc=marijn.suijten@somainline.org \
    --cc=quic_khsieh@quicinc.com \
    --cc=robin.clark@oss.qualcomm.com \
    --cc=sean@poorly.run \
    --cc=simona@ffwll.ch \
    /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

all inboxes | Powered by JetHome®