media: coda: clear error return value before picture run
authorPhilipp Zabel <p.zabel@pengutronix.de>
Mon, 8 Apr 2019 12:32:49 +0000 (08:32 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 31 May 2019 13:46:17 +0000 (06:46 -0700)
[ Upstream commit bbeefa7357a648afe70e7183914c87c3878d528d ]

The error return value is not written by some firmware codecs, such as
MPEG-2 decode on CodaHx4. Clear the error return value before starting
the picture run to avoid misinterpreting unrelated values returned by
sequence initialization as error return value.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/media/platform/coda/coda-bit.c

index d20d3df..a3cfefd 100644 (file)
@@ -1999,6 +1999,9 @@ static int coda_prepare_decode(struct coda_ctx *ctx)
        /* Clear decode success flag */
        coda_write(dev, 0, CODA_RET_DEC_PIC_SUCCESS);
 
+       /* Clear error return value */
+       coda_write(dev, 0, CODA_RET_DEC_PIC_ERR_MB);
+
        trace_coda_dec_pic_run(ctx, meta);
 
        coda_command_async(ctx, CODA_COMMAND_PIC_RUN);