Loading drivers/media/platform/msm/camera_v2/isp/msm_isp40.c +10 −3 Original line number Diff line number Diff line /* Copyright (c) 2013-2016, The Linux Foundation. All rights reserved. /* Copyright (c) 2013-2017, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -1782,11 +1782,18 @@ static int msm_vfe40_axi_restart(struct vfe_device *vfe_dev, memset(&vfe_dev->error_info, 0, sizeof(vfe_dev->error_info)); atomic_set(&vfe_dev->error_info.overflow_state, NO_OVERFLOW); if (enable_camif) { if (enable_camif && vfe_dev->axi_data.src_info[VFE_PIX_0].input_mux != EXTERNAL_READ){ vfe_dev->hw_info->vfe_ops.core_ops. update_camif_state(vfe_dev, ENABLE_CAMIF); } if (vfe_dev->fetch_engine_info.is_busy == 1) { vfe_dev->fetch_engine_info.is_busy = 0; 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(0x20000, vfe_dev->vfe_base + 0x4C); } return 0; } Loading drivers/media/platform/msm/camera_v2/isp/msm_isp_axi_util.c +12 −1 Original line number Diff line number Diff line Loading @@ -2272,8 +2272,10 @@ int msm_isp_update_stream_bandwidth(struct vfe_device *vfe_dev, struct msm_vfe_axi_stream *stream_info; struct msm_vfe_axi_shared_data *axi_data = &vfe_dev->axi_data; uint64_t total_pix_bandwidth = 0, total_rdi_bandwidth = 0; uint64_t total_fe_bandwidth = 0; uint32_t num_pix_streams = 0; uint64_t total_bandwidth = 0; int bpp = 0; for (i = 0; i < VFE_AXI_SRC_MAX; i++) { stream_info = &axi_data->stream_info[i]; Loading @@ -2297,7 +2299,16 @@ int msm_isp_update_stream_bandwidth(struct vfe_device *vfe_dev, } } total_bandwidth = total_pix_bandwidth + total_rdi_bandwidth; if (axi_data->src_info[VFE_PIX_0].input_mux == EXTERNAL_READ && num_pix_streams){ bpp = msm_isp_get_bit_per_pixel(axi_data-> src_info[VFE_PIX_0].input_format); total_fe_bandwidth = (axi_data->src_info[VFE_PIX_0].pixel_clock / 8) * bpp; } total_bandwidth = total_pix_bandwidth + total_rdi_bandwidth + total_fe_bandwidth; rc = msm_isp_update_bandwidth(ISP_VFE0 + vfe_dev->pdev->id, (total_bandwidth + vfe_dev->hw_info->min_ab), (total_bandwidth + vfe_dev->hw_info->min_ib)); Loading Loading
drivers/media/platform/msm/camera_v2/isp/msm_isp40.c +10 −3 Original line number Diff line number Diff line /* Copyright (c) 2013-2016, The Linux Foundation. All rights reserved. /* Copyright (c) 2013-2017, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -1782,11 +1782,18 @@ static int msm_vfe40_axi_restart(struct vfe_device *vfe_dev, memset(&vfe_dev->error_info, 0, sizeof(vfe_dev->error_info)); atomic_set(&vfe_dev->error_info.overflow_state, NO_OVERFLOW); if (enable_camif) { if (enable_camif && vfe_dev->axi_data.src_info[VFE_PIX_0].input_mux != EXTERNAL_READ){ vfe_dev->hw_info->vfe_ops.core_ops. update_camif_state(vfe_dev, ENABLE_CAMIF); } if (vfe_dev->fetch_engine_info.is_busy == 1) { vfe_dev->fetch_engine_info.is_busy = 0; 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(0x20000, vfe_dev->vfe_base + 0x4C); } return 0; } Loading
drivers/media/platform/msm/camera_v2/isp/msm_isp_axi_util.c +12 −1 Original line number Diff line number Diff line Loading @@ -2272,8 +2272,10 @@ int msm_isp_update_stream_bandwidth(struct vfe_device *vfe_dev, struct msm_vfe_axi_stream *stream_info; struct msm_vfe_axi_shared_data *axi_data = &vfe_dev->axi_data; uint64_t total_pix_bandwidth = 0, total_rdi_bandwidth = 0; uint64_t total_fe_bandwidth = 0; uint32_t num_pix_streams = 0; uint64_t total_bandwidth = 0; int bpp = 0; for (i = 0; i < VFE_AXI_SRC_MAX; i++) { stream_info = &axi_data->stream_info[i]; Loading @@ -2297,7 +2299,16 @@ int msm_isp_update_stream_bandwidth(struct vfe_device *vfe_dev, } } total_bandwidth = total_pix_bandwidth + total_rdi_bandwidth; if (axi_data->src_info[VFE_PIX_0].input_mux == EXTERNAL_READ && num_pix_streams){ bpp = msm_isp_get_bit_per_pixel(axi_data-> src_info[VFE_PIX_0].input_format); total_fe_bandwidth = (axi_data->src_info[VFE_PIX_0].pixel_clock / 8) * bpp; } total_bandwidth = total_pix_bandwidth + total_rdi_bandwidth + total_fe_bandwidth; rc = msm_isp_update_bandwidth(ISP_VFE0 + vfe_dev->pdev->id, (total_bandwidth + vfe_dev->hw_info->min_ab), (total_bandwidth + vfe_dev->hw_info->min_ib)); Loading