linux-stable/drivers/gpu/drm
Michel Dänzer e769d7975a Revert "drm/amd/display: Do not set drr on pipe commit"
commit 360930985e upstream.

This reverts commit e101bf95ea.

Caused a regression:

Samsung Odyssey Neo G9, running at 5120x1440@240/VRR, connected to Navi
21 via DisplayPort, blanks and the GPU hangs while starting the Steam
game Assetto Corsa Competizione (via Proton 7.0).

Example dmesg excerpt:

 amdgpu 0000:0c:00.0: [drm] ERROR [CRTC:82:crtc-0] flip_done timed out
 NMI watchdog: Watchdog detected hard LOCKUP on cpu 6
 [...]
 RIP: 0010:amdgpu_device_rreg.part.0+0x2f/0xf0 [amdgpu]
 Code: 41 54 44 8d 24 b5 00 00 00 00 55 89 f5 53 48 89 fb 4c 3b a7 60 0b 00 00 73 6a 83 e2 02 74 29 4c 03 a3 68 0b 00 00 45 8b 24 24 <48> 8b 43 08 0f b7 70 3e 66 90 44 89 e0 5b 5d 41 5c 31 d2 31 c9 31
 RSP: 0000:ffffb39a119dfb88 EFLAGS: 00000086
 RAX: ffffffffc0eb96a0 RBX: ffff9e7963dc0000 RCX: 0000000000007fff
 RDX: 0000000000000000 RSI: 0000000000004ff6 RDI: ffff9e7963dc0000
 RBP: 0000000000004ff6 R08: ffffb39a119dfc40 R09: 0000000000000010
 R10: ffffb39a119dfc40 R11: ffffb39a119dfc44 R12: 00000000000e05ae
 R13: 0000000000000000 R14: ffff9e7963dc0010 R15: 0000000000000000
 FS:  000000001012f6c0(0000) GS:ffff9e805eb80000(0000) knlGS:000000007fd40000
 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
 CR2: 00000000461ca000 CR3: 00000002a8a20000 CR4: 0000000000350ee0
 Call Trace:
  <TASK>
  dm_read_reg_func+0x37/0xc0 [amdgpu]
  generic_reg_get2+0x22/0x60 [amdgpu]
  optc1_get_crtc_scanoutpos+0x6a/0xc0 [amdgpu]
  dc_stream_get_scanoutpos+0x74/0x90 [amdgpu]
  dm_crtc_get_scanoutpos+0x82/0xf0 [amdgpu]
  amdgpu_display_get_crtc_scanoutpos+0x91/0x190 [amdgpu]
  ? dm_read_reg_func+0x37/0xc0 [amdgpu]
  amdgpu_get_vblank_counter_kms+0xb4/0x1a0 [amdgpu]
  dm_pflip_high_irq+0x213/0x2f0 [amdgpu]
  amdgpu_dm_irq_handler+0x8a/0x200 [amdgpu]
  amdgpu_irq_dispatch+0xd4/0x220 [amdgpu]
  amdgpu_ih_process+0x7f/0x110 [amdgpu]
  amdgpu_irq_handler+0x1f/0x70 [amdgpu]
  __handle_irq_event_percpu+0x46/0x1b0
  handle_irq_event+0x34/0x80
  handle_edge_irq+0x9f/0x240
  __common_interrupt+0x66/0x110
  common_interrupt+0x5c/0xd0
  asm_common_interrupt+0x22/0x40

