Loading drivers/media/platform/msm/camera_v2/isp/msm_isp44.c +17 −4 Original line number Original line Diff line number Diff line Loading @@ -247,8 +247,8 @@ static void msm_vfe44_init_hardware_reg(struct vfe_device *vfe_dev) msm_camera_io_w(0xFBFFFFFF, vfe_dev->vfe_base + 0x14); msm_camera_io_w(0xFBFFFFFF, vfe_dev->vfe_base + 0x14); msm_camera_io_w(0xC001FF7F, vfe_dev->vfe_base + 0x974); msm_camera_io_w(0xC001FF7F, vfe_dev->vfe_base + 0x974); /* BUS_CFG */ /* BUS_CFG */ msm_camera_io_w(0x10000003, vfe_dev->vfe_base + 0x50); msm_camera_io_w(0x10000001, vfe_dev->vfe_base + 0x50); msm_camera_io_w(0xE10000F3, vfe_dev->vfe_base + 0x28); msm_camera_io_w(0xE00000F3, vfe_dev->vfe_base + 0x28); msm_camera_io_w_mb(0xFFFFFFFF, vfe_dev->vfe_base + 0x2C); msm_camera_io_w_mb(0xFFFFFFFF, vfe_dev->vfe_base + 0x2C); msm_camera_io_w(0xFFFFFFFF, vfe_dev->vfe_base + 0x30); msm_camera_io_w(0xFFFFFFFF, vfe_dev->vfe_base + 0x30); msm_camera_io_w_mb(0xFFFFFFFF, vfe_dev->vfe_base + 0x34); msm_camera_io_w_mb(0xFFFFFFFF, vfe_dev->vfe_base + 0x34); Loading Loading @@ -531,7 +531,7 @@ static long msm_vfe44_reset_hardware(struct vfe_device *vfe_dev, msm_camera_io_w(0xFEFFFEFF, vfe_dev->vfe_base + 0x34); msm_camera_io_w(0xFEFFFEFF, vfe_dev->vfe_base + 0x34); msm_camera_io_w(0x1, vfe_dev->vfe_base + 0x24); msm_camera_io_w(0x1, vfe_dev->vfe_base + 0x24); vfe_dev->hw_info->vfe_ops.axi_ops. vfe_dev->hw_info->vfe_ops.axi_ops. reload_wm(vfe_dev, 0x0003FFFF); reload_wm(vfe_dev, 0x0001FFFF); } } if (blocking_call) { if (blocking_call) { Loading Loading @@ -794,6 +794,16 @@ static void msm_vfe44_cfg_fetch_engine(struct vfe_device *vfe_dev, __func__, fe_cfg->buf_width, fe_cfg->buf_height, __func__, fe_cfg->buf_width, fe_cfg->buf_height, fe_cfg->fetch_width, fe_cfg->fetch_height); fe_cfg->fetch_width, fe_cfg->fetch_height); temp = msm_camera_io_r(vfe_dev->vfe_base + 0x50); temp &= 0xFFFFFFFD; temp |= (1 << 1); msm_camera_io_w(temp, vfe_dev->vfe_base + 0x50); temp = msm_camera_io_r(vfe_dev->vfe_base + 0x28); temp &= 0xFEFFFFFF; temp |= (1 << 24); msm_camera_io_w(temp, vfe_dev->vfe_base + 0x28); temp = fe_cfg->fetch_height - 1; temp = fe_cfg->fetch_height - 1; msm_camera_io_w(temp & 0xFFF, vfe_dev->vfe_base + 0x238); msm_camera_io_w(temp & 0xFFF, vfe_dev->vfe_base + 0x238); Loading @@ -816,7 +826,10 @@ static void msm_vfe44_cfg_fetch_engine(struct vfe_device *vfe_dev, msm_camera_io_w(0xF6543210, vfe_dev->vfe_base + 0x248); msm_camera_io_w(0xF6543210, vfe_dev->vfe_base + 0x248); msm_camera_io_w(0xF, vfe_dev->vfe_base + 0x264); msm_camera_io_w(0xF, vfe_dev->vfe_base + 0x264); msm_camera_io_w_mb(0x20000, vfe_dev->vfe_base + 0x1C); temp = msm_camera_io_r(vfe_dev->vfe_base + 0x1C); temp |= 2 << 16; msm_camera_io_w(temp, vfe_dev->vfe_base + 0x1C); vfe_dev->hw_info->vfe_ops.core_ops.reg_update(vfe_dev); vfe_dev->hw_info->vfe_ops.core_ops.reg_update(vfe_dev); } else { } else { pr_err("%s: Invalid mux configuration - mux: %d", __func__, pr_err("%s: Invalid mux configuration - mux: %d", __func__, Loading drivers/media/platform/msm/camera_v2/isp/msm_isp46.c +1 −1 Original line number Original line Diff line number Diff line Loading @@ -514,7 +514,7 @@ static long msm_vfe46_reset_hardware(struct vfe_device *vfe_dev, msm_camera_io_w(0xFFFFFEFF, vfe_dev->vfe_base + 0x68); msm_camera_io_w(0xFFFFFEFF, vfe_dev->vfe_base + 0x68); msm_camera_io_w(0x1, vfe_dev->vfe_base + 0x58); msm_camera_io_w(0x1, vfe_dev->vfe_base + 0x58); vfe_dev->hw_info->vfe_ops.axi_ops. vfe_dev->hw_info->vfe_ops.axi_ops. reload_wm(vfe_dev, 0x0003FFFF); reload_wm(vfe_dev, 0x0001FFFF); } } if (blocking_call) { if (blocking_call) { Loading Loading
drivers/media/platform/msm/camera_v2/isp/msm_isp44.c +17 −4 Original line number Original line Diff line number Diff line Loading @@ -247,8 +247,8 @@ static void msm_vfe44_init_hardware_reg(struct vfe_device *vfe_dev) msm_camera_io_w(0xFBFFFFFF, vfe_dev->vfe_base + 0x14); msm_camera_io_w(0xFBFFFFFF, vfe_dev->vfe_base + 0x14); msm_camera_io_w(0xC001FF7F, vfe_dev->vfe_base + 0x974); msm_camera_io_w(0xC001FF7F, vfe_dev->vfe_base + 0x974); /* BUS_CFG */ /* BUS_CFG */ msm_camera_io_w(0x10000003, vfe_dev->vfe_base + 0x50); msm_camera_io_w(0x10000001, vfe_dev->vfe_base + 0x50); msm_camera_io_w(0xE10000F3, vfe_dev->vfe_base + 0x28); msm_camera_io_w(0xE00000F3, vfe_dev->vfe_base + 0x28); msm_camera_io_w_mb(0xFFFFFFFF, vfe_dev->vfe_base + 0x2C); msm_camera_io_w_mb(0xFFFFFFFF, vfe_dev->vfe_base + 0x2C); msm_camera_io_w(0xFFFFFFFF, vfe_dev->vfe_base + 0x30); msm_camera_io_w(0xFFFFFFFF, vfe_dev->vfe_base + 0x30); msm_camera_io_w_mb(0xFFFFFFFF, vfe_dev->vfe_base + 0x34); msm_camera_io_w_mb(0xFFFFFFFF, vfe_dev->vfe_base + 0x34); Loading Loading @@ -531,7 +531,7 @@ static long msm_vfe44_reset_hardware(struct vfe_device *vfe_dev, msm_camera_io_w(0xFEFFFEFF, vfe_dev->vfe_base + 0x34); msm_camera_io_w(0xFEFFFEFF, vfe_dev->vfe_base + 0x34); msm_camera_io_w(0x1, vfe_dev->vfe_base + 0x24); msm_camera_io_w(0x1, vfe_dev->vfe_base + 0x24); vfe_dev->hw_info->vfe_ops.axi_ops. vfe_dev->hw_info->vfe_ops.axi_ops. reload_wm(vfe_dev, 0x0003FFFF); reload_wm(vfe_dev, 0x0001FFFF); } } if (blocking_call) { if (blocking_call) { Loading Loading @@ -794,6 +794,16 @@ static void msm_vfe44_cfg_fetch_engine(struct vfe_device *vfe_dev, __func__, fe_cfg->buf_width, fe_cfg->buf_height, __func__, fe_cfg->buf_width, fe_cfg->buf_height, fe_cfg->fetch_width, fe_cfg->fetch_height); fe_cfg->fetch_width, fe_cfg->fetch_height); temp = msm_camera_io_r(vfe_dev->vfe_base + 0x50); temp &= 0xFFFFFFFD; temp |= (1 << 1); msm_camera_io_w(temp, vfe_dev->vfe_base + 0x50); temp = msm_camera_io_r(vfe_dev->vfe_base + 0x28); temp &= 0xFEFFFFFF; temp |= (1 << 24); msm_camera_io_w(temp, vfe_dev->vfe_base + 0x28); temp = fe_cfg->fetch_height - 1; temp = fe_cfg->fetch_height - 1; msm_camera_io_w(temp & 0xFFF, vfe_dev->vfe_base + 0x238); msm_camera_io_w(temp & 0xFFF, vfe_dev->vfe_base + 0x238); Loading @@ -816,7 +826,10 @@ static void msm_vfe44_cfg_fetch_engine(struct vfe_device *vfe_dev, msm_camera_io_w(0xF6543210, vfe_dev->vfe_base + 0x248); msm_camera_io_w(0xF6543210, vfe_dev->vfe_base + 0x248); msm_camera_io_w(0xF, vfe_dev->vfe_base + 0x264); msm_camera_io_w(0xF, vfe_dev->vfe_base + 0x264); msm_camera_io_w_mb(0x20000, vfe_dev->vfe_base + 0x1C); temp = msm_camera_io_r(vfe_dev->vfe_base + 0x1C); temp |= 2 << 16; msm_camera_io_w(temp, vfe_dev->vfe_base + 0x1C); vfe_dev->hw_info->vfe_ops.core_ops.reg_update(vfe_dev); vfe_dev->hw_info->vfe_ops.core_ops.reg_update(vfe_dev); } else { } else { pr_err("%s: Invalid mux configuration - mux: %d", __func__, pr_err("%s: Invalid mux configuration - mux: %d", __func__, Loading
drivers/media/platform/msm/camera_v2/isp/msm_isp46.c +1 −1 Original line number Original line Diff line number Diff line Loading @@ -514,7 +514,7 @@ static long msm_vfe46_reset_hardware(struct vfe_device *vfe_dev, msm_camera_io_w(0xFFFFFEFF, vfe_dev->vfe_base + 0x68); msm_camera_io_w(0xFFFFFEFF, vfe_dev->vfe_base + 0x68); msm_camera_io_w(0x1, vfe_dev->vfe_base + 0x58); msm_camera_io_w(0x1, vfe_dev->vfe_base + 0x58); vfe_dev->hw_info->vfe_ops.axi_ops. vfe_dev->hw_info->vfe_ops.axi_ops. reload_wm(vfe_dev, 0x0003FFFF); reload_wm(vfe_dev, 0x0001FFFF); } } if (blocking_call) { if (blocking_call) { Loading