From aaa46b979e26dcdcc683b2ba011141eabf5d9507 Mon Sep 17 00:00:00 2001 From: Mansoor Aftab Date: Thu, 18 Apr 2013 12:52:57 -0700 Subject: [PATCH] msm: camera: Fix for the bus overflow issue Support only 2 streams from the VFE, which need only 4 VFE WM. We divide the UB buffer(1024 * 128 bits) equally into 4 VFE WM and stats WM. Correct the offset of burst length in VFE register while writing to HW. Burst length corresponds to the number of data bytes written at a time. Change-Id: I82d1b88f499f4572bd58ca29c7cc1a74615554a7 Signed-off-by: Nagesh Subba Reddy Signed-off-by: Mansoor Aftab --- drivers/media/platform/msm/camera_v2/isp/msm_isp32.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/media/platform/msm/camera_v2/isp/msm_isp32.c b/drivers/media/platform/msm/camera_v2/isp/msm_isp32.c index b981653e65b..1d9dded99de 100644 --- a/drivers/media/platform/msm/camera_v2/isp/msm_isp32.c +++ b/drivers/media/platform/msm/camera_v2/isp/msm_isp32.c @@ -24,7 +24,7 @@ #define VFE32_BURST_LEN 3 #define VFE32_UB_SIZE 1024 -#define VFE32_EQUAL_SLICE_UB 117 +#define VFE32_EQUAL_SLICE_UB 204 #define VFE32_WM_BASE(idx) (0x4C + 0x18 * idx) #define VFE32_RDI_BASE(idx) (idx ? 0x734 + 0x4 * (idx - 1) : 0x06FC) #define VFE32_XBAR_BASE(idx) (0x40 + 0x4 * (idx / 4)) @@ -633,7 +633,7 @@ static void msm_vfe32_axi_cfg_wm_reg( stream_cfg_cmd->plane_cfg[plane_idx]. output_stride) << 16 | (stream_cfg_cmd->plane_cfg[plane_idx]. - output_height - 1) << 4 | VFE32_BURST_LEN >> 2; + output_height - 1) << 4 | VFE32_BURST_LEN; msm_camera_io_w(val, vfe_dev->vfe_base + wm_base + 0x14); } else { msm_camera_io_w(0x2, vfe_dev->vfe_base + wm_base); @@ -643,7 +643,7 @@ static void msm_vfe32_axi_cfg_wm_reg( stream_cfg_cmd->plane_cfg[plane_idx]. output_width) << 16 | (stream_cfg_cmd->plane_cfg[plane_idx]. - output_height - 1) << 4 | VFE32_BURST_LEN >> 2; + output_height - 1) << 4 | VFE32_BURST_LEN; msm_camera_io_w(val, vfe_dev->vfe_base + wm_base + 0x14); } return; @@ -986,7 +986,7 @@ static void msm_vfe32_get_error_mask(uint32_t *error_mask0, } struct msm_vfe_axi_hardware_info msm_vfe32_axi_hw_info = { - .num_wm = 7, + .num_wm = 4, .num_comp_mask = 3, .num_rdi = 3, .num_rdi_master = 3,