OpenCloudOS-Kernel/drivers/gpu/drm/i915/display
Hans de Goede aee6f25e9c drm/i915/display/vlv_dsi: Do not skip panel_pwr_cycle_delay when disabling the panel
After the recently added commit fe0f1e3bfd ("drm/i915: Shut down
displays gracefully on reboot"), the DSI panel on a Cherry Trail based
Predia Basic tablet would no longer properly light up after reboot.

I've managed to reproduce this without rebooting by doing:
chvt 3; echo 1 > /sys/class/graphics/fb0/blank;\
echo 0 > /sys/class/graphics/fb0/blank

Which rapidly turns the panel off and back on again.

The vlv_dsi.c code uses an intel_dsi_msleep() helper for the various delays
used for panel on/off, since starting with MIPI-sequences version >= 3 the
delays are already included inside the MIPI-sequences.

The problems exposed by the "Shut down displays gracefully on reboot"
change, show that using this helper for the panel_pwr_cycle_delay is
not the right thing to do. This has not been noticed until now because
normally the panel never is cycled off and directly on again in quick
succession.

Change the msleep for the panel_pwr_cycle_delay to a normal msleep()
call to avoid the panel staying black after a quick off + on cycle.

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Fixes: fe0f1e3bfd ("drm/i915: Shut down displays gracefully on reboot")
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210325114823.44922-1-hdegoede@redhat.com
(cherry picked from commit 2878b29fc2)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2021-04-12 08:00:33 -04:00
..
dvo_ch7xxx.c
dvo_ch7017.c
dvo_ivch.c
dvo_ns2501.c
dvo_sil164.c
dvo_tfp410.c
i9xx_plane.c drm/i915: Disallow plane x+w>stride on ilk+ with X-tiling 2021-02-17 06:18:15 -05:00
i9xx_plane.h drm/i915: Limit plane stride to below TILEOFF.x limit 2021-01-29 18:51:01 +02:00
icl_dsi.c drm/i915/icl: Fix initing the DSI DSC power refcount during HW readout 2021-01-11 19:16:53 +02:00
intel_acpi.c drm/i915: Fix invalid access to ACPI _DSM objects 2021-04-07 19:07:44 -04:00
intel_acpi.h
intel_atomic.c drm/i915/dp: Add from_crtc_state to copy color blobs 2020-11-15 18:30:05 -08:00
intel_atomic.h drm/i915/dp: Add from_crtc_state to copy color blobs 2020-11-15 18:30:05 -08:00
intel_atomic_plane.c drm/i915: Fix enabled_planes bitmask 2021-03-23 08:27:03 -04:00
intel_atomic_plane.h drm/i915: Add bigjoiner aware plane clipping checks 2020-11-18 11:42:04 -08:00
intel_audio.c drm/i915: Nuke force_min_cdclk_changed 2020-09-17 20:10:21 +03:00
intel_audio.h
intel_bios.c drm/i915/rkl: new rkl ddc map for different PCH 2021-01-05 19:32:34 -05:00
intel_bios.h
intel_bw.c drm/i915/gen11+: Only load DRAM information from pcode 2021-01-29 05:50:49 -08:00
intel_bw.h drm/i915: Fix includes and local vars order 2020-05-22 14:40:35 +01:00
intel_cdclk.c drm/i915: Add intel_atomic_add_affected_planes() 2020-12-04 19:07:24 +02:00
intel_cdclk.h drm/i915: Nuke force_min_cdclk_changed 2020-09-17 20:10:21 +03:00
intel_color.c drm/i915: support two CSC module on gen11 and later 2021-01-18 16:55:28 +02:00
intel_color.h
intel_combo_phy.c drm/i915/display: Suppress "Combo PHY A HW state changed unexpectedly" 2020-11-27 23:32:39 +00:00
intel_combo_phy.h
intel_connector.c drm/i915: Split intel_attach_colorspace_property() into HDMI vs. DP variants 2020-12-02 01:29:31 +05:30
intel_connector.h drm/i915: Split intel_attach_colorspace_property() into HDMI vs. DP variants 2020-12-02 01:29:31 +05:30
intel_crt.c drm/i915: Reduce INTEL_DISPLAY_ENABLED to just treat outputs as disconnected 2020-09-15 15:28:21 +03:00
intel_crt.h
intel_crtc.c drm/i915: Nuke INTEL_OUTPUT_FORMAT_INVALID 2021-02-23 09:38:14 -05:00
intel_crtc.h drm/i915: refactor some crtc code out of intel display. (v2) 2021-01-16 00:08:58 +02:00
intel_csr.c drm/i915/dg1: Load DMC 2020-10-15 14:14:33 -07:00
intel_csr.h
intel_cursor.c drm/i915: Fix checkpatch warns in cursor code 2021-01-11 19:38:25 +02:00
intel_cursor.h drm/i915: refactor cursor code out of i915_display.c 2020-12-22 10:09:05 +02:00
intel_ddi.c drm pull for 5.12-rc1 2021-02-21 14:44:44 -08:00
intel_ddi.h drm/i915/hdcp: HDCP stream encryption support 2021-01-13 08:29:31 +05:30
intel_de.h
intel_display.c drm/i915: Nuke INTEL_OUTPUT_FORMAT_INVALID 2021-02-23 09:38:14 -05:00
intel_display.h drm/i915: Disallow plane x+w>stride on ilk+ with X-tiling 2021-02-17 06:18:15 -05:00
intel_display_debugfs.c drm/i915: Encapsulate dbuf state handling harder 2021-01-26 15:41:49 +02:00
intel_display_debugfs.h drm/i915/display: Record the plane update times for debugging 2020-12-02 22:17:28 +00:00
intel_display_power.c drm/i915/pps: rename intel_power_sequencer_reset to intel_pps_reset_all 2021-01-14 10:24:37 +02:00
intel_display_power.h drm/i915: Make intel_display_power_put_unchecked() an internal-only function 2020-12-03 15:31:55 +02:00
intel_display_types.h drm/i915: Nuke INTEL_OUTPUT_FORMAT_INVALID 2021-02-23 09:38:14 -05:00
intel_dp.c drm/i915: Disable LTTPR support when the DPCD rev < 1.4 2021-03-23 08:26:55 -04:00
intel_dp.h drm/i915/dp: Move intel_dp_set_signal_levels() to intel_dp_link_training.c 2021-02-02 17:31:37 +02:00
intel_dp_aux.c drm/i915/ilk-glk: Fix link training on links with LTTPRs 2021-03-23 08:26:51 -04:00
intel_dp_aux.h drm/i915/dp: split out aux functionality to intel_dp_aux.c 2021-01-21 13:27:42 +02:00
intel_dp_aux_backlight.c drm/i915/dpcd_bl: Don't try vesa interface unless specified by VBT 2021-04-12 08:00:24 -04:00
intel_dp_aux_backlight.h
intel_dp_hdcp.c drm/i915/hdcp: Disable the QSES check for HDCP 1.4 over MST 2021-01-28 12:35:06 +05:30
intel_dp_link_training.c drm/i915: Disable LTTPR support when the LTTPR rev < 1.4 2021-03-23 08:26:59 -04:00
intel_dp_link_training.h drm/i915: Disable LTTPR support when the DPCD rev < 1.4 2021-03-23 08:26:55 -04:00
intel_dp_mst.c drm/i915: Fix the MST PBN divider calculation 2021-02-02 17:31:37 +02:00
intel_dp_mst.h drm/i915/display: prefer dig_port to reference intel_digital_port 2020-07-02 11:26:37 -07:00
intel_dpio_phy.c drm/i915: Plumb crtc_state to link training 2020-10-01 16:45:57 +03:00
intel_dpio_phy.h drm/i915: Plumb crtc_state to link training 2020-10-01 16:45:57 +03:00
intel_dpll.c drm/i915: refactor pll code out into intel_dpll.c 2021-01-16 00:12:47 +02:00
intel_dpll.h drm/i915: refactor pll code out into intel_dpll.c 2021-01-16 00:12:47 +02:00
intel_dpll_mgr.c Merge tag 'drm-intel-next-queued-2020-11-27' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2020-12-03 13:01:44 +10:00
intel_dpll_mgr.h drm/i915: Use actual readout results for .get_freq() 2020-11-16 21:42:55 +02:00
intel_dsb.c drm/i915/display: fix missing null check on allocated dsb object 2020-06-30 14:26:51 +03:00
intel_dsb.h drm/i915/dsb: Pre allocate and late cleanup of cmd buffer 2020-05-23 15:42:28 +05:30
intel_dsi.c drm/i915/dp: Allow big joiner modes in intel_dp_mode_valid(), v3. 2020-11-18 11:41:10 -08:00
intel_dsi.h drm/i915/dsi: Initiate frame request in cmd mode 2020-09-28 20:02:14 +03:00
intel_dsi_dcs_backlight.c drm/i915: Pass port to intel_panel_bl_funcs.get() 2021-01-15 16:19:12 +02:00
intel_dsi_dcs_backlight.h
intel_dsi_vbt.c drm/i915: drop a bunch of superfluous inlines 2020-04-21 09:31:37 +03:00
intel_dvo.c drm/i915: remove last traces of I915_READ(), I915_WRITE() and POSTING_READ() 2020-12-02 17:29:46 +02:00
intel_dvo.h
intel_dvo_dev.h
intel_fbc.c drm/i915/display: fix the uint*_t types that have crept in 2021-01-14 10:11:06 +02:00
intel_fbc.h
intel_fbdev.c drm/i915/gem: Move stolen node into GEM object union 2021-01-20 20:46:36 +00:00
intel_fbdev.h
intel_fdi.c drm/i915: split fdi code out from intel_display.c 2021-01-16 00:18:17 +02:00
intel_fdi.h drm/i915: split fdi code out from intel_display.c 2021-01-16 00:18:17 +02:00
intel_fifo_underrun.c
intel_fifo_underrun.h
intel_frontbuffer.c drm/i915/gem: Protect used framebuffers from casual eviction 2021-01-20 21:05:12 +00:00
intel_frontbuffer.h
intel_global_state.c drm/i915: Fix global state use-after-frees with a refcount 2020-06-02 16:35:24 +03:00
intel_global_state.h drm/i915: Fix global state use-after-frees with a refcount 2020-06-02 16:35:24 +03:00
intel_gmbus.c drm/i915/dg1: gmbus pin mapping 2020-10-07 13:51:21 -07:00
intel_gmbus.h
intel_hdcp.c drm/i915/hdcp: Fix uninitialized symbol 2021-01-22 16:04:25 +05:30
intel_hdcp.h drm/i915/hdcp: Pass dig_port to intel_hdcp_init 2021-01-13 08:29:32 +05:30
intel_hdmi.c drm/i915: Reject 446-480MHz HDMI clock on GLK 2021-02-08 16:57:02 -05:00
intel_hdmi.h drm/i915: Add helper functions for calculating DSC parameters for HDMI2.1 2020-12-22 17:55:53 +02:00
intel_hotplug.c drm/i915: Refactor .hpd_irq_setup() calls a bit 2020-10-20 20:18:53 +03:00
intel_hotplug.h drm/i915: Reorder hpd init vs. display resume 2020-10-20 20:18:32 +03:00
intel_lpe_audio.c drm/i915/lpe_audio: Remove pointless irq_to_desc() usage 2020-12-15 16:19:32 +01:00
intel_lpe_audio.h
intel_lspcon.c drm/i915/display: Implement DRM infoframe read for LSPCON 2020-12-02 01:29:52 +05:30
intel_lspcon.h drm/i915/display: Implement DRM infoframe read for LSPCON 2020-12-02 01:29:52 +05:30
intel_lvds.c drm/i915: Wait for LVDS panel power cycle delay on reboot 2020-10-09 21:12:13 +03:00
intel_lvds.h
intel_opregion.c drm/i915/display: remove debug message from error path 2020-10-28 00:33:46 -07:00
intel_opregion.h
intel_overlay.c drm pull for 5.12-rc1 2021-02-21 14:44:44 -08:00
intel_overlay.h
intel_panel.c drm/i915/dp: Enable Intel's HDR backlight interface (only SDR for now) 2021-01-19 12:35:52 -05:00
intel_panel.h drm/i915/dp: Enable Intel's HDR backlight interface (only SDR for now) 2021-01-19 12:35:52 -05:00
intel_pipe_crc.c
intel_pipe_crc.h
intel_pps.c drm/i915/dp: abstract struct intel_dp pps members to a sub-struct 2021-01-21 13:26:32 +02:00
intel_pps.h drm/i915/pps: move pps code over from intel_display.c and refactor 2021-01-21 13:26:19 +02:00
intel_psr.c drm/i915/display/dp: Do not enable PSR if VRR is enabled 2021-01-25 15:22:59 -08:00
intel_psr.h drm/i915/display: Use initial_fastset_check() to compute and apply the initial PSR state 2020-11-05 05:38:51 -08:00
intel_quirks.c
intel_quirks.h
intel_sdvo.c drm/i915: Reduce INTEL_DISPLAY_ENABLED to just treat outputs as disconnected 2020-09-15 15:28:21 +03:00
intel_sdvo.h
intel_sdvo_regs.h drm/i915/sdvo: Fix SDVO colorimetry bit defines 2020-07-09 16:14:47 +03:00
intel_sprite.c drm/i915/display: Prevent double YUV range correction on HDR planes 2021-02-02 12:40:47 +02:00
intel_sprite.h drm/i915/display: Record the plane update times for debugging 2020-12-02 22:17:28 +00:00
intel_tc.c drm pull for 5.12-rc1 2021-02-21 14:44:44 -08:00
intel_tc.h drm/i915: Turn intel_digital_port_connected() in a vfunc 2020-05-11 16:25:15 +03:00
intel_tv.c drm/i915: Reduce INTEL_DISPLAY_ENABLED to just treat outputs as disconnected 2020-09-15 15:28:21 +03:00
intel_tv.h
intel_vbt_defs.h drm/i915/rkl: new rkl ddc map for different PCH 2021-01-05 19:32:34 -05:00
intel_vdsc.c drm/i915/dsc: fix DSS CTL register usage for ICL DSI transcoders 2021-03-23 08:27:06 -04:00
intel_vdsc.h drm/i915/dp: Modify VDSC helpers to configure DSC for Bigjoiner slave 2020-11-18 11:41:10 -08:00
intel_vga.c
intel_vga.h
intel_vrr.c drm/i915: Fix vblank timestamps with VRR 2021-01-25 15:23:34 -08:00
intel_vrr.h drm/i915/display: Helpers for VRR vblank min and max start 2021-01-25 15:23:18 -08:00
vlv_dsi.c drm/i915/display/vlv_dsi: Do not skip panel_pwr_cycle_delay when disabling the panel 2021-04-12 08:00:33 -04:00
vlv_dsi_pll.c drm/i915/vlv_dsi_pll: fix spelling mistake "Cant" -> "Can't" 2020-08-27 16:28:21 +03:00