This series is the SST-only prerequisite portion of the MSM DP MST work. It refactors the existing DP code paths so that MST can plug in cleanly in a follow-up series, without bundling the cleanup with MST functionality in the same submission.
SST behaviour is preserved end-to-end; no new functionality is added here. The intent is to land these refactors first to keep the follow-up MST series focused, smaller, and easier to review. Patch 01 and patch 02 pick from Dmitry series https://lore.kernel.org/dri-devel/20260722-drm-msm-display-interface-v1-0-368c10fe6...@oss.qualcomm.com/T/#t and no code change, just rebase on top of it. Signed-off-by: Yongxing Mou <[email protected]> --- Changes in v9: - pick patch 01/patch 02 from https://lore.kernel.org/dri-devel/20260722-drm-msm-display-interface-v1-0-368c10fe6...@oss.qualcomm.com/T/#t. - patch 04: clear Clear the stream-specific fields before OR-ing new values. - patch 10: move the panel->hw_revision assignment outside the conditional. - patch 13: also move atomic_pre_enable from dp_drm.c into dp_display.c and leave a thin bridge wrapper, matching the pattern used for the other bridge helpers. - Drop "separate dp_display_prepare() into its own API" due to patch 2 add .atomic_pre_enable() and don't need it anymore. - Link to v8: https://lore.kernel.org/r/[email protected] Changes in v8: - Rebase to next-20260717. - patch 04: also call msm_dp_ctrl_config_ctrl_streams() in link_train(). [sashiko-bot] - patch 07: propagate msm_dp_ctrl_on_pixel_clk() error. [sashiko-bot] - patch 08: return -ENOTCONN on sink_count == 0; return on link-train failure. [sashiko-bot] - patch 10: pass panel to config_ctrl_streams() in link_train(). - patch 15: use passed-in msm_dp_panel in msm_dp_ctrl_off_link(); fix kdoc name. - Link to v7: https://lore.kernel.org/r/[email protected] Changes in v7: - patch 7: Use WARN_ON_ONCE() when pixel clock is already on. [Konrad] - Link to v6: https://lore.kernel.org/r/[email protected] Changes in v6: - patch 4: fixed the RMW comments. [Dmitry] - patch 10: do not rename the existing struct. [Dmitry] - Link to v5: https://lore.kernel.org/r/[email protected] Changes in v5: - Split out from v4: only the SST prerequisite cleanup (patches 1-15) is sent here; the MST implementation will follow on top. - Rebased onto linux-next-20260527; adapted bridge callbacks to the new drm_atomic_commit* API. - patch 3: added Suggested-by: Dmitry Baryshkov. - patch 4: fixed "splite" typo, reworded body, added RMW comment covering both SST and MST paths. [Dmitry] - patch 10: drop cached panel from msm_dp_ctrl_private; pass panel explicitly to all stream-related dp_ctrl APIs. [Dmitry] - patch 13/14: introduce bridge wrappers and atomic_prepare with drm_atomic_commit* from the start to preserve bisectability. - patch 15: fixed pass panel inside the func. [Dmitry] - Link to v4: https://lore.kernel.org/all/[email protected]/ --- Abhinav Kumar (5): drm/msm/dp: break up dp_display_enable into two parts drm/msm/dp: re-arrange dp_display_disable() into functional parts drm/msm/dp: allow dp_ctrl stream APIs to use any panel passed to it drm/msm/dp: split dp_ctrl_off() into stream and link parts drm/msm/dp: make bridge helpers use dp_display to allow re-use Yongxing Mou (9): drm/msm/dp: remove cached drm_edid from panel drm/msm/dp: drop deprecated .mode_set() and use .atomic_pre_enable drm/msm/dp: move mode setup into msm_dp_panel_init_panel_info() drm/msm/dp: split msm_dp_ctrl_config_ctrl() into link parts and stream parts drm/msm/dp: extract MISC1_MISC0 configuration into a separate function drm/msm/dp: split link setup from source params drm/msm/dp: move the pixel clock control to its own API drm/msm/dp: simplify link and clock disable sequence drm/msm/dp: pass panel to display enable/disable helpers drivers/gpu/drm/msm/dp/dp_ctrl.c | 390 ++++++++++++++++++++---------------- drivers/gpu/drm/msm/dp/dp_ctrl.h | 30 ++- drivers/gpu/drm/msm/dp/dp_display.c | 283 +++++++++++++------------- drivers/gpu/drm/msm/dp/dp_display.h | 9 + drivers/gpu/drm/msm/dp/dp_drm.c | 52 ++++- drivers/gpu/drm/msm/dp/dp_drm.h | 12 -- drivers/gpu/drm/msm/dp/dp_panel.c | 77 ++----- drivers/gpu/drm/msm/dp/dp_panel.h | 17 +- drivers/gpu/drm/msm/dp/dp_reg.h | 2 + 9 files changed, 477 insertions(+), 395 deletions(-) --- base-commit: 0718283ab28bc3907e10b61a6b4be6fefa1cbb2f change-id: 20260528-dp_mstclean-f094cea8ca24 Best regards, -- Yongxing Mou <[email protected]>
