From 992fc6d6d31391d2eeff80b8f7f1992fe5e40fe0 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Tue, 29 Jun 2021 12:50:58 +0100 Subject: [PATCH] staging: vc04_services: isp: Set the YUV420/YVU420 format stride to 64 bytes The bcm2835 ISP requires the base address of all input/output planes to have 32 byte alignment. Using a Y stride of 32 bytes would not guarantee that the V plane would fulfil this, e.g. a height of 650 lines would mean the V plane buffer is not 32 byte aligned for YUV420 formats. Having a Y stride of 64 bytes would ensure both U and V planes have a 32 byte alignment, as the luma height will always be an even number of lines. Signed-off-by: Naushir Patuck --- drivers/staging/vc04_services/bcm2835-isp/bcm2835-isp-fmts.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/drivers/staging/vc04_services/bcm2835-isp/bcm2835-isp-fmts.h +++ b/drivers/staging/vc04_services/bcm2835-isp/bcm2835-isp-fmts.h @@ -48,7 +48,7 @@ static const struct bcm2835_isp_fmt supp /* YUV formats */ .fourcc = V4L2_PIX_FMT_YUV420, .depth = 8, - .bytesperline_align = 32, + .bytesperline_align = 64, .mmal_fmt = MMAL_ENCODING_I420, .size_multiplier_x2 = 3, .colorspace_mask = V4L2_COLORSPACE_MASK_YUV, @@ -57,7 +57,7 @@ static const struct bcm2835_isp_fmt supp }, { .fourcc = V4L2_PIX_FMT_YVU420, .depth = 8, - .bytesperline_align = 32, + .bytesperline_align = 64, .mmal_fmt = MMAL_ENCODING_YV12, .size_multiplier_x2 = 3, .colorspace_mask = V4L2_COLORSPACE_MASK_YUV,