linux/drivers/gpu/drm
Thomas Zimmermann 39edb28780 drm/ast: Disable planes while switching display modes
The ast HW cursor requires the primary plane and CRTC to display at
a valid mode and format. This is not the case while switching
display modes, which can lead to the screen turing permanently dark.

As a workaround, the ast driver now disables active planes while the
mode or format switch takes place. It also synchronizes with the vertical
refresh to give CRTC and planes some time to catch up on each other.
The active planes planes (primary or cursor) will be re-enabled by
each plane's atomic_update() function.

v3:
	* move the logic into the CRTC's atomic_disable function
v2:
	* move the logic into the commit-tail function

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20200914072236.19398-3-tzimmermann@suse.de
2020-09-16 13:08:01 +02:00
..
amd drm/ttm: move ttm binding/unbinding out of ttm_tt paths. 2020-09-16 09:35:30 +10:00
arc
arm Linux 5.9-rc4 2020-09-08 14:41:40 +10:00
armada drm/armada: Don't use drm_device->dev_private 2020-09-11 10:47:19 +02:00
aspeed drm/aspeed: Use managed drmm_mode_config_cleanup 2020-09-11 10:47:19 +02:00
ast drm/ast: Disable planes while switching display modes 2020-09-16 13:08:01 +02:00
atmel-hlcdc drm/atomic-helper: reset vblank on crtc reset 2020-07-02 20:25:51 +02:00
bochs Linux 5.8 2020-08-11 11:58:31 +10:00
bridge drm/bridge: ps8640: Rework power state handling 2020-09-15 15:12:24 +02:00
etnaviv Merge drm/drm-next into drm-misc-next 2020-09-14 18:11:40 +02:00
exynos Linux 5.9-rc4 2020-09-08 14:41:40 +10:00
fsl-dcu Linux 5.9-rc4 2020-09-08 14:41:40 +10:00
gma500 drm/gma500: Constify static structs 2020-09-01 15:30:27 +02:00
hisilicon drm/hisilicon: Removed the dependency on the mmu 2020-08-30 20:35:55 -04:00
i2c sound updates for 5.9 2020-08-06 14:27:31 -07:00
i810 drm/i810: make i810_flush_queue() return void 2020-09-11 10:54:17 +02:00
i915 drm/i915: Drop the drm_atomic_helper_calc_timestamping_constants() call 2020-09-14 22:37:31 +03:00
imx Merge drm/drm-next into drm-misc-next 2020-09-14 18:11:40 +02:00
ingenic gpu/drm: ingenic: Add option to mmap GEM buffers cached 2020-09-15 01:32:26 +02:00
lib
lima Linux 5.8 2020-08-11 11:58:31 +10:00
mcde drm/mcde: Retry DSI read/write transactions 2020-08-15 12:14:18 +02:00
mediatek drm: Remove unnecessary drm_panel_attach and drm_panel_detach 2020-08-08 09:06:33 +02:00
meson treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
mga
mgag200 drm/mgag200: fix spelling mistake "expeced" -> "expected" 2020-08-27 11:17:52 +02:00
msm Merge drm/drm-next into drm-misc-next 2020-09-14 18:11:40 +02:00
mxsfb drm: mxsfb: check framebuffer pitch 2020-09-16 11:13:27 +02:00
nouveau drm/ttm: move ttm binding/unbinding out of ttm_tt paths. 2020-09-16 09:35:30 +10:00
omapdrm Linux 5.9-rc4 2020-09-08 14:41:40 +10:00
panel drm/panel: s6e63m0: Add missing MODULE_LICENSE 2020-09-10 08:53:06 +02:00
panfrost drm/panfrost: Ensure GPU quirks are always initialised 2020-09-10 14:12:33 +01:00
pl111 drm: pl111: Update documentation 2020-07-23 10:06:22 +02:00
qxl drm/ttm: remove available_caching 2020-09-15 16:05:19 +02:00
r128
radeon drm/ttm: move ttm binding/unbinding out of ttm_tt paths. 2020-09-16 09:35:30 +10:00
rcar-du Merge drm/drm-next into drm-misc-next 2020-08-12 20:42:08 +02:00
rockchip drm: allow limiting the scatter list size. 2020-09-09 07:58:56 +02:00
savage treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
scheduler Merge tag 'amd-drm-next-5.10-2020-09-03' of git://people.freedesktop.org/~agd5f/linux into drm-next 2020-09-08 16:40:13 +10:00
selftests
shmobile
sis
sti Linux 5.9-rc4 2020-09-08 14:41:40 +10:00
stm drm/stm: repair runtime power management 2020-07-08 11:47:01 +02:00
sun4i Linux 5.9-rc5 2020-09-14 17:19:11 +02:00
tdfx
tegra Merge drm/drm-next into drm-misc-next 2020-09-14 18:11:40 +02:00
tidss drm/tidss: implement WA for AM65xx erratum i2000 2020-08-21 15:17:05 +03:00
tilcdc treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
tiny
ttm drm/ttm: split bound/populated flags. 2020-09-16 09:35:47 +10:00
tve200 drm/tve200: Stabilize enable/disable 2020-09-03 21:14:09 +02:00
udl
v3d drm/v3d: convert to use module_platform_driver 2020-08-10 15:32:00 +02:00
vboxvideo drm/vboxvideo: Use drm_gem_vram_vmap() interfaces 2020-09-14 09:12:24 +02:00
vc4 drm/vc4: Handing the return value of drm_universal_plane_init 2020-09-16 04:48:37 -04:00
vgem drm/vgem: Use devm_drm_dev_alloc 2020-09-11 10:47:19 +02:00
via treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
virtio drm/virtio: add virtio_gpu_cmd_unref_resource error handling 2020-09-15 13:30:53 +02:00
vkms drm/vkms: Use devm_drm_dev_alloc 2020-09-11 10:47:19 +02:00
vmwgfx drm/ttm/tt: add wrappers to set tt state. 2020-09-16 09:33:24 +10:00
xen Merge drm/drm-next into drm-misc-next 2020-09-14 18:11:40 +02:00
xlnx Merge drm/drm-next into drm-misc-next 2020-09-14 18:11:40 +02:00
zte sound updates for 5.9 2020-08-06 14:27:31 -07:00
drm_agpsupport.c
drm_atomic.c
drm_atomic_helper.c drm/atomic-helper: Remove the timestamping constant update from drm_atomic_helper_update_legacy_modeset_state() 2020-09-14 22:37:31 +03:00
drm_atomic_state_helper.c drm/atomic-helper: reset vblank on crtc reset 2020-07-02 20:25:51 +02:00
drm_atomic_uapi.c
drm_auth.c
drm_blend.c
drm_bridge.c
drm_bridge_connector.c drm/bridge_connector: Set default status connected for eDP connectors 2020-08-26 19:11:41 +02:00
drm_bufs.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
drm_cache.c
drm_client.c
drm_client_modeset.c
drm_color_mgmt.c drm/modeset-lock: Take the modeset BKL for legacy drivers 2020-08-17 13:41:50 -04:00
drm_connector.c drm: Replace mode->export_head with a boolean 2020-09-01 13:38:34 +03:00
drm_context.c
drm_crtc.c Linux 5.9-rc2 2020-08-25 11:00:02 +02:00
drm_crtc_helper.c
drm_crtc_helper_internal.h drm/probe_helper: Add drm_connector_helper_funcs.mode_valid_ctx 2020-07-13 13:29:20 -04:00
drm_crtc_internal.h
drm_damage_helper.c
drm_debugfs.c
drm_debugfs_crc.c drm/crc-debugfs: Fix memleak in crc_control_write 2020-09-01 09:45:44 +02:00
drm_dma.c
drm_dp_aux_dev.c
drm_dp_cec.c
drm_dp_dual_mode_helper.c
drm_dp_helper.c Merge tag 'topic/nouveau-i915-dp-helpers-and-cleanup-2020-08-31-1' of git://anongit.freedesktop.org/drm/drm-misc into drm-next 2020-09-09 12:27:13 +10:00
drm_dp_mst_topology.c Merge drm/drm-next into drm-misc-next 2020-09-14 18:11:40 +02:00
drm_dp_mst_topology_internal.h
drm_drv.c drm/managed: Cleanup of unused functions and polishing docs 2020-09-03 16:25:06 +02:00
drm_dsc.c
drm_dumb_buffers.c
drm_edid.c drm next for 5.9-rc1 2020-08-05 19:50:06 -07:00
drm_edid_load.c
drm_encoder.c
drm_encoder_slave.c
drm_fb_cma_helper.c
drm_fb_helper.c Linux 5.8 2020-08-11 11:58:31 +10:00
drm_file.c
drm_flip_work.c
drm_format_helper.c
drm_fourcc.c
drm_framebuffer.c gpu/drm: cleanup coding style a bit 2020-09-09 11:45:18 +02:00
drm_gem.c * backmerge from drm-fixes at v5.8-rc7 2020-08-11 12:00:30 +10:00
drm_gem_cma_helper.c drm: core: Convert device logging to drm_* functions. 2020-07-20 09:34:24 +02:00
drm_gem_framebuffer_helper.c
drm_gem_shmem_helper.c drm: allow limiting the scatter list size. 2020-09-09 07:58:56 +02:00
drm_gem_ttm_helper.c drm/ttm: merge offset and base in ttm_bus_placement 2020-09-08 10:43:30 +02:00
drm_gem_vram_helper.c drm/ttm: remove available_caching 2020-09-15 16:05:19 +02:00
drm_hashtab.c
drm_hdcp.c
drm_internal.h drm/vblank: Add vblank works 2020-07-16 18:16:31 -04:00
drm_ioc32.c
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/managed: Cleanup of unused functions and polishing docs 2020-09-03 16:25:06 +02:00
drm_memory.c
drm_mipi_dbi.c Linux 5.8 2020-08-11 11:58:31 +10:00
drm_mipi_dsi.c drm: mipi-dsi: Convert logging to drm_* functions. 2020-07-10 20:21:45 +02:00
drm_mm.c
drm_mode_config.c
drm_mode_object.c drm/modeset-lock: Take the modeset BKL for legacy drivers 2020-08-17 13:41:50 -04:00
drm_modes.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
drm_modeset_helper.c
drm_modeset_lock.c
drm_of.c Linux 5.8 2020-08-11 11:58:31 +10:00
drm_panel.c drm/panel: Add helper for reading DT rotation 2020-08-16 17:12:18 +02:00
drm_panel_orientation_quirks.c drm: Added orientation quirk for ASUS tablet model T103HAF 2020-08-04 11:45:23 +02:00
drm_pci.c
drm_plane.c Linux 5.9-rc2 2020-08-25 11:00:02 +02:00
drm_plane_helper.c
drm_prime.c drm: allow limiting the scatter list size. 2020-09-09 07:58:56 +02:00
drm_print.c
drm_probe_helper.c Merge tag 'drm-intel-next-2020-07-15' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2020-07-31 14:42:37 +10:00
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/syncobj: Tune down unordered timeline DRM_ERROR 2020-08-02 15:22:31 +02:00
drm_sysfs.c
drm_trace.h
drm_trace_points.c
drm_vblank.c drm/atomic-helper: Remove the timestamping constant update from drm_atomic_helper_update_legacy_modeset_state() 2020-09-14 22:37:31 +03:00
drm_vblank_work.c This tree adds the sched_set_fifo*() encapsulation APIs to remove 2020-08-06 11:55:43 -07:00
drm_vm.c
drm_vma_manager.c
drm_writeback.c
Kconfig drm: xlnx: DRM/KMS driver for Xilinx ZynqMP DisplayPort Subsystem 2020-07-18 02:59:16 +03:00
Makefile drm/imx: compile imx directory by default 2020-09-09 16:39:48 +02:00