linux-loongson/drivers/gpu/drm/amd/display/amdgpu_dm
Tom Chung 66af73a1c3 drm/amd/display: Fix Xorg desktop unresponsive on Replay panel
[WHY & HOW]
IPS & self-fresh feature can cause vblank counter resets between
vblank disable and enable.
It may cause system stuck due to wait the vblank counter.

Call the drm_crtc_vblank_restore() during vblank enable to estimate
missed vblanks by using timestamps and update the vblank counter in
DRM.

It can make the vblank counter increase smoothly and resolve this issue.

Cc: Mario Limonciello <mario.limonciello@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Sun peng (Leo) Li <sunpeng.li@amd.com>
Signed-off-by: Tom Chung <chiahsuan.chung@amd.com>
Signed-off-by: Alex Hung <alex.hung@amd.com>
Tested-by: Dan Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit 34d66bc7ff10e146a4cec76cf286979740a10954)
Cc: stable@vger.kernel.org
2025-08-18 17:56:53 -04:00
..
amdgpu_dm_color.c
amdgpu_dm_crc.c drm/amd/display: Do not wait for PSR disable on vbl enable 2025-01-10 12:07:05 -05:00
amdgpu_dm_crc.h drm/amd/display: Extend secure display to support DisplayCRC mode 2025-01-10 12:03:52 -05:00
amdgpu_dm_crtc.c drm/amd/display: Fix Xorg desktop unresponsive on Replay panel 2025-08-18 17:56:53 -04:00
amdgpu_dm_crtc.h drm/amd/display: Disable replay and psr while VRR is enabled 2025-01-06 14:44:27 -05:00
amdgpu_dm_debugfs.c drm/amdgpu: check if hubbub is NULL in debugfs/amdgpu_dm_capabilities 2025-07-28 16:24:48 -04:00
amdgpu_dm_debugfs.h
amdgpu_dm_hdcp.c sysfs: treewide: switch back to bin_attribute::read()/write() 2025-06-17 10:44:13 +02:00
amdgpu_dm_hdcp.h
amdgpu_dm_helpers.c drm/amd/display: Add sanity checks for drm_edid_raw() 2025-06-24 10:39:24 -04:00
amdgpu_dm_irq_params.h drm/amd/display: Adjust dm to use supported interfaces for setting multiple crc windows 2025-01-06 14:44:26 -05:00
amdgpu_dm_irq.c drm/amd/display: Disable unneeded hpd interrupts during dm_init 2025-03-10 13:23:31 -04:00
amdgpu_dm_irq.h drm/amd/display: Change amdgpu_dm_irq_resume_*() to void 2025-03-05 10:41:51 -05:00
amdgpu_dm_mst_types.c drm/amd/display: Drop unnecessary amdgpu prefix 2025-06-03 15:35:31 -04:00
amdgpu_dm_mst_types.h drm/amd/display: Fix MST BW calculation Regression 2024-08-13 10:48:07 -04:00
amdgpu_dm_plane.c drm: Pass pixel_format+modifier to .get_format_info() 2025-07-16 19:59:59 +03:00
amdgpu_dm_plane.h drm: Pass pixel_format+modifier to .get_format_info() 2025-07-16 19:59:59 +03:00
amdgpu_dm_pp_smu.c
amdgpu_dm_psr.c drm/amd/display: Avoid configuring PSR granularity if PSR-SU not supported 2025-07-28 16:28:28 -04:00
amdgpu_dm_psr.h drm/amd/display: Do not wait for PSR disable on vbl enable 2025-01-10 12:07:05 -05:00
amdgpu_dm_quirks.c drm/amd/display: Restructure DMI quirks 2025-05-13 09:30:52 -04:00
amdgpu_dm_replay.c drm/amd/display: Add Replay capability and state in debugfs 2024-05-08 14:56:51 -04:00
amdgpu_dm_replay.h drm/amd/display: Add Replay capability and state in debugfs 2024-05-08 14:56:51 -04:00
amdgpu_dm_services.c drm/amd/display: Add dummy interface for tracing DCN32 SMU messages 2024-04-09 22:03:13 -04:00
amdgpu_dm_trace.h drm/amd/display: Add a trace event for brightness programming 2025-06-24 10:05:32 -04:00
amdgpu_dm_wb.c drm/amd/display: Adjust all dev_*() messages to drm_*() 2025-04-07 18:01:07 -04:00
amdgpu_dm_wb.h
amdgpu_dm.c drm/amd/display: Avoid a NULL pointer dereference 2025-08-18 17:56:25 -04:00
amdgpu_dm.h drm/amd/display: Deprecate Loading Bounding Box From DMUB On DCN4 2025-06-18 12:19:16 -04:00
dc_fpu.c drm/amd/display: use ARCH_HAS_KERNEL_FPU_SUPPORT 2024-05-19 14:36:19 -07:00
dc_fpu.h
Makefile drm/amd/display: Restructure DMI quirks 2025-05-13 09:30:52 -04:00