mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Jessica Zhang <jessica.zhang@oss.qualcomm.com>
To: Rob Clark <robin.clark@oss.qualcomm.com>,
	Abhinav Kumar <abhinav.kumar@linux.dev>,
	Dmitry Baryshkov <lumag@kernel.org>, Sean Paul <sean@poorly.run>,
	Marijn Suijten <marijn.suijten@somainline.org>,
	David Airlie <airlied@gmail.com>, Simona Vetter <simona@ffwll.ch>,
	Jessica Zhang <jessica.zhang@oss.qualcomm.com>,
	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,
	Yongxing Mou <quic_yongmou@quicinc.com>,
	Abhinav Kumar <quic_abhinavk@quicinc.com>
Subject: [PATCH v2 00/12] drm/msm/dp: Drop the HPD state machine
Date: Fri, 08 Aug 2025 17:35:12 -0700	[thread overview]
Message-ID: <20250808-hpd-refactor-v2-0-7f4e1e741aa3@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()

This has been validated on x1e80100-crd and sa8775p-ride. Any help
testing on other platforms/use-cases would be appreciated!

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

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

---
Abhinav Kumar (1):
      drm/msm/dp: remove redundant checks related to ST_DISPLAY_OFF in plug handler

Jessica Zhang (11):
      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: Use drm_bridge_hpd_notify()
      drm/msm/dp: Handle internal HPD IRQ in hpd_notify()
      drm/msm/dp: Drop event waitqueue
      drm/msm/dp: Return early from atomic_enable() if cable is not connected
      drm/msm/dp: drop the entire HPD state machine
      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 | 580 +++++++++++-------------------------
 drivers/gpu/drm/msm/dp/dp_display.h |   1 +
 drivers/gpu/drm/msm/dp/dp_drm.c     |  20 +-
 drivers/gpu/drm/msm/dp/dp_drm.h     |   1 +
 drivers/gpu/drm/msm/dp/dp_reg.h     |   2 +-
 7 files changed, 187 insertions(+), 440 deletions(-)
---
base-commit: 8290d37ad2b087bbcfe65fa5bcaf260e184b250a
change-id: 20250523-hpd-refactor-74e25b55620a

Best regards,
--  
Jessica Zhang <jessica.zhang@oss.qualcomm.com>


             reply	other threads:[~2025-08-09  0:35 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-08-09  0:35 Jessica Zhang [this message]
2025-08-09  0:35 ` [PATCH v2 01/12] drm/msm/dp: fix HPD state status bit shift value Jessica Zhang
2025-08-09  0:38   ` Dmitry Baryshkov
2025-08-09  0:35 ` [PATCH v2 02/12] drm/msm/dp: Fix the ISR_* enum values Jessica Zhang
2025-08-09  0:35 ` [PATCH v2 03/12] drm/msm/dp: Read DPCD and sink count in bridge detect() Jessica Zhang
2025-08-09  0:44   ` Dmitry Baryshkov
2025-08-09  0:35 ` [PATCH v2 04/12] drm/msm/dp: Move link training to atomic_enable() Jessica Zhang
2025-08-09  0:45   ` Dmitry Baryshkov
2025-08-09  0:53     ` Jessica Zhang
2025-08-09  0:51   ` Dmitry Baryshkov
2025-08-09  0:35 ` [PATCH v2 05/12] drm/msm/dp: Drop EV_USER_NOTIFICATION Jessica Zhang
2025-08-09  2:14   ` Dmitry Baryshkov
2025-08-09  0:35 ` [PATCH v2 06/12] drm/msm/dp: Use drm_bridge_hpd_notify() Jessica Zhang
2025-08-09  6:46   ` Dmitry Baryshkov
2025-08-09  0:35 ` [PATCH v2 07/12] drm/msm/dp: Handle internal HPD IRQ in hpd_notify() Jessica Zhang
2025-08-09  7:05   ` Dmitry Baryshkov
2025-08-09  0:35 ` [PATCH v2 08/12] drm/msm/dp: Drop event waitqueue Jessica Zhang
2025-08-09  7:08   ` Dmitry Baryshkov
2025-08-09  0:35 ` [PATCH v2 09/12] drm/msm/dp: remove redundant checks related to ST_DISPLAY_OFF in plug handler Jessica Zhang
2025-08-09  7:10   ` Dmitry Baryshkov
2025-08-09  0:35 ` [PATCH v2 10/12] drm/msm/dp: Return early from atomic_enable() if cable is not connected Jessica Zhang
2025-08-09  0:35 ` [PATCH v2 11/12] drm/msm/dp: drop the entire HPD state machine Jessica Zhang
2025-08-09  7:26   ` Dmitry Baryshkov
2025-08-09  0:35 ` [PATCH v2 12/12] drm/msm/dp: Add sink_count and link_ready to debug logs Jessica Zhang

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=20250808-hpd-refactor-v2-0-7f4e1e741aa3@oss.qualcomm.com \
    --to=jessica.zhang@oss.qualcomm.com \
    --cc=abhinav.kumar@linux.dev \
    --cc=airlied@gmail.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=freedreno@lists.freedesktop.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lumag@kernel.org \
    --cc=marijn.suijten@somainline.org \
    --cc=quic_abhinavk@quicinc.com \
    --cc=quic_khsieh@quicinc.com \
    --cc=quic_yongmou@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®