linux/drivers/gpu/drm/i915/display
Jason A. Donenfeld c7b28f52f4 drm/i915/display: Re-add check for low voltage sku for max dp source rate
This reverts commit 73867c8709 ("drm/i915/display: Remove check for
low voltage sku for max dp source rate"), which, on an i7-11850H iGPU
with a Thinkpad X1 Extreme Gen 4, attached to a LG LP160UQ1-SPB1
embedded panel, causes wild flickering glitching technicolor
pyrotechnics on resumption from suspend. The display shows strobing
colors in an utter disaster explosion of pantone, as though bombs were
dropped on the leprechauns at the base of the rainbow.

Rebooting the machine fixes the issue, presumably because the display is
initialized by firmware rather than by i915. Otherwise, the GPU appears
to work fine.

Bisection traced it back to this commit, which makes sense given the
issues.

Note: This re-opens, and puts back to the drawing board,
https://gitlab.freedesktop.org/drm/intel/-/issues/5272 which was fixed
by the regressing commit.

Fixes: 73867c8709 ("drm/i915/display: Remove check for low voltage sku for max dp source rate")
Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/6205
Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Cc: Imre Deak <imre.deak@intel.com>
Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Uma Shankar <uma.shankar@intel.com>
Cc: Animesh Manna <animesh.manna@intel.com>
Cc: Jani Saarinen <jani.saarinen@intel.com>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220613102241.9236-1-Jason@zx2c4.com
(cherry picked from commit d592983508)
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
2022-06-20 19:39:00 +03:00
..
dvo_ch7xxx.c
dvo_ch7017.c
dvo_ivch.c
dvo_ns2501.c
dvo_sil164.c
dvo_tfp410.c
g4x_dp.c drm/i915: Sanitize the port -> DDI/AUX power domain mapping for each platform 2022-04-20 20:42:12 +03:00
g4x_dp.h drm/i915: Give g4x_{dp,hdmi}.c g4x_ namespace 2021-03-19 18:31:49 +02:00
g4x_hdmi.c drm/i915: Sanitize the port -> DDI/AUX power domain mapping for each platform 2022-04-20 20:42:12 +03:00
g4x_hdmi.h drm/i915: Only include i915_reg.h from .c files 2022-02-02 07:59:54 -08:00
hsw_ips.c drm/i915: Extract hsw_ips_get_config() 2022-02-09 21:51:56 +02:00
hsw_ips.h drm/i915: Extract hsw_ips_get_config() 2022-02-09 21:51:56 +02:00
i9xx_plane.c drm/i915: Remove remaining locks from i9xx plane udpates 2022-04-13 17:18:30 +03:00
i9xx_plane.h drm/i915: migrate i9xx plane get config 2021-02-08 12:09:28 +02:00
icl_dsi_regs.h drm/i915/reg: split out icl_dsi_regs.h 2022-02-21 12:06:15 +02:00
icl_dsi.c Merge tag 'drm-intel-next-2022-05-06' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2022-05-11 11:00:15 +10:00
icl_dsi.h drm/i915/dsi: split out icl_dsi.h 2021-11-23 13:11:42 +02:00
intel_acpi.c drm/i915: Free the returned object of acpi_evaluate_dsm() 2021-10-13 13:41:16 +03:00
intel_acpi.h drm/i915: Associate ACPI connector nodes with connector entries (v2) 2021-09-09 12:59:07 +02:00
intel_atomic_plane.c Merge drm/drm-next into drm-misc-next 2022-04-18 20:46:55 +01:00
intel_atomic_plane.h drm/i915: Split plane data_rate into data_rate+data_rate_y 2022-03-21 17:46:38 +02:00
intel_atomic.c drm/i915: Fix the async flip wm0/ddb optimization 2022-03-08 08:35:11 +02:00
intel_atomic.h drm/i915: Clean up the bigjoiner state copy logic 2022-02-11 22:42:23 +02:00
intel_audio.c drm/i915/audio: fix audio code enable/disable pipe logging 2022-05-19 12:50:25 +03:00
intel_audio.h drm/i915/audio: rename intel_init_audio_hooks to intel_audio_hooks_init 2021-11-05 13:05:14 +02:00
intel_backlight.c drm/i915: Use str_enabled_disabled() 2022-03-02 08:48:20 -08:00
intel_backlight.h drm/i915/backlight: mass rename functions to have intel_backlight_ prefix 2021-08-26 10:40:41 +03:00
intel_bios.c Merge tag 'drm-intel-next-2022-05-06' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2022-05-11 11:00:15 +10:00
intel_bios.h drm/i915/bios: add intel_bios_encoder_data to encoder, use for iboost 2021-03-18 14:44:16 +02:00
intel_bw.c drm/i915: Handle the DG2 max bw properly 2022-03-31 14:35:37 +03:00
intel_bw.h drm/i915: Add "maximum pipe read bandwidth" checks 2022-03-21 18:00:15 +02:00
intel_cdclk.c drm/i915: Fix DBUF bandwidth vs. cdclk handling 2022-03-21 17:56:41 +02:00
intel_cdclk.h drm/i915: Fix DBUF bandwidth vs. cdclk handling 2022-03-21 17:56:41 +02:00
intel_color.c drm/i915: Split pipe+output CSC programming to noarm+arm pair 2022-03-29 16:35:33 +03:00
intel_color.h drm/i915: Split color_commit() into noarm+arm pair 2022-03-29 16:35:33 +03:00
intel_combo_phy_regs.h drm/i915: Move combo PHY registers to their own header 2022-01-11 14:03:25 -08:00
intel_combo_phy.c drm/i915/intel_combo_phy: Print I/O voltage info 2022-03-28 13:40:52 +03:00
intel_combo_phy.h
intel_connector.c drm/i915: Pass intel_connector to intel_panel_{init,fini}() 2022-03-29 16:35:33 +03:00
intel_connector.h
intel_crt.c drm/i915/display: remove intel_wait_for_vblank() 2021-12-02 13:45:29 +02:00
intel_crt.h drm/i915: Only include i915_reg.h from .c files 2022-02-02 07:59:54 -08:00
intel_crtc.c drm/i915/display: Fix warnings about PSR lock not held 2022-04-08 10:20:31 -07:00
intel_crtc.h drm/i915: s/intel_get_first_crtc/intel_first_crtc/ 2021-12-09 16:18:30 +02:00
intel_cursor.c drm/i915: Make the PIPESRC rect relative to the entire bigjoiner area 2022-03-10 11:05:24 +02:00
intel_cursor.h
intel_ddi_buf_trans.c drm/i915: warn about missing ->get_buf_trans initialization 2022-05-04 21:39:27 +03:00
intel_ddi_buf_trans.h drm/i915: Shrink {icl_mg,tgl_dkl}_phy_ddi_buf_trans 2021-10-14 18:45:59 +03:00
intel_ddi.c Merge tag 'drm-intel-next-2022-05-06' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2022-05-11 11:00:15 +10:00
intel_ddi.h drm/i915: Only include i915_reg.h from .c files 2022-02-02 07:59:54 -08:00
intel_de.h drm/i915: Only include i915_reg.h from .c files 2022-02-02 07:59:54 -08:00
intel_display_debugfs.c drm/i915/dmc: move dmc debugfs to intel_dmc.c 2022-03-30 13:00:27 +03:00
intel_display_debugfs.h drm/i915/debugfs: pass intel_connector to intel_connector_debugfs_add() 2021-10-01 13:45:37 +03:00
intel_display_power_map.c drm/i915: move tons of power well initializers to rodata 2022-05-02 11:37:10 +03:00
intel_display_power_map.h drm/i915: Move the power domain->well mappings to intel_display_power_map.c 2022-04-20 20:41:57 +03:00
intel_display_power_well.c drm/i915: Fixup merge of the power well refactor patchset 2022-04-20 21:11:41 +03:00
intel_display_power_well.h drm/i915: Simplify power well definitions by adding power well instances 2022-04-20 20:42:12 +03:00
intel_display_power.c drm/i915: Fix 'mixing different enum types' warnings in intel_display_power.c 2022-05-19 12:10:51 +03:00
intel_display_power.h drm/i915: Remove the XELPD specific AUX and DDI power domains 2022-04-20 20:42:13 +03:00
intel_display_trace.c drm/i915/trace: split out display trace to a separate file 2021-12-09 11:21:46 +02:00
intel_display_trace.h drm/i915: Use str_on_off() 2022-03-02 08:48:23 -08:00
intel_display_types.h drm/display: Move DSC header and helpers into display-helper module 2022-04-25 11:19:36 +02:00
intel_display.c Merge tag 'drm-intel-next-2022-05-06' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2022-05-11 11:00:15 +10:00
intel_display.h drm/i915: Sanitize the port -> DDI/AUX power domain mapping for each platform 2022-04-20 20:42:12 +03:00
intel_dmc_regs.h drm for 5.19-rc1 2022-05-25 16:18:27 -07:00
intel_dmc.c drm for 5.19-rc1 2022-05-25 16:18:27 -07:00
intel_dmc.h drm/i915/dmc: hide DMC version macros 2022-04-01 10:06:27 +03:00
intel_dp_aux_backlight.c drm/i915: Check EDID for HDR static metadata when choosing blc 2022-04-25 07:05:08 +03:00
intel_dp_aux_backlight.h
intel_dp_aux.c drm/i915/dp: make intel_dp_pack_aux() static again 2022-01-13 15:20:48 +02:00
intel_dp_aux.h drm/i915/dp: make intel_dp_pack_aux() static again 2022-01-13 15:20:48 +02:00
intel_dp_hdcp.c drm/display: Move HDCP helpers into display-helper module 2022-04-25 11:19:36 +02:00
intel_dp_hdcp.h drm/i915/hdcp: add intel_dp_hdcp.h and rename init accordingly 2021-04-28 11:07:01 +03:00
intel_dp_link_training.c drm/i915/dp: Add workaround for spurious AUX timeouts/hotplugs on LTTPR links 2022-04-27 09:52:40 +03:00
intel_dp_link_training.h drm: Rename dp/ to display/ 2022-04-25 11:17:45 +02:00
intel_dp_mst.c drm/i915/audio: move has_audio checks to within codec enable/disable 2022-03-30 18:23:39 +03:00
intel_dp_mst.h drm/i915/mst: abstract intel_dp_mst_source_support() 2021-10-08 13:14:25 +03:00
intel_dp.c drm/i915/display: Re-add check for low voltage sku for max dp source rate 2022-06-20 19:39:00 +03:00
intel_dp.h drm/i915: Only include i915_reg.h from .c files 2022-02-02 07:59:54 -08:00
intel_dpio_phy.c drm/i915: Move per-platform power well hooks to intel_display_power_well.c 2022-04-20 20:41:39 +03:00
intel_dpio_phy.h drm/i915: De-wrapper bxt_ddi_phy_set_signal_levels() 2021-10-04 12:43:01 +03:00
intel_dpll_mgr.c drm/i915: Implement w/a 22010492432 for adl-s 2022-06-20 13:07:44 +03:00
intel_dpll_mgr.h drm/i915: Pass dev_priv to intel_shared_dpll_init() 2022-04-25 21:04:02 +03:00
intel_dpll.c drm/i915: Add crtc .crtc_get_shared_dpll() 2022-04-25 21:15:12 +03:00
intel_dpll.h drm/i915: Add crtc .crtc_get_shared_dpll() 2022-04-25 21:15:12 +03:00
intel_dpt.c Merge drm/drm-next into drm-intel-gt-next 2022-04-21 13:48:26 -04:00
intel_dpt.h drm/i915: Restore memory mapping for DPT FBs across system suspend/resume 2021-11-03 11:07:24 +02:00
intel_drrs.c drm/i915: Move intel_drrs_compute_config() into intel_dp.c 2022-03-31 14:28:20 +03:00
intel_drrs.h drm/i915: Move intel_drrs_compute_config() into intel_dp.c 2022-03-31 14:28:20 +03:00
intel_dsb.c drm/i915/dsb: modified to drm_info in dsb_prepare() 2022-04-05 17:13:07 +05:30
intel_dsb.h drm/i915: Only include i915_reg.h from .c files 2022-02-02 07:59:54 -08:00
intel_dsi_dcs_backlight.c drm/i915/dsi: transmit brightness command in HS state 2021-11-11 11:51:58 +02:00
intel_dsi_dcs_backlight.h
intel_dsi_vbt.c drm/i915/dsi: fix VBT send packet port selection for ICL+ 2022-05-23 12:08:58 +03:00
intel_dsi_vbt.h drm/i915/dsi: split out intel_dsi_vbt.h 2021-11-23 13:11:13 +02:00
intel_dsi.c drm/i915: Introduce intel_panel_get_modes() 2022-03-15 00:14:17 +02:00
intel_dsi.h drm/i915/dsi: disassociate VBT video transfer mode from register values 2022-02-21 12:06:06 +02:00
intel_dvo_dev.h drm/i915: Only include i915_reg.h from .c files 2022-02-02 07:59:54 -08:00
intel_dvo.c drm/i915: Put fixed modes directly onto the panel's fixed_modes list 2022-03-31 14:28:13 +03:00
intel_dvo.h
intel_fb_pin.c drm/i915: Rename INTEL_REGION_LMEM with INTEL_REGION_LMEM_0 2022-03-21 08:37:33 +00:00
intel_fb_pin.h drm/i915/display: move pin/unpin fb/plane code to a new file. 2021-10-12 12:58:40 +03:00
intel_fb.c Merge drm/drm-next into drm-intel-gt-next 2022-04-21 13:48:26 -04:00
intel_fb.h drm/i915/dg2: Tile 4 plane format support 2022-02-24 17:34:48 +02:00
intel_fbc.c Linux 5.18-rc5 2022-05-03 16:08:48 +10:00
intel_fbc.h drm/i915/fbc: Introduce intel_fbc_sanitize() 2022-04-13 17:19:38 +03:00
intel_fbdev.c drm/i915/fbdev: fixup setting screen_size 2022-03-07 09:23:18 +00:00
intel_fbdev.h drm/i915/fbdev: add intel_fbdev_framebuffer() helper 2022-02-17 10:01:21 +02:00
intel_fdi.c drm/i915: Use str_on_off() 2022-03-02 08:48:23 -08:00
intel_fdi.h drm/i915: Move intel_ddi_fdi_post_disable() to fdi code 2021-10-19 09:40:13 +03:00
intel_fifo_underrun.c drm/i915/trace: split out display trace to a separate file 2021-12-09 11:21:46 +02:00
intel_fifo_underrun.h
intel_frontbuffer.c drm/i915/trace: split out display trace to a separate file 2021-12-09 11:21:46 +02:00
intel_frontbuffer.h drm/i915/fb: reduce include dependencies 2021-12-13 12:04:59 +02:00
intel_global_state.c
intel_global_state.h
intel_gmbus.c drm/display: Move HDCP helpers into display-helper module 2022-04-25 11:19:36 +02:00
intel_gmbus.h drm/i915: Remove unused intel_gmbus_set_speed() function 2021-12-16 16:17:01 +01:00
intel_hdcp.c drm/display: Move HDCP helpers into display-helper module 2022-04-25 11:19:36 +02:00
intel_hdcp.h
intel_hdmi.c drm/display: Move SCDC helpers into display-helper library 2022-04-25 11:19:37 +02:00
intel_hdmi.h drm/i915/dp: Reuse intel_hdmi_tmds_clock() 2022-02-11 22:36:00 +02:00
intel_hotplug.c drm/i915/hpd: hide struct intel_hotplug_funcs 2022-02-09 13:39:35 +02:00
intel_hotplug.h
intel_lpe_audio.c drm/i915/audio: name the audio sub-struct in drm_i915_private 2021-11-05 13:04:48 +02:00
intel_lpe_audio.h
intel_lspcon.c drm/display: Move HDMI helpers into display-helper module 2022-04-25 11:19:36 +02:00
intel_lspcon.h
intel_lvds.c drm/i915: Allow static DRRS on LVDS 2022-03-31 14:28:22 +03:00
intel_lvds.h drm/i915: Only include i915_reg.h from .c files 2022-02-02 07:59:54 -08:00
intel_opregion.c drm/i915/opregion: check port number bounds for SWSCI display power state 2022-02-14 09:52:56 +00:00
intel_opregion.h drm/i915/opregion: add support for mailbox #5 EDID 2021-12-31 12:13:54 +02:00
intel_overlay.c drm/i915: Make the PIPESRC rect relative to the entire bigjoiner area 2022-03-10 11:05:24 +02:00
intel_overlay.h
intel_panel.c drm/i915: Respect VBT seamless DRRS min refresh rate 2022-05-05 18:27:53 +03:00
intel_panel.h drm/i915: Combine the EDID fixed_mode+downclock_mode lookup into one 2022-03-31 14:28:16 +03:00
intel_pch_display.c drm/i915: Relocate a few more pch transcoder bits 2022-03-04 18:24:19 +02:00
intel_pch_display.h drm/i915: Relocate a few more pch transcoder bits 2022-03-04 18:24:19 +02:00
intel_pch_refclk.c drm/i915: Move PCH refclock stuff into its own file 2021-10-19 09:36:22 +03:00
intel_pch_refclk.h drm/i915: Move PCH refclock stuff into its own file 2021-10-19 09:36:22 +03:00
intel_pipe_crc.c drm/i915: Don't include intel_de.h from intel_display_types.h 2021-05-05 21:04:42 +03:00
intel_pipe_crc.h
intel_plane_initial.c Merge drm/drm-next into drm-intel-gt-next 2022-04-21 13:48:26 -04:00
intel_plane_initial.h drm/i915/display: refactor initial plane config to a separate file 2021-10-12 12:58:33 +03:00
intel_pps.c drm/i915: Move per-platform power well hooks to intel_display_power_well.c 2022-04-20 20:41:39 +03:00
intel_pps.h drm/i915/display: Fix HPD short pulse handling for eDP 2022-03-16 08:17:36 +02:00
intel_psr.c Linux 5.18-rc5 2022-05-03 16:08:48 +10:00
intel_psr.h drm/i915/display/psr: Lock and unlock PSR around pipe updates 2022-04-06 08:42:58 -07:00
intel_qp_tables.c drm/display: Move DSC header and helpers into display-helper module 2022-04-25 11:19:36 +02:00
intel_qp_tables.h drm/i915/xelpd: Add rc_qp_table for rcparams calculation 2021-05-19 23:59:12 -07:00
intel_quirks.c drm/i915/display: stop including i915_drv.h from intel_display_types.h 2021-12-03 11:46:33 +02:00
intel_quirks.h
intel_sdvo_regs.h
intel_sdvo.c drm/display: Move HDMI helpers into display-helper module 2022-04-25 11:19:36 +02:00
intel_sdvo.h drm/i915: Only include i915_reg.h from .c files 2022-02-02 07:59:54 -08:00
intel_snps_phy_regs.h drm/i915: Move SNPS PHY registers to their own header 2022-01-11 14:03:25 -08:00
intel_snps_phy.c drm/i915/dg2: Skip output init on PHY calibration failure 2022-02-24 17:16:51 -08:00
intel_snps_phy.h drm/i915: Nuke useless .set_signal_levels() wrappers 2021-10-04 12:42:55 +03:00
intel_sprite.c drm/i915: Use str_yes_no() 2022-03-02 08:48:13 -08:00
intel_sprite.h drm/i915: Move function prototypes to the correct header 2021-10-21 22:22:58 +03:00
intel_tc_phy_regs.h drm/i915: Drop unused _PORT3 and _PORT4 TC phy register offsets 2022-01-11 14:03:26 -08:00
intel_tc.c drm/i915: Sanitize the port -> DDI/AUX power domain mapping for each platform 2022-04-20 20:42:12 +03:00
intel_tc.h drm/i915/tc: Fix TypeC PHY connect/disconnect logic on ADL-P 2021-09-29 23:58:04 +03:00
intel_tv.c drm/i915: Use DRM_MODE_FMT+DRM_MODE_ARG() 2022-03-29 16:35:33 +03:00
intel_tv.h
intel_vbt_defs.h drm/i915/bios: Document the mess around the LFP data tables 2022-05-05 18:25:42 +03:00
intel_vdsc.c drm/display: Move DSC header and helpers into display-helper module 2022-04-25 11:19:36 +02:00
intel_vdsc.h drm/i915: Change bigjoiner state tracking to use the pipe bitmask 2022-02-15 14:41:05 +02:00
intel_vga.c drm/i915/vga: switch to use VGA definitions from video/vga.h 2022-02-02 17:14:40 +02:00
intel_vga.h
intel_vrr.c drm/i915: Move framestart_delay to crtc_state 2022-03-04 18:24:18 +02:00
intel_vrr.h drm/i915: Do vblank evasion correctly if vrr push has already been sent 2021-11-18 22:31:15 +02:00
skl_scaler.c drm/i915: Remove locks around skl+ scaler programming 2022-03-29 16:35:33 +03:00
skl_scaler.h drm/i915: refactor skylake scaler code into new file. 2021-02-08 12:12:41 +02:00
skl_universal_plane.c drm/i915/dg2: Add support for DG2 clear color compression 2022-04-12 12:39:46 +03:00
skl_universal_plane.h drm/i915/intel_fb: Pull FB plane functions from skl_universal_plane.c 2021-03-29 22:54:50 +03:00
vlv_dsi_pll_regs.h drm/i915/reg: split out vlv_dsi_regs.h and vlv_dsi_pll_regs.h 2022-02-21 12:06:10 +02:00
vlv_dsi_pll.c drm/i915/dsi: use min_t() to make code cleaner 2022-03-09 10:32:42 +02:00
vlv_dsi_pll.h drm/i915/dsi: split out vlv_dsi_pll.h 2021-11-23 13:11:36 +02:00
vlv_dsi_regs.h drm/i915/reg: split out vlv_dsi_regs.h and vlv_dsi_pll_regs.h 2022-02-21 12:06:10 +02:00
vlv_dsi.c drm/i915: Put fixed modes directly onto the panel's fixed_modes list 2022-03-31 14:28:13 +03:00
vlv_dsi.h drm/i915/dsi: split out vlv_dsi.h 2021-11-23 13:11:39 +02:00