From 53bcfe5906ca150c0c0c8db842c4d7ea2e889029 Mon Sep 17 00:00:00 2001 From: Ravi Ranjan Date: Tue, 19 Jan 2021 14:22:55 +0530 Subject: [PATCH] mmm_color_format: Align NV12/NV21 formats to 128x32 NV12 and NV21 formats need to be aligned to 128x32 as per the requirement. Change-Id: Ic03ac5786703d8d46a2f2a57559ac334d4e66971 Signed-off-by: Ravi Ranjan --- include/uapi/display/media/mmm_color_fmt.h | 35 +++++++++++----------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/include/uapi/display/media/mmm_color_fmt.h b/include/uapi/display/media/mmm_color_fmt.h index 5e4d4930..49f02cd4 100644 --- a/include/uapi/display/media/mmm_color_fmt.h +++ b/include/uapi/display/media/mmm_color_fmt.h @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ /* - * Copyright (c) 2020, The Linux Foundation. All rights reserved. + * Copyright (c) 2020-2021, The Linux Foundation. All rights reserved. */ #ifndef __MMM_COLOR_FMT_INFO_H__ #define __MMM_COLOR_FMT_INFO_H__ @@ -48,10 +48,10 @@ enum mmm_color_fmts { * . . . . . . . . . . . . . . . . V * . . . . . . . . . . . . . . . . --> Buffer size alignment * - * Y_Stride : Width aligned to 512 - * UV_Stride : Width aligned to 512 - * Y_Scanlines: Height aligned to 512 - * UV_Scanlines: Height/2 aligned to 256 + * Y_Stride : Width aligned to 128 + * UV_Stride : Width aligned to 128 + * Y_Scanlines: Height aligned to 32 + * UV_Scanlines: Height/2 aligned to 16 * Total size = align(Y_Stride * Y_Scanlines * + UV_Stride * UV_Scanlines, 4096) */ @@ -83,10 +83,10 @@ enum mmm_color_fmts { * . . . . . . . . . . . . . . . . V * . . . . . . . . . . . . . . . . --> Padding & Buffer size alignment * - * Y_Stride : Width aligned to 512 - * UV_Stride : Width aligned to 512 - * Y_Scanlines: Height aligned to 512 - * UV_Scanlines: Height/2 aligned to 256 + * Y_Stride : Width aligned to 128 + * UV_Stride : Width aligned to 128 + * Y_Scanlines: Height aligned to 32 + * UV_Scanlines: Height/2 aligned to 16 * Total size = align(Y_Stride * Y_Scanlines * + UV_Stride * UV_Scanlines, 4096) */ @@ -783,12 +783,12 @@ static inline unsigned int MMM_COLOR_FMT_Y_STRIDE(unsigned int color_fmt, goto invalid_input; switch (color_fmt) { - case MMM_COLOR_FMT_NV12: - case MMM_COLOR_FMT_NV21: case MMM_COLOR_FMT_NV12_512: alignment = 512; stride = MMM_COLOR_FMT_ALIGN(width, alignment); break; + case MMM_COLOR_FMT_NV12: + case MMM_COLOR_FMT_NV21: case MMM_COLOR_FMT_NV12_UBWC: alignment = 128; stride = MMM_COLOR_FMT_ALIGN(width, alignment); @@ -826,12 +826,12 @@ static inline unsigned int MMM_COLOR_FMT_UV_STRIDE(unsigned int color_fmt, goto invalid_input; switch (color_fmt) { - case MMM_COLOR_FMT_NV21: - case MMM_COLOR_FMT_NV12: case MMM_COLOR_FMT_NV12_512: alignment = 512; stride = MMM_COLOR_FMT_ALIGN(width, alignment); break; + case MMM_COLOR_FMT_NV12: + case MMM_COLOR_FMT_NV21: case MMM_COLOR_FMT_NV12_UBWC: alignment = 128; stride = MMM_COLOR_FMT_ALIGN(width, alignment); @@ -869,11 +869,11 @@ static inline unsigned int MMM_COLOR_FMT_Y_SCANLINES(unsigned int color_fmt, goto invalid_input; switch (color_fmt) { - case MMM_COLOR_FMT_NV12: - case MMM_COLOR_FMT_NV21: case MMM_COLOR_FMT_NV12_512: alignment = 512; break; + case MMM_COLOR_FMT_NV12: + case MMM_COLOR_FMT_NV21: case MMM_COLOR_FMT_NV12_UBWC: case MMM_COLOR_FMT_P010: alignment = 32; @@ -906,11 +906,12 @@ static inline unsigned int MMM_COLOR_FMT_UV_SCANLINES(unsigned int color_fmt, goto invalid_input; switch (color_fmt) { - case MMM_COLOR_FMT_NV21: - case MMM_COLOR_FMT_NV12: + case MMM_COLOR_FMT_NV12_512: alignment = 256; break; + case MMM_COLOR_FMT_NV12: + case MMM_COLOR_FMT_NV21: case MMM_COLOR_FMT_NV12_BPP10_UBWC: case MMM_COLOR_FMT_P010_UBWC: case MMM_COLOR_FMT_P010: