]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
media: verisilicon: HEVC: Initialize start_bit field
authorBenjamin Gaignard <benjamin.gaignard@collabora.com>
Mon, 20 Jan 2025 08:10:52 +0000 (09:10 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Apr 2025 12:33:31 +0000 (14:33 +0200)
[ Upstream commit 7fcb42b3835e90ef18d68555934cf72adaf58402 ]

The HEVC driver needs to set the start_bit field explicitly to avoid
causing corrupted frames when the VP9 decoder is used in parallel. The
reason for this problem is that the VP9 and the HEVC decoder share this
register.

Fixes: cb5dd5a0fa51 ("media: hantro: Introduce G2/HEVC decoder")
Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com>
Tested-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Reviewed-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Signed-off-by: Sebastian Fricke <sebastian.fricke@collabora.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/media/platform/verisilicon/hantro_g2_hevc_dec.c

index a9d4ac84a8d8d4886fdc34becc77b3f4514fea56..d1971af5f7fa667b572434c2f055a28e6c9c1083 100644 (file)
@@ -517,6 +517,7 @@ static void set_buffers(struct hantro_ctx *ctx)
        hantro_reg_write(vpu, &g2_stream_len, src_len);
        hantro_reg_write(vpu, &g2_strm_buffer_len, src_buf_len);
        hantro_reg_write(vpu, &g2_strm_start_offset, 0);
+       hantro_reg_write(vpu, &g2_start_bit, 0);
        hantro_reg_write(vpu, &g2_write_mvs_e, 1);
 
        hantro_write_addr(vpu, G2_TILE_SIZES_ADDR, ctx->hevc_dec.tile_sizes.dma);