Reviewed-by: Aurabindo Pillai <aurabindo.pillai@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Michel Dänzer <mdaenzer@redhat.com>
Signed-off-by: Hamza Mahfooz <hamza.mahfooz@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-09-13 09:48:45 +02:00
..
amd Revert "drm/amd/display: Do not set drr on pipe commit" 2023-09-13 09:48:45 +02:00
arm
armada drm/armada: Fix off-by-one error in armada_overlay_get_property() 2023-09-13 09:48:15 +02:00
aspeed
ast drm/ast: report connection status on Display Port. 2023-09-13 09:48:15 +02:00
atmel-hlcdc
bridge drm: adv7511: Fix low refresh rate register for ADV7533/5 2023-09-13 09:48:14 +02:00
display drm/dp_mst: Clear MSG_RDY flag before sending new message 2023-07-23 13:54:02 +02:00
etnaviv drm/etnaviv: fix dumping of active MMU context 2023-09-13 09:48:13 +02:00
exynos drm/client: Send hotplug event after registering a client 2023-07-23 13:53:50 +02:00
fsl-dcu
gma500 drm/client: Send hotplug event after registering a client 2023-07-23 13:53:50 +02:00
gud
hisilicon
hyperv drm/hyperv: Fix a compilation issue because of not including screen_info.h 2023-09-13 09:48:09 +02:00
i2c
i915 drm/i915: Fix error handling if driver creation fails during probe 2023-08-30 14:52:42 +02:00
imx drm/imx/ipuv3: Fix front porch adjustment upon hactive aligning 2023-08-11 12:14:27 +02:00
ingenic
kmb
lib
lima drm/lima: fix sched context destroy 2023-06-07 11:53:22 +08:00
logicvc
mcde
mediatek drm/mediatek: Fix void-pointer-to-enum-cast warning 2023-09-13 09:48:17 +02:00
meson Linux 6.3-rc4 2023-03-29 16:00:23 +02:00
mgag200 Merge drm/drm-fixes into drm-misc-fixes 2023-05-12 09:47:12 +02:00
msm drm/msm/a6xx: Fix GMU lockdep splat 2023-09-13 09:48:16 +02:00
mxsfb
nouveau drm/nouveau/disp: fix use-after-free in error handling of nouveau_connector_create 2023-08-23 17:32:47 +02:00
omapdrm drm/client: Send hotplug event after registering a client 2023-07-23 13:53:50 +02:00
panel drm/panel: simple: Add missing connector type and pixel format for AUO T215HVN01 2023-09-13 09:48:15 +02:00
panfrost drm/panfrost: Skip speed binning on EOPNOTSUPP 2023-08-30 14:52:37 +02:00
pl111 drm/pl111: Fix FB depth on IMPD-1 framebuffer 2023-05-16 09:46:21 +02:00
qxl drm/qxl: fix UAF on handle creation 2023-08-23 17:32:54 +02:00
radeon drm/radeon: Use RMW accessors for changing LNKCTL 2023-09-13 09:48:23 +02:00
rcar-du drm: rcar-du: remove R-Car H3 ES1.* workarounds 2023-08-23 17:32:25 +02:00
rockchip drm/rockchip: Don't spam logs in atomic check 2023-08-16 18:32:27 +02:00
scheduler drm/scheduler: set entity to NULL in drm_sched_entity_pop_job() 2023-08-23 17:32:24 +02:00
shmobile
solomon
sprd
sti
stm drm/stm: ltdc: fix late dereference check 2023-08-23 17:32:25 +02:00
sun4i drm: sun4i_tcon: use devm_clk_get_enabled in sun4i_tcon_init_clocks 2023-07-19 16:35:42 +02:00
tegra drm/tegra: dpaux: Fix incorrect return value of platform_get_irq 2023-09-13 09:48:15 +02:00
tests drm next for 6.4-rc1 2023-04-25 16:12:15 -07:00
tidss
tilcdc
tiny drm/repaper: Reduce temporary buffer size in repaper_fb_dirty() 2023-09-13 09:48:15 +02:00
ttm drm/ttm: check null pointer before accessing when swapping 2023-08-11 12:14:23 +02:00
tve200
udl
v3d
vboxvideo
vc4 drm/vc4: remove unused render_wait variable 2023-04-11 14:15:18 +02:00
vgem
virtio Linux 6.3-rc4 2023-03-29 16:00:23 +02:00
vkms drm/vkms: Fix RGB565 pixel conversion 2023-07-19 16:35:43 +02:00
vmwgfx drm/vmwgfx: Fix possible invalid drm gem put calls 2023-08-30 14:52:36 +02:00
xen
xlnx drm: xlnx: zynqmp_dpsub: Add missing check for dma_set_mask 2023-09-13 09:48:15 +02:00
drm_agpsupport.c
drm_aperture.c
drm_atomic.c drm/atomic: Fix potential use-after-free in nonblocking commits 2023-07-23 13:54:17 +02:00
drm_atomic_helper.c drm/atomic: Allow vblank-enabled + self-refresh "disable" 2023-07-23 13:54:02 +02:00
drm_atomic_state_helper.c
drm_atomic_uapi.c
drm_auth.c
drm_blend.c
drm_bridge.c
drm_bridge_connector.c
drm_buddy.c drm: buddy_allocator: Fix buddy allocator init on 32-bit systems 2023-03-29 17:14:07 +02:00
drm_bufs.c
drm_cache.c
drm_client.c drm/client: Send hotplug event after registering a client 2023-07-23 13:53:50 +02:00
drm_client_modeset.c drm/client: Fix memory leak in drm_client_modeset_probe 2023-07-27 08:56:39 +02:00
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_displayid.c
drm_dma.c
drm_drv.c drm: remove drm_dev_set_unique 2023-03-22 10:24:47 +01:00
drm_dumb_buffers.c
drm_edid.c Revert "drm/edid: Fix csync detailed mode parsing" 2023-08-23 17:32:54 +02:00
drm_edid_load.c
drm_encoder.c
drm_encoder_slave.c
drm_fb_dma_helper.c
drm_fb_helper.c drm/fb-helper: Fix height, width, and accel_flags in fb_var 2023-05-24 13:35:40 +02:00
drm_fbdev_dma.c drm/client: Send hotplug event after registering a client 2023-07-23 13:53:50 +02:00
drm_fbdev_generic.c drm/client: Send hotplug event after registering a client 2023-07-23 13:53:50 +02:00
drm_file.c
drm_flip_work.c
drm_format_helper.c
drm_fourcc.c
drm_framebuffer.c
drm_gem.c Merge tag 'drm-msm-next-2023-04-10' of https://gitlab.freedesktop.org/drm/msm into drm-next 2023-04-11 12:21:50 +02:00
drm_gem_atomic_helper.c
drm_gem_dma_helper.c
drm_gem_framebuffer_helper.c
drm_gem_shmem_helper.c drm/shmem-helper: Reset vma->vm_ops before calling dma_buf_mmap() 2023-08-16 18:32:18 +02:00
drm_gem_ttm_helper.c
drm_gem_vram_helper.c drm/vram-helper: fix function names in vram helper doc 2023-07-19 16:35:41 +02:00
drm_hashtab.c
drm_internal.h
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: fix drmm_mutex_init() 2023-05-22 12:23:50 +02:00
drm_memory.c
drm_mipi_dbi.c
drm_mipi_dsi.c Merge drm/drm-fixes into drm-misc-fixes 2023-05-12 09:47:12 +02:00
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: panel-orientation-quirks: Change Air's quirk to support Air Plus 2023-05-17 11:46:49 +02:00
drm_pci.c
drm_plane.c
drm_plane_helper.c
drm_prime.c drm/prime: reject DMA-BUF attach when get_sg_table is missing 2023-04-03 14:31:24 +02:00
drm_print.c
drm_privacy_screen.c
drm_privacy_screen_x86.c
drm_probe_helper.c drm: Add an HPD poll helper to reschedule the poll work 2023-08-30 14:52:37 +02:00
drm_property.c
drm_rect.c
drm_scatter.c
drm_self_refresh_helper.c
drm_simple_kms_helper.c
drm_suballoc.c
drm_syncobj.c dma-buf: fix an error pointer vs NULL bug 2023-08-03 10:26:14 +02:00
drm_sysfs.c
drm_trace.h
drm_trace_points.c
drm_vblank.c drm/vblank: Fix for drivers that do not drm_vblank_init() 2023-04-04 22:38:03 +02:00
drm_vblank_work.c
drm_vm.c
drm_vma_manager.c
drm_writeback.c
Kconfig
Makefile