From 836b73ab5f777640b393923fdf29063130bf8b2b Mon Sep 17 00:00:00 2001 From: Darshana Patil Date: Fri, 21 Jun 2019 18:09:00 -0700 Subject: [PATCH] msm: vidc: fix slice command buffer sizes Fix HEVC slice command buffer sizes. Change-Id: I87138c75e7476e6da6c16cefed00d9a3f405b90e Signed-off-by: Darshana Patil --- msm/vidc/msm_vidc_buffer_calculations.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/msm/vidc/msm_vidc_buffer_calculations.c b/msm/vidc/msm_vidc_buffer_calculations.c index abe4a8ebb4d7..212f4a5d7bbf 100644 --- a/msm/vidc/msm_vidc_buffer_calculations.c +++ b/msm/vidc/msm_vidc_buffer_calculations.c @@ -1109,11 +1109,13 @@ static inline u32 size_h265d_bse_cmd_buf(u32 width, u32 height) { u32 size; - size = ALIGN(((ALIGN(width, LCU_MAX_SIZE_PELS) / LCU_MIN_SIZE_PELS) + - (ALIGN(height, LCU_MAX_SIZE_PELS) / LCU_MIN_SIZE_PELS)) * - NUM_HW_PIC_BUF, VENUS_DMA_ALIGNMENT); + size = (ALIGN(width, LCU_MAX_SIZE_PELS) / LCU_MIN_SIZE_PELS) + + (ALIGN(height, LCU_MAX_SIZE_PELS) / LCU_MIN_SIZE_PELS) * + NUM_HW_PIC_BUF; size = min_t(u32, size, H265D_MAX_SLICE + 1); size = 2 * size * SIZE_H265D_BSE_CMD_PER_BUF; + size = ALIGN(size, VENUS_DMA_ALIGNMENT); + return size; } @@ -1121,13 +1123,13 @@ static inline u32 size_h265d_vpp_cmd_buf(u32 width, u32 height) { u32 size = 0; - size = ALIGN(( - (ALIGN(width, LCU_MAX_SIZE_PELS) / LCU_MIN_SIZE_PELS) + - (ALIGN(height, LCU_MAX_SIZE_PELS) / LCU_MIN_SIZE_PELS)) * - NUM_HW_PIC_BUF, VENUS_DMA_ALIGNMENT); + size = (ALIGN(width, LCU_MAX_SIZE_PELS) / LCU_MIN_SIZE_PELS) + + (ALIGN(height, LCU_MAX_SIZE_PELS) / LCU_MIN_SIZE_PELS) * + NUM_HW_PIC_BUF; size = min_t(u32, size, H265D_MAX_SLICE + 1); size = ALIGN(size, 4); size = 2 * size * SIZE_H265D_VPP_CMD_PER_BUF; + size = ALIGN(size, VENUS_DMA_ALIGNMENT); return size; }