mirror of
https://github.com/torvalds/linux.git
synced 2026-09-28 03:52:02 +02:00
drm/i915/dp_mst: Fix configuring FEC for a disconnected stream
During an atomic commit after all the MST stream CRTC state is computed the driver ensures that the FEC is configured the same way (enabled or disabled) for all the streams on a given MST topology's link. drm_dp_mst_port_downstream_of_parent() used to determine if a stream is downstream of an MST port will return false if the whole topology is disconnected, since in that case it can't verify that the port/ parent_port passed to it is in the given MST topology. This is a problem during the above FEC configuration check, since intel_dp_mst_check_dsc_change()->get_pipes_downstream_of_mst_ports() will not return all the stream CRTCs/pipes for the topology as expected. Since passing parent_port==NULL to get_pipes_downstream_of_mst_port() is meant to return all the streams for the given topology (i.e. mst_mgr) skip checking if an MST port is downstream of a parent port in this case. This fixes a problem where the FEC configuration check explained above failed to ensure that all streams' FEC is configured the same way if the topology was disconnected, leading to a FEC state mismatch error. Cc: stable@vger.kernel.org # v6.10+ Closes: https://gitlab.freedesktop.org/drm/i915/kernel/-/work_items/16073 Closes: https://gitlab.freedesktop.org/drm/i915/kernel/-/work_items/16384 Reviewed-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Imre Deak <imre.deak@intel.com> Link: https://patch.msgid.link/20260907174413.741851-1-imre.deak@intel.com (cherry picked from commit 270681fbffbba2b6ccf5b7e3c34b8b563b36167f) Signed-off-by: Jani Nikula <jani.nikula@intel.com>
This commit is contained in:
parent
5271d81f99
commit
acbe9a3b60
|
|
@ -852,7 +852,8 @@ static u8 get_pipes_downstream_of_mst_port(struct intel_atomic_state *state,
|
|||
if (&connector->mst.dp->mst.mgr != mst_mgr)
|
||||
continue;
|
||||
|
||||
if (connector->mst.port != parent_port &&
|
||||
if (parent_port &&
|
||||
connector->mst.port != parent_port &&
|
||||
!drm_dp_mst_port_downstream_of_parent(mst_mgr,
|
||||
connector->mst.port,
|
||||
parent_port))
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user