summaryrefslogtreecommitdiffstats
path: root/include/drm
diff options
context:
space:
mode:
authorMikita Lipski <mikita.lipski@amd.com>2019-11-16 19:32:15 +0100
committerAlex Deucher <alexander.deucher@amd.com>2020-01-10 00:07:48 +0100
commit8ec046716ca8ee79a9d2699f78511c08753c2e56 (patch)
tree1dee73d20b2ba10cc241e524ba1a95c38ab88b6f /include/drm
parentdrm/amd/display: Recalculate VCPI slots for new DSC connectors (diff)
downloadlinux-8ec046716ca8ee79a9d2699f78511c08753c2e56.tar.xz
linux-8ec046716ca8ee79a9d2699f78511c08753c2e56.zip
drm/dp_mst: Add helper to trigger modeset on affected DSC MST CRTCs
[why] Whenever a connector on an MST network is changed or undergoes a modeset, the DSC configs for each stream on that topology will be recalculated. This can change their required bandwidth, requiring a full reprogramming, as though a modeset was performed, even if that stream did not change timing. [how] Adding helper to trigger modesets on MST DSC connectors by setting mode_changed flag on CRTCs in the same topology as affected connector v2: use drm_dp_mst_dsc_aux_for_port function to verify if the port is DSC capable v3: - added _must_check attribute - removed topology manager check - fix typos and indentations Reviewed-by: Lyude Paul <lyude@redhat.com> Signed-off-by: Mikita Lipski <mikita.lipski@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'include/drm')
-rw-r--r--include/drm/drm_dp_mst_helper.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/drm/drm_dp_mst_helper.h b/include/drm/drm_dp_mst_helper.h
index d940f45c7637..e5503771232f 100644
--- a/include/drm/drm_dp_mst_helper.h
+++ b/include/drm/drm_dp_mst_helper.h
@@ -788,6 +788,9 @@ int drm_dp_mst_atomic_enable_dsc(struct drm_atomic_state *state,
int pbn, int pbn_div,
bool enable);
int __must_check
+drm_dp_mst_add_affected_dsc_crtcs(struct drm_atomic_state *state,
+ struct drm_dp_mst_topology_mgr *mgr);
+int __must_check
drm_dp_atomic_release_vcpi_slots(struct drm_atomic_state *state,
struct drm_dp_mst_topology_mgr *mgr,
struct drm_dp_mst_port *port);