msm: camera: isp: configure correct pixel per line with Testgen

When camera session is operated with isp test generator signal
configure pixel per line as per testgen configuration not with
default pix camif config.

Change-Id: I444bb9efefea764806bea13ffbd0e136f9af2f6b
Signed-off-by: Lokesh Kumar Aakulu <lkumar@codeaurora.org>
This commit is contained in:
Lokesh Kumar Aakulu 2017-03-24 19:56:16 +05:30 committed by Gerrit - the friendly Code Review server
parent 6cec3ff5eb
commit 9fe17dd1ff
2 changed files with 16 additions and 4 deletions

View file

@ -1360,6 +1360,7 @@ void msm_vfe47_cfg_camif(struct vfe_device *vfe_dev,
{
uint16_t first_pixel, last_pixel, first_line, last_line;
struct msm_vfe_camif_cfg *camif_cfg = &pix_cfg->camif_cfg;
struct msm_vfe_testgen_cfg *testgen_cfg = &pix_cfg->testgen_cfg;
uint32_t val, subsample_period, subsample_pattern;
uint32_t irq_sub_period = 32;
uint32_t frame_sub_period = 32;
@ -1383,8 +1384,15 @@ void msm_vfe47_cfg_camif(struct vfe_device *vfe_dev,
subsample_period = camif_cfg->subsample_cfg.irq_subsample_period;
subsample_pattern = camif_cfg->subsample_cfg.irq_subsample_pattern;
msm_camera_io_w((camif_cfg->lines_per_frame - 1) << 16 |
(camif_cfg->pixels_per_line - 1), vfe_dev->vfe_base + 0x484);
if (pix_cfg->input_mux == TESTGEN)
msm_camera_io_w((testgen_cfg->lines_per_frame - 1) << 16 |
(testgen_cfg->pixels_per_line - 1),
vfe_dev->vfe_base + 0x484);
else
msm_camera_io_w((camif_cfg->lines_per_frame - 1) << 16 |
(camif_cfg->pixels_per_line - 1),
vfe_dev->vfe_base + 0x484);
if (bus_sub_en) {
val = msm_camera_io_r(vfe_dev->vfe_base + 0x47C);
val &= 0xFFFFFFDF;

View file

@ -479,8 +479,12 @@ static int msm_isp_cfg_pix(struct vfe_device *vfe_dev,
if (input_cfg->d.pix_cfg.input_mux == CAMIF ||
input_cfg->d.pix_cfg.input_mux == TESTGEN) {
vfe_dev->axi_data.src_info[VFE_PIX_0].width =
input_cfg->d.pix_cfg.camif_cfg.pixels_per_line;
if (input_cfg->d.pix_cfg.input_mux == CAMIF)
vfe_dev->axi_data.src_info[VFE_PIX_0].width =
input_cfg->d.pix_cfg.camif_cfg.pixels_per_line;
if (input_cfg->d.pix_cfg.input_mux == TESTGEN)
vfe_dev->axi_data.src_info[VFE_PIX_0].width =
input_cfg->d.pix_cfg.testgen_cfg.pixels_per_line;
if (input_cfg->d.pix_cfg.camif_cfg.subsample_cfg.
sof_counter_step > 0) {
vfe_dev->axi_data.src_info[VFE_PIX_0].