diff options
author | Mikita Lipski <mikita.lipski@amd.com> | 2019-11-16 19:32:15 +0100 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2020-01-10 00:07:48 +0100 |
commit | 8ec046716ca8ee79a9d2699f78511c08753c2e56 (patch) | |
tree | 1dee73d20b2ba10cc241e524ba1a95c38ab88b6f /include/drm | |
parent | drm/amd/display: Recalculate VCPI slots for new DSC connectors (diff) | |
download | linux-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.h | 3 |
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); |