[PATCH v7 4/9] drm/panic: Add drm_panic_is_format_supported()
Jocelyn Falempe
jfalempe at redhat.com
Thu Jan 4 16:00:48 UTC 2024
So driver knows early if drm_panic will be able to display something
on the current scanout buffer.
Signed-off-by: Jocelyn Falempe <jfalempe at redhat.com>
---
drivers/gpu/drm/drm_panic.c | 13 +++++++++++++
include/drm/drm_panic.h | 4 ++++
2 files changed, 17 insertions(+)
diff --git a/drivers/gpu/drm/drm_panic.c b/drivers/gpu/drm/drm_panic.c
index 362a696ec48a..c68167cd4c08 100644
--- a/drivers/gpu/drm/drm_panic.c
+++ b/drivers/gpu/drm/drm_panic.c
@@ -348,6 +348,19 @@ void drm_panic_unregister(struct drm_device *dev)
}
EXPORT_SYMBOL(drm_panic_unregister);
+/**
+ * drm_panic_is_format_supported()
+ * @format: a fourcc color code
+ * Returns: true if supported, false otherwise.
+ *
+ * Check if drm_panic will be able to use this color format.
+ */
+bool drm_panic_is_format_supported(u32 format)
+{
+ return drm_fb_convert_from_xrgb8888(0xffffff, format) != 0;
+}
+EXPORT_SYMBOL(drm_panic_is_format_supported);
+
/**
* drm_panic_init() - Initialize drm-panic subsystem
*
diff --git a/include/drm/drm_panic.h b/include/drm/drm_panic.h
index bcf392b6fa1b..1549c8eb8dcc 100644
--- a/include/drm/drm_panic.h
+++ b/include/drm/drm_panic.h
@@ -84,6 +84,8 @@ void drm_panic_exit(void);
void drm_panic_register(struct drm_device *dev);
void drm_panic_unregister(struct drm_device *dev);
+bool drm_panic_is_format_supported(u32 format);
+
#else
static inline void drm_panic_init(void) {}
@@ -92,6 +94,8 @@ static inline void drm_panic_exit(void) {}
static inline void drm_panic_register(struct drm_device *dev) {}
static inline void drm_panic_unregister(struct drm_device *dev) {}
+bool drm_panic_is_format_supported(u32 format) {return false; }
+
#endif
#endif /* __DRM_PANIC_H__ */
--
2.43.0
More information about the dri-devel
mailing list