It's possible to get multiple events in a single frame/flip, so add an
option to print them all.

Signed-off-by: Mihail Atanassov <mihail.atanas...@arm.com>
---
 drivers/gpu/drm/arm/display/komeda/komeda_dev.h   | 2 ++
 drivers/gpu/drm/arm/display/komeda/komeda_event.c | 3 ++-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_dev.h 
b/drivers/gpu/drm/arm/display/komeda/komeda_dev.h
index d9fc9c48859a..15f52e304c08 100644
--- a/drivers/gpu/drm/arm/display/komeda/komeda_dev.h
+++ b/drivers/gpu/drm/arm/display/komeda/komeda_dev.h
@@ -224,6 +224,8 @@ struct komeda_dev {
 #define KOMEDA_DEV_PRINT_INFO_EVENTS BIT(2)
        /* Dump DRM state on an error or warning event. */
 #define KOMEDA_DEV_PRINT_DUMP_STATE_ON_EVENT BIT(8)
+       /* Disable rate limiting of event prints (normally one per commit) */
+#define KOMEDA_DEV_PRINT_DISABLE_RATELIMIT BIT(12)
 };
 
 static inline bool
diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_event.c 
b/drivers/gpu/drm/arm/display/komeda/komeda_event.c
index bf88463bb4d9..86e33fed8a91 100644
--- a/drivers/gpu/drm/arm/display/komeda/komeda_event.c
+++ b/drivers/gpu/drm/arm/display/komeda/komeda_event.c
@@ -119,7 +119,8 @@ void komeda_print_events(struct komeda_events *evts, struct 
drm_device *dev)
        /* reduce the same msg print, only print the first evt for one frame */
        if (evts->global || is_new_frame(evts))
                en_print = true;
-       if (!en_print)
+       if (!(err_verbosity & KOMEDA_DEV_PRINT_DISABLE_RATELIMIT)
+           && !en_print)
                return;
 
        if (err_verbosity & KOMEDA_DEV_PRINT_ERR_EVENTS)
-- 
2.23.0

Reply via email to