[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <03d3228206dbeb7f3fdb9466f84511f598ae9d65.camel@collabora.com>
Date: Thu, 11 Dec 2025 15:32:30 -0500
From: Nicolas Dufresne <nicolas.dufresne@...labora.com>
To: Kyrie Wu <kyrie.wu@...iatek.com>, Tiffany Lin
<tiffany.lin@...iatek.com>, Andrew-CT Chen <andrew-ct.chen@...iatek.com>,
Yunfei Dong <yunfei.dong@...iatek.com>, Mauro Carvalho Chehab
<mchehab@...nel.org>, Rob Herring <robh@...nel.org>, Krzysztof Kozlowski
<krzk+dt@...nel.org>, Conor Dooley <conor+dt@...nel.org>, Matthias Brugger
<matthias.bgg@...il.com>, AngeloGioacchino Del Regno
<angelogioacchino.delregno@...labora.com>, Hans Verkuil
<hverkuil@...all.nl>, Nathan Hebert <nhebert@...omium.org>, Arnd Bergmann
<arnd@...db.de>, Irui Wang <irui.wang@...iatek.com>, George Sun
<george.sun@...iatek.com>, linux-media@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-mediatek@...ts.infradead.org
Cc: Neil Armstrong <neil.armstrong@...aro.org>, Andrzej Pietrasiewicz
<andrzejtp2010@...il.com>, Yilong Zhou <yilong.zhou@...iatek.com>
Subject: Re: [PATCH v6 07/10] media: mediatek: vcodec: Fix vp9 4096x2176
fail for profile2
Le mardi 02 décembre 2025 à 15:40 +0800, Kyrie Wu a écrit :
> The DRAM address of the VP9 decoder tile info buffers may require
> as much as 36bits for 4096x2176 resolution. Fold the 4 most significant
> bits into the lower (padding) four bits of address.
>
> Fixes: 5d418351ca8f1 ("media: mediatek: vcodec: support stateless VP9 decoding")
>
> Signed-off-by: Kyrie Wu <kyrie.wu@...iatek.com>
> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@...labora.com>
Reviewed-by: Nicolas Dufresne <nicolas.dufresne@...labora.com>
> ---
> .../mediatek/vcodec/decoder/vdec/vdec_vp9_req_lat_if.c | 10 +++++++++-
> 1 file changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp9_req_lat_if.c b/drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp9_req_lat_if.c
> index 36a87b455d11..eca6280098be 100644
> --- a/drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp9_req_lat_if.c
> +++ b/drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp9_req_lat_if.c
> @@ -1134,9 +1134,17 @@ static int vdec_vp9_slice_setup_tile_buffer(struct vdec_vp9_slice_instance *inst
> return -EINVAL;
> }
> tiles->size[i][j] = size;
> + /*
> + * If the system supports 64-bit DMA addresses, the upper 4 bits
> + * of the address are also encoded into the buffer entry.
> + * The buffer pointer (tb) is incremented after each entry is written.
> + */
> if (tiles->mi_rows[i]) {
> *tb++ = (size << 3) + ((offset << 3) & 0x7f);
> - *tb++ = pa & ~0xf;
> + *tb = pa & GENMASK(31, 4);
> + if (IS_ENABLED(CONFIG_ARCH_DMA_ADDR_T_64BIT))
> + *tb |= (pa >> 32) & GENMASK(3, 0);
> + tb++;
> *tb++ = (pa << 3) & 0x7f;
> mi_row = (tiles->mi_rows[i] - 1) & 0x1ff;
> mi_col = (tiles->mi_cols[j] - 1) & 0x3f;
Download attachment "signature.asc" of type "application/pgp-signature" (229 bytes)
Powered by blists - more mailing lists