linux/drivers/gpu/drm
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
..
amd drm/amdgpu/smu7: fix CAC setting on TOPAZ 2021-04-08 00:36:40 -04:00
arc
arm
armada
aspeed
ast
atmel-hlcdc
bochs
bridge
etnaviv drm/etnaviv: User FOLL_LONGTERM in userptr 2021-03-19 20:15:48 +01:00
exynos drm/exynos/decon5433: Remove the unused include statements 2021-03-29 19:53:23 +09:00
fsl-dcu
gma500
hisilicon
i2c
i810
i915 drm/i915/display/vlv_dsi: Do not skip panel_pwr_cycle_delay when disabling the panel 2021-04-12 08:00:33 -04:00
imx drm/imx: imx-ldb: fix out of bounds array access warning 2021-03-25 07:48:34 +01:00
ingenic
kmb
lib
lima
mcde
mediatek
meson drm: meson_drv add shutdown function 2021-03-11 11:11:33 +01:00
mga
mgag200
msm Merge tag 'drm-msm-fixes-2021-04-02' of https://gitlab.freedesktop.org/drm/msm into drm-fixes 2021-04-09 10:33:38 +10:00
mxsfb
nouveau drm/nouveau/kms/nve4-nv108: Limit cursors to 128x128 2021-03-25 10:00:04 +10:00
omapdrm drm/omap: dsi: fix unsigned expression compared with zero 2021-03-17 13:59:23 +02:00
panel drm/panel: panel-dsi-cm: disable TE for now 2021-04-06 16:51:29 +03:00
panfrost
pl111
qxl qxl: Fix uninitialised struct field head.surface_id 2021-03-11 11:11:33 +01:00
r128
radeon drm/radeon: Fix size overflow 2021-04-08 00:36:40 -04:00
rcar-du drm: rcar-du: Use drmm_encoder_alloc() to manage encoder 2021-03-16 03:12:36 +02:00
rockchip drm/rockchip: Require the YTR modifier for AFBC 2021-02-25 10:18:45 +01:00
savage
scheduler
selftests
shmobile
sis
sti
stm
sun4i
tdfx
tegra drm/tegra: sor: Grab runtime PM reference across reset 2021-03-30 19:51:39 +02:00
tidss
tilcdc
tiny drm: Use USB controller's DMA mask when importing dmabufs 2021-03-11 11:11:33 +01:00
ttm drm/ttm: Fix TTM page pool accounting 2021-03-11 11:11:33 +01:00
tve200
udl drm: Use USB controller's DMA mask when importing dmabufs 2021-03-11 11:11:33 +01:00
v3d
vboxvideo
vc4 drm/vc4: crtc: Reduce PV fifo threshold on hvs4 2021-04-08 14:55:02 +02:00
vgem
via
virtio
vkms
vmwgfx mm: use is_cow_mapping() across tree where proper 2021-03-13 11:27:30 -08:00
xen drivers: gpu: drm: xen_drm_front_drm_info is declared twice 2021-03-26 07:40:10 +02:00
xlnx
zte
Kconfig Merge tag 'amd-drm-fixes-5.12-2021-03-10' of https://gitlab.freedesktop.org/agd5f/linux into drm-fixes 2021-03-12 11:20:02 +10:00
Makefile
drm_agpsupport.c
drm_atomic.c
drm_atomic_helper.c
drm_atomic_state_helper.c
drm_atomic_uapi.c
drm_auth.c
drm_blend.c
drm_bridge.c
drm_bridge_connector.c
drm_bufs.c
drm_cache.c
drm_client.c
drm_client_modeset.c
drm_color_mgmt.c
drm_connector.c
drm_context.c
drm_crtc.c
drm_crtc_helper.c
drm_crtc_helper_internal.h
drm_crtc_internal.h
drm_damage_helper.c
drm_debugfs.c
drm_debugfs_crc.c
drm_dma.c
drm_dp_aux_dev.c
drm_dp_cec.c
drm_dp_dual_mode_helper.c
drm_dp_helper.c
drm_dp_mst_topology.c
drm_dp_mst_topology_internal.h
drm_drv.c
drm_dsc.c
drm_dumb_buffers.c
drm_edid.c
drm_edid_load.c
drm_encoder.c
drm_encoder_slave.c
drm_fb_cma_helper.c
drm_fb_helper.c drm/fb-helper: only unmap if buffer not null 2021-03-11 11:08:14 +01:00
drm_file.c drm/drm_vblank: set the dma-fence timestamp during send_vblank_event 2021-02-24 21:05:54 +05:30
drm_flip_work.c
drm_format_helper.c
drm_fourcc.c
drm_framebuffer.c
drm_gem.c
drm_gem_cma_helper.c
drm_gem_framebuffer_helper.c
drm_gem_shmem_helper.c drm/shmem-helpers: vunmap: Don't put pages for dma-buf 2021-03-11 11:11:33 +01:00
drm_gem_ttm_helper.c
drm_gem_vram_helper.c
drm_hashtab.c
drm_hdcp.c
drm_internal.h
drm_ioc32.c drm/compat: Clear bounce structures 2021-03-11 11:11:33 +01:00
drm_ioctl.c
drm_irq.c
drm_kms_helper_common.c
drm_lease.c
drm_legacy.h
drm_legacy_misc.c
drm_lock.c
drm_managed.c
drm_memory.c
drm_mipi_dbi.c
drm_mipi_dsi.c
drm_mm.c
drm_mode_config.c
drm_mode_object.c
drm_modes.c
drm_modeset_helper.c
drm_modeset_lock.c
drm_of.c
drm_panel.c
drm_panel_orientation_quirks.c
drm_pci.c
drm_plane.c
drm_plane_helper.c
drm_prime.c
drm_print.c
drm_probe_helper.c
drm_property.c
drm_rect.c
drm_scatter.c
drm_scdc_helper.c
drm_self_refresh_helper.c
drm_simple_kms_helper.c
drm_syncobj.c
drm_sysfs.c
drm_trace.h
drm_trace_points.c
drm_vblank.c drm/drm_vblank: set the dma-fence timestamp during send_vblank_event 2021-02-24 21:05:54 +05:30
drm_vblank_work.c
drm_vm.c
drm_vma_manager.c
drm_writeback.c