[Patch v3] media: s5p-mfc: Corrected NV12M/NV21M plane-sizes

From: Aakarsh Jain
Date: Wed Mar 05 2025 - 01:22:53 EST


There is a possibility of getting page fault if the overall
buffer size is not aligned to 256bytes. Since MFC does read
operation only and it won't corrupt the data values even if
it reads the extra bytes.
Corrected luma and chroma plane sizes for V4L2_PIX_FMT_NV12M
and V4L2_PIX_FMT_NV21M pixel format.

Acked-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
Reviewed-by: Nicolas Dufresne <nicolas.dufresne@xxxxxxxxxxxxx>
Suggested-by: Hans Verkuil <hverkuil-cisco@xxxxxxxxx>
Signed-off-by: Aakarsh Jain <aakarsh.jain@xxxxxxxxxxx>
---
changelog:
v2->v3
Patch link:https://patchwork.kernel.org/project/linux-media/patch/20250226102251.9040-1-aakarsh.jain@xxxxxxxxxxx/
Fixed checkpatch warning.

v1->v2
Patch link: https://patchwork.kernel.org/project/linux-media/patch/20240806115714.29828-1-aakarsh.jain@xxxxxxxxxxx/
Removed duplicate code and aligned luma and chroma size
to multiple of 256bytes as suggested by Hans.
drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c
index 73f7af674c01..4cf12f33d706 100644
--- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c
+++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c
@@ -549,8 +549,9 @@ static void s5p_mfc_enc_calc_src_size_v6(struct s5p_mfc_ctx *ctx)
case V4L2_PIX_FMT_NV21M:
ctx->stride[0] = ALIGN(ctx->img_width, S5P_FIMV_NV12M_HALIGN_V6);
ctx->stride[1] = ALIGN(ctx->img_width, S5P_FIMV_NV12M_HALIGN_V6);
- ctx->luma_size = ctx->stride[0] * ALIGN(ctx->img_height, 16);
- ctx->chroma_size = ctx->stride[0] * ALIGN(ctx->img_height / 2, 16);
+ ctx->luma_size = ALIGN(ctx->stride[0] * ALIGN(ctx->img_height, 16), 256);
+ ctx->chroma_size = ALIGN(ctx->stride[0] *
+ ALIGN(ctx->img_height / 2, 16), 256);
break;
case V4L2_PIX_FMT_YUV420M:
case V4L2_PIX_FMT_YVU420M:
--
2.17.1