Skip to content

Commit 485f682

Browse files
vsyrjalarodrigovivi
authored andcommitted
Revert "drm/i915: Fix DP-MST crtc_mask"
This reverts commit 4eaceea. Several userspace clients (modesetting ddx and mutter+wayland at least) handle encoder.possible_crtcs incorrectly. What they essentially do is the following: possible_crtcs = ~0; for_each_possible_encoder(connector) possible_crtcs &= encoder->possible_crtcs; Ie. they calculate the intersection of the possible_crtcs for the connector when they really should be calculating the union instead. In our case each MST encoder now has just one unique bit set, and so the intersection is always zero. The end result is that MST connectors can't be lit up because no crtc can be found to drive them. I've submitted a fix for the modesetting ddx [1], and complained on #wayland about mutter, so hopefully the situation will improve in the future. In the meantime we have regression, and so must go back to the old way of misconfiguring possible_crtcs in the kernel. [1] https://gitlab.freedesktop.org/xorg/xserver/merge_requests/277 Cc: Jonas Ådahl <[email protected]> Cc: Stanislav Lisovskiy <[email protected]> Cc: Lionel Landwerlin <[email protected]> Cc: Dhinakaran Pandiyan <[email protected]> Cc: Lucas De Marchi <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111507 Signed-off-by: Ville Syrjälä <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] Reviewed-by: José Roberto de Souza <[email protected]> (cherry picked from commit e838bfa) Signed-off-by: Rodrigo Vivi <[email protected]>
1 parent eb0192f commit 485f682

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

drivers/gpu/drm/i915/display/intel_dp_mst.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -615,7 +615,7 @@ intel_dp_create_fake_mst_encoder(struct intel_digital_port *intel_dig_port, enum
615615
intel_encoder->type = INTEL_OUTPUT_DP_MST;
616616
intel_encoder->power_domain = intel_dig_port->base.power_domain;
617617
intel_encoder->port = intel_dig_port->base.port;
618-
intel_encoder->crtc_mask = BIT(pipe);
618+
intel_encoder->crtc_mask = 0x7;
619619
intel_encoder->cloneable = 0;
620620

621621
intel_encoder->compute_config = intel_dp_mst_compute_config;

0 commit comments

Comments
 (0)