Re: [PATCH] media: coda: Keep metas sync with hardware fifo

From: Philipp Zabel
Date: Thu Nov 11 2021 - 12:03:09 EST


Hi Benjamin,

On Mon, 2021-11-08 at 15:24 +0100, Benjamin Gaignard wrote:
> After updating the output fifo position be sure that metas are also
> synchronised with this position.
>
> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxxxxx>
> ---
>  drivers/media/platform/coda/coda-bit.c | 6 ++++++
>  1 file changed, 6 insertions(+)
>
> diff --git a/drivers/media/platform/coda/coda-bit.c b/drivers/media/platform/coda/coda-bit.c
> index c484c008ab02..28c56286b0de 100644
> --- a/drivers/media/platform/coda/coda-bit.c
> +++ b/drivers/media/platform/coda/coda-bit.c
> @@ -2315,6 +2315,12 @@ static void coda_finish_decode(struct coda_ctx *ctx)
>   /* Update kfifo out pointer from coda bitstream read pointer */
>   coda_kfifo_sync_from_device(ctx);
>
> + /*
> + * After updating the read pointer, we need to check if
> + * any metas are consumed and should be released.
> + */
> + coda_decoder_drop_used_metas(ctx);
> +

This doesn't look right. If you drop all metas seen by the decoder right
away, they can't be copied into the decoded picture's meta slot later in
this function. I'd expect you run into the "empty timestamp list!"
errors if you do this.

regards
Philipp