From aec36eccabe64f895bf7586648e8c541e6ca6969 Mon Sep 17 00:00:00 2001 From: Nick Chung Date: Fri, 10 Jun 2022 03:54:10 +0000 Subject: Event: Add more logs for event queue status. Bug: 221696264 Test: CTS and GCA Signed-off-by: Nick Chung Change-Id: I5d47675108eb8b38f26e801f5ba7ef4af2c937e4 --- lwis_event.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lwis_event.c b/lwis_event.c index 5702e17..53fdfb8 100644 --- a/lwis_event.c +++ b/lwis_event.c @@ -552,6 +552,9 @@ static int lwis_client_event_push_back(struct lwis_client *lwis_client, struct lwis_event_entry *event) { unsigned long flags; + int64_t timestamp_diff; + int64_t current_timestamp; + struct lwis_event_entry *first_event; if (!event) { dev_err(lwis_client->lwis_dev->dev, "NULL event provided\n"); @@ -561,6 +564,14 @@ static int lwis_client_event_push_back(struct lwis_client *lwis_client, spin_lock_irqsave(&lwis_client->event_lock, flags); if (lwis_client->event_queue_size >= MAX_NUM_PENDING_EVENTS) { + /* Get the front of the list */ + first_event = + list_first_entry(&lwis_client->event_queue, struct lwis_event_entry, node); + current_timestamp = lwis_get_time(); + timestamp_diff = ktime_sub(current_timestamp, first_event->event_info.timestamp_ns); + lwis_dev_err_ratelimited(lwis_client->lwis_dev->dev, + "First event in queue ID: 0x%llx, current timestamp %lld ns, diff: %lld ns\n", + event->event_info.event_id, current_timestamp, timestamp_diff); spin_unlock_irqrestore(&lwis_client->event_lock, flags); /* Send an error event to userspace to handle the overflow */ lwis_device_error_event_emit(lwis_client->lwis_dev, -- cgit v1.2.3