[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20260206235846.1019172-2-someguy@effective-light.com>
Date: Fri, 6 Feb 2026 18:58:43 -0500
From: Hamza Mahfooz <someguy@...ective-light.com>
To: dri-devel@...ts.freedesktop.org
Cc: Timur Kristóf <timur.kristof@...il.com>,
Michel Dänzer <michel.daenzer@...lbox.org>,
Xaver Hugl <xaver.hugl@....org>,
Hamza Mahfooz <someguy@...ective-light.com>,
Harry Wentland <harry.wentland@....com>,
Leo Li <sunpeng.li@....com>,
Rodrigo Siqueira <siqueira@...lia.com>,
Alex Deucher <alexander.deucher@....com>,
Christian König <christian.koenig@....com>,
David Airlie <airlied@...il.com>,
Simona Vetter <simona@...ll.ch>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Maxime Ripard <mripard@...nel.org>,
Thomas Zimmermann <tzimmermann@...e.de>,
Kenneth Feng <kenneth.feng@....com>,
Ivan Lipski <ivan.lipski@....com>,
Alex Hung <alex.hung@....com>,
Tom Chung <chiahsuan.chung@....com>,
Melissa Wen <mwen@...lia.com>,
Michel Dänzer <mdaenzer@...hat.com>,
Fangzhi Zuo <Jerry.Zuo@....com>,
amd-gfx@...ts.freedesktop.org,
linux-kernel@...r.kernel.org
Subject: [PATCH v2 2/2] drm/amdgpu: implement page_flip_timeout() support
We now have a means to respond to page flip timeouts. So, hook up
support for the new page_flip_timeout() callback.
Signed-off-by: Hamza Mahfooz <someguy@...ective-light.com>
---
v2: send a wedged event instead of attempting a GPU reset.
---
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crtc.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crtc.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crtc.c
index 697e232acebf..1faf39b7a1b4 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crtc.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crtc.c
@@ -23,6 +23,7 @@
* Authors: AMD
*
*/
+#include <drm/drm_drv.h>
#include <drm/drm_vblank.h>
#include <drm/drm_atomic_helper.h>
@@ -578,12 +579,19 @@ amdgpu_dm_atomic_crtc_get_property(struct drm_crtc *crtc,
}
#endif
+static void amdgpu_dm_crtc_handle_timeout(struct drm_crtc *crtc)
+{
+ drm_dev_wedged_event(crtc->dev, DRM_WEDGE_RECOVERY_REBIND |
+ DRM_WEDGE_RECOVERY_BUS_RESET, NULL);
+}
+
/* Implemented only the options currently available for the driver */
static const struct drm_crtc_funcs amdgpu_dm_crtc_funcs = {
.reset = amdgpu_dm_crtc_reset_state,
.destroy = amdgpu_dm_crtc_destroy,
.set_config = drm_atomic_helper_set_config,
.page_flip = drm_atomic_helper_page_flip,
+ .page_flip_timeout = amdgpu_dm_crtc_handle_timeout,
.atomic_duplicate_state = amdgpu_dm_crtc_duplicate_state,
.atomic_destroy_state = amdgpu_dm_crtc_destroy_state,
.set_crc_source = amdgpu_dm_crtc_set_crc_source,
--
2.52.0
Powered by blists - more mailing lists