This is a note to let you know that I've just added the patch titled
drm/dp_mst: Add a helper to queue a topology probe to the 6.6-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: drm-dp_mst-add-a-helper-to-queue-a-topology-probe.patch and it can be found in the queue-6.6 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <sta...@vger.kernel.org> know about it. >From dbaeef363ea54f4c18112874b77503c72ba60fec Mon Sep 17 00:00:00 2001 From: Imre Deak <imre.d...@intel.com> Date: Mon, 22 Jul 2024 19:54:51 +0300 Subject: drm/dp_mst: Add a helper to queue a topology probe From: Imre Deak <imre.d...@intel.com> commit dbaeef363ea54f4c18112874b77503c72ba60fec upstream. A follow up i915 patch will need to reprobe the MST topology after the initial probing, add a helper for this. Cc: Lyude Paul <ly...@redhat.com> Cc: dri-devel@lists.freedesktop.org Reviewed-by: Lyude Paul <ly...@redhat.com> Signed-off-by: Imre Deak <imre.d...@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240722165503.2084999-3-imre.d...@intel.com Signed-off-by: Thadeu Lima de Souza Cascardo <casca...@igalia.com> Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org> --- drivers/gpu/drm/display/drm_dp_mst_topology.c | 27 ++++++++++++++++++++++++++ include/drm/display/drm_dp_mst_helper.h | 2 + 2 files changed, 29 insertions(+) --- a/drivers/gpu/drm/display/drm_dp_mst_topology.c +++ b/drivers/gpu/drm/display/drm_dp_mst_topology.c @@ -3686,6 +3686,33 @@ drm_dp_mst_topology_mgr_invalidate_mstb( } /** + * drm_dp_mst_topology_queue_probe - Queue a topology probe + * @mgr: manager to probe + * + * Queue a work to probe the MST topology. Driver's should call this only to + * sync the topology's HW->SW state after the MST link's parameters have + * changed in a way the state could've become out-of-sync. This is the case + * for instance when the link rate between the source and first downstream + * branch device has switched between UHBR and non-UHBR rates. Except of those + * cases - for instance when a sink gets plugged/unplugged to a port - the SW + * state will get updated automatically via MST UP message notifications. + */ +void drm_dp_mst_topology_queue_probe(struct drm_dp_mst_topology_mgr *mgr) +{ + mutex_lock(&mgr->lock); + + if (drm_WARN_ON(mgr->dev, !mgr->mst_state || !mgr->mst_primary)) + goto out_unlock; + + drm_dp_mst_topology_mgr_invalidate_mstb(mgr->mst_primary); + drm_dp_mst_queue_probe_work(mgr); + +out_unlock: + mutex_unlock(&mgr->lock); +} +EXPORT_SYMBOL(drm_dp_mst_topology_queue_probe); + +/** * drm_dp_mst_topology_mgr_suspend() - suspend the MST manager * @mgr: manager to suspend * --- a/include/drm/display/drm_dp_mst_helper.h +++ b/include/drm/display/drm_dp_mst_helper.h @@ -859,6 +859,8 @@ int drm_dp_check_act_status(struct drm_d void drm_dp_mst_dump_topology(struct seq_file *m, struct drm_dp_mst_topology_mgr *mgr); +void drm_dp_mst_topology_queue_probe(struct drm_dp_mst_topology_mgr *mgr); + void drm_dp_mst_topology_mgr_suspend(struct drm_dp_mst_topology_mgr *mgr); int __must_check drm_dp_mst_topology_mgr_resume(struct drm_dp_mst_topology_mgr *mgr, Patches currently in stable-queue which might be from imre.d...@intel.com are queue-6.6/drm-dp_mst-factor-out-function-to-queue-a-topology-probe-work.patch queue-6.6/drm-dp_mst-add-a-helper-to-queue-a-topology-probe.patch