msm: isp: Fix offline isp

1. Configure the pixel pattern properly
2. Issue reg update before fetch engine starts

Change-Id: Ie4cb3df883e6f2ad2f30512297a836fb012e949c
Signed-off-by: Abhishek Kondaveeti <akondave@codeaurora.org>
This commit is contained in:
Abhishek Kondaveeti 2015-11-26 15:23:59 +05:30 committed by David Keitel
parent 09e5b18869
commit 45d9709b69

View file

@ -1140,7 +1140,6 @@ static int msm_vfe40_start_fetch_engine(struct vfe_device *vfe_dev,
pr_err("%s: fetch engine busy\n", __func__); pr_err("%s: fetch engine busy\n", __func__);
return -EINVAL; return -EINVAL;
} }
memset(&mapped_info, 0, sizeof(struct msm_isp_buffer_mapped_info)); memset(&mapped_info, 0, sizeof(struct msm_isp_buffer_mapped_info));
/* There is other option of passing buffer address from user, /* There is other option of passing buffer address from user,
in such case, driver needs to map the buffer and use it*/ in such case, driver needs to map the buffer and use it*/
@ -1176,6 +1175,7 @@ static int msm_vfe40_start_fetch_engine(struct vfe_device *vfe_dev,
vfe_dev->fetch_engine_info.is_busy = 1; vfe_dev->fetch_engine_info.is_busy = 1;
msm_camera_io_w(mapped_info.paddr, vfe_dev->vfe_base + 0x228); msm_camera_io_w(mapped_info.paddr, vfe_dev->vfe_base + 0x228);
msm_camera_io_w_mb(0x1, vfe_dev->vfe_base + 0x378);
msm_camera_io_w_mb(0x10000, vfe_dev->vfe_base + 0x4C); msm_camera_io_w_mb(0x10000, vfe_dev->vfe_base + 0x4C);
msm_camera_io_w_mb(0x20000, vfe_dev->vfe_base + 0x4C); msm_camera_io_w_mb(0x20000, vfe_dev->vfe_base + 0x4C);
@ -1226,7 +1226,7 @@ static void msm_vfe40_cfg_fetch_engine(struct vfe_device *vfe_dev,
msm_camera_io_w((x_size_word - 1) << 16, vfe_dev->vfe_base + 0x23C); msm_camera_io_w((x_size_word - 1) << 16, vfe_dev->vfe_base + 0x23C);
temp = msm_camera_io_r(vfe_dev->vfe_base + 0x1C); temp = msm_camera_io_r(vfe_dev->vfe_base + 0x1C);
temp |= 2 << 16; temp |= 2 << 16 | pix_cfg->pixel_pattern;
msm_camera_io_w(temp, vfe_dev->vfe_base + 0x1C); msm_camera_io_w(temp, vfe_dev->vfe_base + 0x1C);
msm_camera_io_w(x_size_word << 16 | msm_camera_io_w(x_size_word << 16 |