media: cedrus: Fix SUNXI tile size calculation
authorNicolas Dufresne <nicolas.dufresne@collabora.com>
Thu, 19 Aug 2021 14:00:09 +0000 (16:00 +0200)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Mon, 6 Sep 2021 07:39:36 +0000 (09:39 +0200)
commit132c88614f2b3548cd3c8979a434609019db4151
tree2f8aa79bc79bbd38caa57ba8264c6cf3b241a8db
parent31692ab9a9ef0119959f66838de74eeb37490c8d
media: cedrus: Fix SUNXI tile size calculation

Tiled formats requires full rows being allocated (even for Chroma
planes). When the number of Luma tiles is odd, we need to round up
to twice the tile width in order to roundup the number of Chroma
tiles.

This was notice with a crash running BA1_FT_C compliance test using
sunxi tiles using GStreamer. Cedrus driver would allocate 9 rows for
Luma, but only 4.5 rows for Chroma, causing userspace to crash.

Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Fixes: 50e761516f2b8 ("media: platform: Add Cedrus VPU decoder driver")
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/staging/media/sunxi/cedrus/cedrus_video.c