[PATCH v3 10/14] drm/panic: Restrict to primary planes
Thomas Zimmermann
tzimmermann at suse.de
Wed Sep 2 05:13:18 PDT 2026
Restrict panic handling to primary displays. Overlays and cursors
should not display panic output. If there are exceptions, they can
be registered by the driver itself.
v3:
- also update drm_panic_is_enabled() (Sashiko)
- still do some testing when unregistering (Sashiko)
Signed-off-by: Thomas Zimmermann <tzimmermann at suse.de>
Reviewed-by: Jocelyn Falempe <jfalempe at redhat.com>
---
drivers/gpu/drm/drm_panic.c | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/drm_panic.c b/drivers/gpu/drm/drm_panic.c
index 624042c42a7f..381f8aab3661 100644
--- a/drivers/gpu/drm/drm_panic.c
+++ b/drivers/gpu/drm/drm_panic.c
@@ -1059,9 +1059,13 @@ bool drm_panic_is_enabled(struct drm_device *dev)
if (!dev->mode_config.num_total_plane)
return false;
- drm_for_each_plane(plane, dev)
- if (plane->helper_private && plane->helper_private->get_scanout_buffer)
- return true;
+ drm_for_each_plane(plane, dev) {
+ if (plane->type != DRM_PLANE_TYPE_PRIMARY)
+ continue;
+ if (!plane->helper_private || !plane->helper_private->get_scanout_buffer)
+ continue;
+ return true;
+ }
return false;
}
EXPORT_SYMBOL(drm_panic_is_enabled);
@@ -1079,6 +1083,8 @@ void drm_panic_register(struct drm_device *dev)
return;
drm_for_each_plane(plane, dev) {
+ if (plane->type != DRM_PLANE_TYPE_PRIMARY)
+ continue;
if (!plane->helper_private || !plane->helper_private->get_scanout_buffer)
continue;
plane->kmsg_panic.dump = drm_panic;
@@ -1106,6 +1112,8 @@ void drm_panic_unregister(struct drm_device *dev)
return;
drm_for_each_plane(plane, dev) {
+ if (plane->type != DRM_PLANE_TYPE_PRIMARY)
+ continue;
if (!plane->helper_private || !plane->helper_private->get_scanout_buffer)
continue;
kmsg_dump_unregister(&plane->kmsg_panic);
--
2.55.0
More information about the linux-arm-kernel
mailing list