Patch "media: cedrus: Fix SUNXI tile size calculation" has been added to the 5.14-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    media: cedrus: Fix SUNXI tile size calculation

to the 5.14-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     media-cedrus-fix-sunxi-tile-size-calculation.patch
and it can be found in the queue-5.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit c83c5c7bb48af1177f0320d944fee9b4f5cba49f
Author: Nicolas Dufresne <nicolas.dufresne@xxxxxxxxxxxxx>
Date:   Thu Aug 19 16:00:09 2021 +0200

    media: cedrus: Fix SUNXI tile size calculation
    
    [ Upstream commit 132c88614f2b3548cd3c8979a434609019db4151 ]
    
    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@xxxxxxxxxxxxx>
    Fixes: 50e761516f2b8 ("media: platform: Add Cedrus VPU decoder driver")
    Reviewed-by: Jernej Skrabec <jernej.skrabec@xxxxxxxxx>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xxxxxxxxx>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/staging/media/sunxi/cedrus/cedrus_video.c b/drivers/staging/media/sunxi/cedrus/cedrus_video.c
index 32c13ecb22d8..a8168ac2fbd0 100644
--- a/drivers/staging/media/sunxi/cedrus/cedrus_video.c
+++ b/drivers/staging/media/sunxi/cedrus/cedrus_video.c
@@ -135,7 +135,7 @@ void cedrus_prepare_format(struct v4l2_pix_format *pix_fmt)
 		sizeimage = bytesperline * height;
 
 		/* Chroma plane size. */
-		sizeimage += bytesperline * height / 2;
+		sizeimage += bytesperline * ALIGN(height, 64) / 2;
 
 		break;
 



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux