1
0
Fork 0
alistair23-linux/drivers/gpu/drm/i915/display
Ville Syrjälä 485f682be9 Revert "drm/i915: Fix DP-MST crtc_mask"
This reverts commit 4eaceea3a0.

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 <jadahl@gmail.com>
Cc: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
Cc: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111507
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190903154018.26357-1-ville.syrjala@linux.intel.com
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
(cherry picked from commit e838bfa8e1)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2019-10-03 12:23:07 -07:00
..
Makefile drm/i915: use upstream version of header tests 2019-07-30 12:11:57 +03:00
dvo_ch7xxx.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
dvo_ch7017.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
dvo_ivch.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
dvo_ns2501.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
dvo_sil164.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
dvo_tfp410.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
icl_dsi.c drm/i915: Wrappers for display register waits 2019-08-16 22:19:05 +01:00
intel_acpi.c
intel_acpi.h
intel_atomic.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_atomic.h
intel_atomic_plane.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_atomic_plane.h drm/i915: Pass intel state to plane functions as well 2019-07-01 10:32:45 +02:00
intel_audio.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_audio.h
intel_bios.c drm/i915/gen11: Allow usage of all GPIO pins 2019-08-19 07:51:12 -07:00
intel_bios.h drm/i915: Propagate "_remove" function name suffix down 2019-07-12 13:05:08 +01:00
intel_bw.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_bw.h drm/i915/bw: make intel_atomic_get_bw_state() static 2019-08-07 12:01:46 +03:00
intel_cdclk.c drm/i915: Wrappers for display register waits 2019-08-16 22:19:05 +01:00
intel_cdclk.h
intel_color.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_color.h
intel_combo_phy.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_combo_phy.h drm/i915/gen11: Convert combo PHY logic to use new 'enum phy' namespace 2019-07-10 18:22:34 -07:00
intel_connector.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_connector.h
intel_crt.c drm/i915: Wrappers for display register waits 2019-08-16 22:19:05 +01:00
intel_crt.h
intel_ddi.c Merge drm/drm-next into drm-intel-next-queued 2019-08-22 00:10:36 -07:00
intel_ddi.h
intel_display.c drm/i915/dp: Fix dsc bpp calculations, v5. 2019-10-02 22:20:22 -07:00
intel_display.h drm/i915/dp: Fix dsc bpp calculations, v5. 2019-10-02 22:20:22 -07:00
intel_display_power.c drm/i915/tgl: Move transcoders to pipes' powerwells 2019-08-20 12:49:17 -07:00
intel_display_power.h drm/i915: Move i915_power_well_id out of i915_reg.h 2019-08-16 21:52:47 +01:00
intel_display_types.h drm/i915: Fix HW readout for crtc_clock in HDMI mode 2019-08-20 15:48:34 +03:00
intel_dp.c drm/i915/dp: Fix dsc bpp calculations, v5. 2019-10-02 22:20:22 -07:00
intel_dp.h drm/i915/dp: Fix dsc bpp calculations, v5. 2019-10-02 22:20:22 -07:00
intel_dp_aux_backlight.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_dp_aux_backlight.h
intel_dp_link_training.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_dp_link_training.h
intel_dp_mst.c Revert "drm/i915: Fix DP-MST crtc_mask" 2019-10-03 12:23:07 -07:00
intel_dp_mst.h drm/i915/mst: un-inline intel_dp_mst_encoder_active_links() 2019-08-07 12:01:51 +03:00
intel_dpio_phy.c drm/i915: Wrappers for display register waits 2019-08-16 22:19:05 +01:00
intel_dpio_phy.h
intel_dpll_mgr.c drm/i915: Wrappers for display register waits 2019-08-16 22:19:05 +01:00
intel_dpll_mgr.h drm/i915/tgl: Add new pll ids 2019-07-11 16:31:12 -07:00
intel_dsi.c
intel_dsi.h drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_dsi_dcs_backlight.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_dsi_dcs_backlight.h
intel_dsi_vbt.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_dvo.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_dvo.h
intel_dvo_dev.h
intel_fbc.c drm/i915: Wrappers for display register waits 2019-08-16 22:19:05 +01:00
intel_fbc.h
intel_fbdev.c drm/i915: Extract intel_frontbuffer active tracking 2019-08-16 09:51:11 +01:00
intel_fbdev.h
intel_fifo_underrun.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_fifo_underrun.h
intel_frontbuffer.c drm/i915: Extract intel_frontbuffer active tracking 2019-08-16 09:51:11 +01:00
intel_frontbuffer.h drm/i915: Extract intel_frontbuffer active tracking 2019-08-16 09:51:11 +01:00
intel_gmbus.c drm/i915/gen11: Allow usage of all GPIO pins 2019-08-19 07:51:12 -07:00
intel_gmbus.h drm/i915: Move gmbus definitions out of i915_reg.h 2019-08-16 21:52:49 +01:00
intel_hdcp.c Merge drm/drm-next into drm-intel-next-queued 2019-08-22 00:10:36 -07:00
intel_hdcp.h drm/i915: Attach content type property 2019-08-06 13:15:41 +05:30
intel_hdmi.c drm/i915/hdmi: make hdcp2_msg_data const 2019-08-21 13:12:02 +03:00
intel_hdmi.h
intel_hotplug.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_hotplug.h drm/i915: Add support for retrying hotplug 2019-07-15 12:13:34 -07:00
intel_lpe_audio.c
intel_lpe_audio.h
intel_lspcon.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_lspcon.h
intel_lvds.c drm/i915: Wrappers for display register waits 2019-08-16 22:19:05 +01:00
intel_lvds.h
intel_opregion.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_opregion.h
intel_overlay.c drm/i915: Replace i915_vma_put_fence() 2019-08-22 08:53:42 +01:00
intel_overlay.h
intel_panel.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_panel.h
intel_pipe_crc.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_pipe_crc.h
intel_psr.c drm/i915: Wrappers for display register waits 2019-08-16 22:19:05 +01:00
intel_psr.h
intel_quirks.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_quirks.h
intel_sdvo.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_sdvo.h
intel_sdvo_regs.h
intel_sprite.c drm/i915: Fix g4x sprite scaling stride check with GTT remapping 2019-10-02 22:20:33 -07:00
intel_sprite.h drm/i915/sprite: un-inline icl_is_hdr_plane() 2019-08-07 12:01:35 +03:00
intel_tc.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_tc.h drm/i915/tc: un-inline intel_tc_port_ref_held() 2019-08-07 12:02:02 +03:00
intel_tv.c drm/i915: rename intel_drv.h to display/intel_display_types.h 2019-08-07 12:43:50 +03:00
intel_tv.h
intel_vbt_defs.h drm/i915/gen11: Allow usage of all GPIO pins 2019-08-19 07:51:12 -07:00
intel_vdsc.c drm main pull for 5.4-rc1 2019-09-19 16:24:24 -07:00
intel_vdsc.h
vlv_dsi.c drm/i915: Wrappers for display register waits 2019-08-16 22:19:05 +01:00
vlv_dsi_pll.c drm/i915: Wrappers for display register waits 2019-08-16 22:19:05 +01:00