linux/drivers/gpu/drm
Harry Wentland d89f6048bd drm/amd/display: Reject non-zero src_y and src_x for video planes
[Why]
This hasn't been well tested and leads to complete system hangs on DCN1
based systems, possibly others.

The system hang can be reproduced by gesturing the video on the YouTube
Android app on ChromeOS into full screen.

[How]
Reject atomic commits with non-zero drm_plane_state.src_x or src_y values.

v2:
 - Add code comment describing the reason we're rejecting non-zero
   src_x and src_y
 - Drop gerrit Change-Id
 - Add stable CC
 - Based on amd-staging-drm-next

v3: removed trailing whitespace

Signed-off-by: Harry Wentland <harry.wentland@amd.com>
Cc: stable@vger.kernel.org
Cc: nicholas.kazlauskas@amd.com
Cc: amd-gfx@lists.freedesktop.org
Cc: alexander.deucher@amd.com
Cc: Roman.Li@amd.com
Cc: hersenxs.wu@amd.com
Cc: danny.wang@amd.com
Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Hersen Wu <hersenxs.wu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
2021-04-28 23:45:22 -04:00
..
amd drm/amd/display: Reject non-zero src_y and src_x for video planes 2021-04-28 23:45:22 -04:00
arm drm/komeda: Fix bit check to import to value of proper type 2021-04-01 13:48:48 +01:00
armada drm: Use state helper instead of the plane state pointer 2021-02-25 08:05:28 +01:00
aspeed drm/gem: Move drm_gem_fb_prepare_fb() to GEM atomic helpers 2021-02-23 08:54:22 +01:00
ast drm: Use state helper instead of the plane state pointer 2021-02-25 08:05:28 +01:00
atmel-hlcdc drm: Use state helper instead of the plane state pointer 2021-02-25 08:05:28 +01:00
bochs
bridge A few fixes for the next merge window, with some build fixes for anx7625 2021-04-23 13:53:07 +10:00
etnaviv Merge drm/drm-fixes into drm-next 2021-04-13 23:15:09 +02:00
exynos Merge drm/drm-fixes into drm-next 2021-04-13 23:15:09 +02:00
fsl-dcu drm: Use state helper instead of the plane state pointer 2021-02-25 08:05:28 +01:00
gma500 gma500: Use DEFINE_SPINLOCK() for spinlock 2021-04-08 13:19:56 +02:00
gud drm/gud: Remove unneeded semicolon 2021-03-23 10:32:14 +01:00
hisilicon drm: Use state helper instead of the plane state pointer 2021-02-25 08:05:28 +01:00
i2c
i810
i915 Merge drm/drm-fixes into drm-next 2021-04-13 23:15:09 +02:00
imx Merge drm/drm-fixes into drm-next 2021-04-13 23:15:09 +02:00
ingenic drm/ingenic: Register devm action to cleanup encoders 2021-03-29 16:47:12 +01:00
kmb drm: Use state helper instead of the plane state pointer 2021-02-25 08:05:28 +01:00
lib
lima Revert "drm/scheduler: Job timeout handler returns status (v3)" 2021-02-10 15:26:00 +01:00
mcde drm/mcde/panel: Inverse misunderstood flag 2021-03-04 14:31:06 +01:00
mediatek Mediatek DRM Next for Linux 5.13 2021-04-08 12:42:14 +10:00
meson drm/meson: Fix few typo 2021-03-19 10:40:54 +01:00
mga drm/mga/mga_ioc32: Fix some formatting issues in 'mga_compat_ioctl's header 2021-01-18 15:41:12 +01:00
mgag200 drm/mgag200: Move vmap out of commit tail 2021-02-08 13:00:26 +01:00
msm Merge tag 'drm-msm-next-2021-04-11' of https://gitlab.freedesktop.org/drm/msm into drm-next 2021-04-13 23:35:54 +02:00
mxsfb drm: Use state helper instead of the plane state pointer 2021-02-25 08:05:28 +01:00
nouveau Merge drm/drm-fixes into drm-next 2021-04-13 23:15:09 +02:00
omapdrm Merge drm/drm-fixes into drm-next 2021-04-13 23:15:09 +02:00
panel Merge drm/drm-fixes into drm-next 2021-04-13 23:15:09 +02:00
panfrost drm/panfrost: Stay in the threaded MMU IRQ handler until we've handled all IRQs 2021-02-15 09:43:33 +01:00
pl111 drm-misc-next for 5.13: 2021-03-16 17:08:46 +10:00
qxl drm/ttm: switch to per device LRU lock 2021-03-24 17:05:25 +01:00
r128 drm/r128/r128_ioc32: Fix formatting issues in 'r128_compat_ioctl()'s header 2021-01-18 15:41:04 +01:00
radeon drm/radeon: Fix a missing check bug in radeon_dp_mst_detect() 2021-04-09 16:58:23 -04:00
rcar-du Merge drm/drm-fixes into drm-next 2021-04-13 23:15:09 +02:00
rockchip drm/rockchip: Remove unused variable 2021-03-24 09:31:22 +01:00
savage
scheduler drm/amd/amdgpu implement tdr advanced mode 2021-04-09 16:45:45 -04:00
selftests
shmobile
sis
sti drm: Use state helper instead of the plane state pointer 2021-02-25 08:05:28 +01:00
stm drm/stm: dsi: Avoid printing errors for -EPROBE_DEFER 2021-03-08 15:06:56 +01:00
sun4i drm-misc-next for 5.13: 2021-03-16 17:08:46 +10:00
tdfx
tegra Merge drm/drm-fixes into drm-next 2021-04-13 23:15:09 +02:00
tidss drm: Use state helper instead of the plane state pointer 2021-02-25 08:05:28 +01:00
tilcdc drm/tilcdc: fix pixel clock setting warning message 2021-03-24 12:05:28 +02:00
tiny drm-misc-next for 5.13: 2021-03-16 17:08:46 +10:00
ttm A few fixes for the next merge window, with some build fixes for anx7625 2021-04-23 13:53:07 +10:00
tve200 drm/gem: Move drm_gem_fb_prepare_fb() to GEM atomic helpers 2021-02-23 08:54:22 +01:00
udl drm-misc-next for 5.13: 2021-03-16 17:08:46 +10:00
v3d Revert "drm/scheduler: Job timeout handler returns status (v3)" 2021-02-10 15:26:00 +01:00
vboxvideo drm/vboxvideo: Use managed VRAM-helper initialization 2021-03-11 14:19:43 +01:00
vc4 Merge drm/drm-fixes into drm-next 2021-04-13 23:15:09 +02:00
vgem
via
virtio drm/virtio: fix possible leak/unlock virtio_gpu_object_array 2021-03-09 12:06:18 +01:00
vkms drm/vkms: fix misuse of WARN_ON 2021-03-25 08:23:28 -03:00
vmwgfx drm/ttm: remove swap LRU v3 2021-03-24 17:05:14 +01:00
xen Merge drm/drm-fixes into drm-next 2021-04-13 23:15:09 +02:00
xlnx drm: xlnx: zynqmp: fix a memset in zynqmp_dp_train() 2021-04-08 12:52:10 +02:00
zte drm: Use state helper instead of the plane state pointer 2021-02-25 08:05:28 +01:00
drm_agpsupport.c drm: Upcast struct drm_device.dev to struct pci_device; replace pdev 2021-01-19 09:06:38 +01:00
drm_atomic_helper.c drm: Fix 3 typos in the inline doc 2021-03-26 11:46:33 +01:00
drm_atomic_state_helper.c
drm_atomic_uapi.c
drm_atomic.c drm/atomic: Couple of typo fixes 2021-04-09 16:42:09 -04:00
drm_auth.c
drm_blend.c
drm_bridge_connector.c
drm_bridge.c
drm_bufs.c drm: Upcast struct drm_device.dev to struct pci_device; replace pdev 2021-01-19 09:06:38 +01:00
drm_cache.c drm: Include <linux/mem_encrypt.h> in drm_cache.c 2021-01-14 09:42:31 +01:00
drm_client_modeset.c drm: replace drm_modeset_lock_all() in drm_client_modeset_dpms_legacy() 2021-02-09 17:16:57 +01:00
drm_client.c
drm_color_mgmt.c
drm_connector.c drm/uapi: Add USB connector type 2021-03-16 12:45:28 +01:00
drm_context.c
drm_crtc_helper_internal.h drm: remove drm_fb_helper_modinit 2021-02-08 12:20:38 +01:00
drm_crtc_helper.c
drm_crtc_internal.h
drm_crtc.c drm: Switch to %p4cc format modifier 2021-02-17 12:52:59 +01:00
drm_damage_helper.c
drm_debugfs_crc.c
drm_debugfs.c
drm_displayid.c drm/displayid: rename displayid_hdr to displayid_header 2021-03-31 15:42:39 +03:00
drm_dma.c
drm_dp_aux_dev.c
drm_dp_cec.c
drm_dp_dual_mode_helper.c
drm_dp_helper.c drm/dp_helper: Define options for FRL training for HDMI2.1 PCON 2021-03-31 12:21:06 +03:00
drm_dp_mst_topology_internal.h
drm_dp_mst_topology.c drm/dp_mst: Drop DRM_ERROR() on kzalloc() fail in drm_dp_mst_handle_up_req() 2021-04-08 17:47:26 -04:00
drm_drv.c drm/drv: Remove initialization of static variables 2021-02-21 19:49:17 -05:00
drm_dsc.c
drm_dumb_buffers.c
drm_edid_load.c
drm_edid.c drm/edid: use the new displayid iterator for tile info 2021-03-31 15:42:02 +03:00
drm_encoder_slave.c
drm_encoder.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: Switch to %p4cc format modifier 2021-02-17 12:52:59 +01:00
drm_gem_atomic_helper.c drm/gem: Move drm_gem_fb_prepare_fb() to GEM atomic helpers 2021-02-23 08:54:22 +01:00
drm_gem_cma_helper.c
drm_gem_framebuffer_helper.c drm/gem: Move drm_gem_fb_prepare_fb() to GEM atomic helpers 2021-02-23 08:54:22 +01:00
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-misc-next for 5.13: 2021-03-16 17:08:46 +10:00
drm_gem.c drm/gem: Export drm_gem_vmap() and drm_gem_vunmap() 2021-02-08 13:00:06 +01:00
drm_hashtab.c
drm_hdcp.c
drm_internal.h drm/drm_internal.h: Remove repeated struct declaration 2021-04-08 13:05:38 +02:00
drm_ioc32.c drm/compat: Clear bounce structures 2021-03-11 11:11:33 +01:00
drm_ioctl.c
drm_irq.c drm: Upcast struct drm_device.dev to struct pci_device; replace pdev 2021-01-19 09:06:38 +01:00
drm_kms_helper_common.c drm: remove drm_fb_helper_modinit 2021-02-08 12:20:38 +01:00
drm_lease.c
drm_legacy_misc.c
drm_legacy.h
drm_lock.c
drm_managed.c
drm_memory.c
drm_mipi_dbi.c drm: Switch to %p4cc format modifier 2021-02-17 12:52:59 +01:00
drm_mipi_dsi.c
drm_mm.c
drm_mode_config.c
drm_mode_object.c
drm_modes.c drm: Refuse to create zero width/height cmdline modes 2021-04-01 20:29:16 +03:00
drm_modeset_helper.c
drm_modeset_lock.c
drm_of.c
drm_panel_orientation_quirks.c drm: Added orientation quirk for OneGX1 Pro 2021-01-20 22:33:01 +01:00
drm_panel.c
drm_pci.c drm: Upcast struct drm_device.dev to struct pci_device; replace pdev 2021-01-19 09:06:38 +01:00
drm_plane_helper.c
drm_plane.c drm-misc-next for 5.13: 2021-03-16 17:08:46 +10:00
drm_prime.c drm: Set vm_ops to GEM object's values during mmap 2021-01-18 10:37:26 +01:00
drm_print.c
drm_probe_helper.c drm/probe-helper: Check epoch counter in output_poll_execute() 2021-03-16 12:45:52 +01:00
drm_property.c drm: Few typo fixes 2021-03-18 14:22:50 +01:00
drm_rect.c
drm_scatter.c
drm_scdc_helper.c
drm_self_refresh_helper.c
drm_simple_kms_helper.c drm/atomic: Pass the full state to planes atomic disable and update 2021-02-25 08:05:28 +01:00
drm_syncobj.c drm/syncobj: use newly allocated stub fences 2021-04-08 12:21:13 +02:00
drm_sysfs.c drm/sysfs: Convert sysfs sprintf/snprintf family to sysfs_emit 2021-03-23 07:41:39 -04:00
drm_trace_points.c
drm_trace.h
drm_vblank_work.c
drm_vblank.c drm/vblank: Do not store a new vblank timestamp in drm_vblank_restore() 2021-04-01 20:29:17 +03:00
drm_vm.c drm: Upcast struct drm_device.dev to struct pci_device; replace pdev 2021-01-19 09:06:38 +01:00
drm_vma_manager.c
drm_writeback.c
Kconfig drm/radeon: fix AGP dependency 2021-03-23 23:25:21 -04:00
Makefile drm/displayid: add separate drm_displayid.c 2021-03-31 15:41:35 +03:00