linux-stable/drivers/gpu/drm/i915/display
Gwan-gyeong Mun 789c4aea3f drm/i915: Split a setting of MSA to MST and SST
The setting of MSA is done by the DDI .pre_enable() hook. And when we are
using MST, the MSA is only set to first mst stream by calling of
DDI .pre_eanble() hook. It raies issues to non-first mst streams.
Wrong MSA or missed MSA packets might show scrambled screen or wrong
screen.

This splits a setting of MSA to MST and SST cases. And In the MST case it
will call a setting of MSA after an allocating of Virtual Channel from
MST encoder pre_enable callback.

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=112212
Fixes: 0c06fa1560 ("drm/i915/dp: Add support of BT.2020 Colorimetry to DP MSA")
Fixes: d4a415dcda ("drm/i915: Fix MST oops due to MSA changes")
Signed-off-by: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191106212636.502471-1-gwan-gyeong.mun@intel.com
Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
[vsyrjala: nuke spurious newline]
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
(cherry picked from commit bd8c9cca88)
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191113125241.20547-1-ville.syrjala@linux.intel.com
2019-11-13 15:00:10 +02: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: Simplify pipe_mask setup even further 2019-10-31 16:08:11 +02:00
intel_acpi.c
intel_acpi.h
intel_atomic.c drm/i915: Preload LUTs if the hw isn't currently using them 2019-11-11 11:44:43 +02:00
intel_atomic.h drm/i915: Rework global state locking 2019-10-24 21:22:25 +03:00
intel_atomic_plane.c drm/i915: Allow planes to declare their minimum acceptable cdclk 2019-10-24 21:22:25 +03:00
intel_atomic_plane.h drm/i915: Allow planes to declare their minimum acceptable cdclk 2019-10-24 21:22:25 +03:00
intel_audio.c drm/i915: Rework global state locking 2019-10-24 21:22:25 +03:00
intel_audio.h
intel_bios.c drm/i915/tgl: Enable DDI/Port G 2019-10-16 16:53:27 -07:00
intel_bios.h drm: Move port definition back to i915 header 2019-08-30 14:08:26 +05:30
intel_bw.c drm/i915/tgl: Add memory type decoding for bandwidth checking 2019-09-25 15:52:08 -07: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: Allow planes to declare their minimum acceptable cdclk 2019-10-24 21:22:25 +03:00
intel_cdclk.h drm/i915: Extract intel_modeset_calc_cdclk() 2019-09-16 14:51:09 +03:00
intel_color.c drm/i915: Preload LUTs if the hw isn't currently using them 2019-11-11 11:44:43 +02:00
intel_color.h drm/i915/display: Add func to compare hw/sw gamma lut 2019-09-04 11:55:30 +03:00
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/dp: Attach colorspace property 2019-10-15 16:24:59 +03:00
intel_connector.h
intel_crt.c drm/i915: Simplify pipe_mask setup even further 2019-10-31 16:08:11 +02:00
intel_crt.h
intel_ddi.c drm/i915: Split a setting of MSA to MST and SST 2019-11-13 15:00:10 +02:00
intel_ddi.h drm/i915/dp: Add support of BT.2020 Colorimetry to DP MSA 2019-10-15 16:24:59 +03:00
intel_display.c drm/i915: Preload LUTs if the hw isn't currently using them 2019-11-11 11:44:43 +02:00
intel_display.h drm/i915/display: only include intel_dp_link_training.h where needed 2019-11-11 10:29:57 +02:00
intel_display_power.c drm/i915/tgl: Add AUX B & C to DC_OFF_POWER_DOMAINS 2019-10-29 10:50:34 -07:00
intel_display_power.h drm/i915/tgl: Switch between dc3co and dc5 based on display idleness 2019-10-08 11:05:28 +03:00
intel_display_types.h drm/i915: Preload LUTs if the hw isn't currently using them 2019-11-11 11:44:43 +02:00
intel_dp.c Merge tag 'drm-intel-next-2019-11-01-1' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2019-11-04 09:57:28 +10:00
intel_dp.h drm/i915/dp: Program an Infoframe SDP Header and DB for HDR Static Metadata 2019-10-15 16:24:59 +03: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 drm/i915: Split a setting of MSA to MST and SST 2019-11-13 15:00:10 +02: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: Fix PCH reference clock for FDI on HSW/BDW 2019-10-25 20:17:11 +03:00
intel_dpll_mgr.h drm/i915: Describe structure member in documentation 2019-10-25 12:06:26 +01:00
intel_dsb.c drm/i915: Pull i915_vma_pin under the vm->mutex 2019-10-04 15:39:02 +01:00
intel_dsb.h drm/i915/dsb: function to trigger workload execution of DSB. 2019-09-23 10:12:26 +03:00
intel_dsi.c drm/i915: Don't advertise modes that exceed the max plane size 2019-09-19 20:28:57 +03:00
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: Simplify pipe_mask setup even further 2019-10-31 16:08:11 +02:00
intel_dvo.h
intel_dvo_dev.h
intel_fbc.c drm/i915: Disable FBC if BIOS reserved memory (stolen) is unavailable 2019-09-12 11:43:48 +01:00
intel_fbc.h
intel_fbdev.c drm/i915/stolen: make the object creation interface consistent 2019-10-04 19:27:41 +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: Coordinate i915_active with its own mutex 2019-10-04 15:39:12 +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: introduce INTEL_DISPLAY_ENABLED() 2019-09-16 10:20:05 +03: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 drm/i915/display: Handle fused off HDCP 2019-10-29 12:12:45 -07:00
intel_hdcp.h drm/i915/hdcp: update current transcoder into intel_hdcp 2019-08-30 14:08:30 +05:30
intel_hdmi.c drm/i915: Simplify pipe_mask setup even further 2019-10-31 16:08:11 +02:00
intel_hdmi.h drm: Move port definition back to i915 header 2019-08-30 14:08:26 +05:30
intel_hotplug.c drm/i915: Prefer encoder->name over port_name() 2019-09-02 18:43:28 +03:00
intel_hotplug.h drm: Move port definition back to i915 header 2019-08-30 14:08:26 +05:30
intel_lpe_audio.c drm/i915: add INTEL_NUM_PIPES() and use it 2019-09-11 22:33:20 +03:00
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: Simplify pipe_mask setup even further 2019-10-31 16:08:11 +02: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/gt: Split intel_ring_submission 2019-10-24 12:14:21 +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: Use _PICK() for CHICKEN_TRANS() 2019-10-28 12:47:55 +02:00
intel_psr.h drm/i915: Do not unmask PSR interruption in IRQ postinstall 2019-08-22 13:09:24 -07:00
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: Simplify pipe_mask setup even further 2019-10-31 16:08:11 +02:00
intel_sdvo.h drm: Move port definition back to i915 header 2019-08-30 14:08:26 +05:30
intel_sdvo_regs.h
intel_sprite.c drm/i915: Add support for half float framebuffers on snb sprites 2019-10-24 21:22:26 +03:00
intel_sprite.h drm/i915: Allow planes to declare their minimum acceptable cdclk 2019-10-24 21:22:25 +03:00
intel_tc.c drm/i915/tc: Update DP_MODE programming 2019-09-27 10:40:17 -07:00
intel_tc.h drm/i915/tc: Update DP_MODE programming 2019-09-27 10:40:17 -07:00
intel_tv.c drm/i915: Simplify pipe_mask setup even further 2019-10-31 16:08:11 +02:00
intel_tv.h
intel_vbt_defs.h drm/i915/bios: add compression parameter block definition 2019-10-28 13:34:30 +02:00
intel_vdsc.c drm/i915/dsc: move crtc state dp_dsc_cfg member under dsc as config 2019-10-23 16:28:29 +03:00
intel_vdsc.h
intel_vga.c drm/i915/vga: rename intel_vga_msr_write() to intel_vga_reset_io_mem() 2019-10-06 11:24:53 +03:00
intel_vga.h drm/i915/vga: rename intel_vga_msr_write() to intel_vga_reset_io_mem() 2019-10-06 11:24:53 +03:00
Makefile drm/i915: use upstream version of header tests 2019-07-30 12:11:57 +03:00
vlv_dsi.c drm/i915: Simplify pipe_mask setup even further 2019-10-31 16:08:11 +02:00
vlv_dsi_pll.c drm/i915: Wrappers for display register waits 2019-08-16 22:19:05 +01:00