[PATCH 12/18] media: coda: Fix loglevel for seq mismatch print

From: Sergey Khimich
Date: Fri Mar 14 2025 - 11:32:41 EST


From: Sergey Khimich <serghox@xxxxxxxxx>

During decoding process some files (conceivably with
max_dec_frame_buffering == 16) a situation may arise,
in which after getting 'DEC_PIC_RUN' interrupt we have
"-1" in 'CODA_RET_DEC_PIC_CUR_IDX' register. In such case
it means that current picture has been decoded but there is no
frame buffer to store the decoded picture (this is a kind of
error situation). The documentation says that in such situation
we have to rerun decoding the frame.

On the other hand in the driver such situation leads to
sequence number discrepancy whish in general is not good.
Also for every discrepancy we get error message. But in real
user scenarios (playing video) there is no any errors
caused by this sequence number discrepancy.
Althogh there is no real errors, lots of "error" messages, in turn,
lead to decreasing fps and dropping frames in user space utils,
e.g. in Gstreamer.

The following Gstreamer log is obtained _without_ this patch:
last-message = rendered: 17, dropped: 0, current: 33.76, average: 33.76
last-message = rendered: 33, dropped: 0, current: 30.01, average: 31.83
last-message = rendered: 49, dropped: 0, current: 30.01, average: 31.21
last-message = rendered: 65, dropped: 0, current: 30.00, average: 30.90
last-message = rendered: 81, dropped: 0, current: 30.00, average: 30.72
last-message = rendered: 97, dropped: 0, current: 30.00, average: 30.60
last-message = rendered: 112, dropped: 0, current: 30.00, average: 30.52
last-message = rendered: 127, dropped: 0, current: 30.00, average: 30.46
last-message = rendered: 142, dropped: 0, current: 30.00, average: 30.41
last-message = rendered: 157, dropped: 0, current: 30.00, average: 30.37
last-message = rendered: 173, dropped: 0, current: 30.00, average: 30.33
last-message = rendered: 189, dropped: 0, current: 30.00, average: 30.30
last-message = rendered: 205, dropped: 0, current: 30.00, average: 30.28
last-message = rendered: 220, dropped: 0, current: 30.00, average: 30.26
last-message = rendered: 236, dropped: 0, current: 30.00, average: 30.24
last-message = rendered: 251, dropped: 0, current: 24.84, average: 29.86
last-message = rendered: 264, dropped: 1, fps: 24.55, drop rate: 1.89
last-message = rendered: 279, dropped: 1, current: 30.00, average: 29.57

The next log is obtained _with_ this patch:
last-message = rendered: 17, dropped: 0, current: 33.76, average: 33.76
last-message = rendered: 33, dropped: 0, current: 30.03, average: 31.84
last-message = rendered: 49, dropped: 0, current: 30.01, average: 31.22
last-message = rendered: 65, dropped: 0, current: 30.00, average: 30.91
last-message = rendered: 80, dropped: 0, current: 30.00, average: 30.73
last-message = rendered: 96, dropped: 0, current: 30.00, average: 30.61
last-message = rendered: 112, dropped: 0, current: 30.00, average: 30.52
last-message = rendered: 128, dropped: 0, current: 30.00, average: 30.46
last-message = rendered: 144, dropped: 0, current: 30.00, average: 30.40
last-message = rendered: 160, dropped: 0, current: 30.00, average: 30.36
last-message = rendered: 175, dropped: 0, current: 30.00, average: 30.33
last-message = rendered: 191, dropped: 0, current: 30.00, average: 30.30
last-message = rendered: 207, dropped: 0, current: 30.00, average: 30.28
last-message = rendered: 223, dropped: 0, current: 30.00, average: 30.26
last-message = rendered: 239, dropped: 0, current: 30.01, average: 30.24
last-message = rendered: 254, dropped: 0, current: 30.00, average: 30.23
last-message = rendered: 269, dropped: 0, current: 30.00, average: 30.22
last-message = rendered: 285, dropped: 0, current: 30.00, average: 30.20

So it is better to lower the message priority.

Signed-off-by: Sergey Khimich <serghox@xxxxxxxxx>
---
drivers/media/platform/chips-media/coda/coda-bit.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/media/platform/chips-media/coda/coda-bit.c b/drivers/media/platform/chips-media/coda/coda-bit.c
index c323bc96b998..50350d657f91 100644
--- a/drivers/media/platform/chips-media/coda/coda-bit.c
+++ b/drivers/media/platform/chips-media/coda/coda-bit.c
@@ -2466,10 +2466,10 @@ static void coda_finish_decode(struct coda_ctx *ctx)
* from doing different things based on the format.
*/
if ((sequence & 0xffff) != (meta->sequence & 0xffff)) {
- v4l2_err(&dev->v4l2_dev,
- "sequence number mismatch (%d(%d) != %d)\n",
- sequence, ctx->sequence_offset,
- meta->sequence);
+ v4l2_warn(&dev->v4l2_dev,
+ "sequence number mismatch (%d(%d) != %d)\n",
+ sequence, ctx->sequence_offset,
+ meta->sequence);
}
decoded_frame->meta = *meta;
kfree(meta);
--
2.30.2