Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3dd7c60b authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: camera: isp: Fix for incorrect reg update on PIX"

parents a6c7449b 66ea0712
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -746,14 +746,13 @@ static void msm_vfe40_reg_update(struct vfe_device *vfe_dev,
		vfe_dev->reg_update_requested;
	if ((vfe_dev->is_split && vfe_dev->pdev->id == ISP_VFE1) &&
		((frame_src == VFE_PIX_0) || (frame_src == VFE_SRC_MAX))) {
		msm_camera_io_w_mb(
			vfe_dev->dual_vfe_res->reg_update_mask[ISP_VFE0],
		msm_camera_io_w_mb(update_mask,
			vfe_dev->dual_vfe_res->vfe_base[ISP_VFE0] + 0x378);
		msm_camera_io_w_mb(vfe_dev->reg_update_requested,
		msm_camera_io_w_mb(update_mask,
			vfe_dev->vfe_base + 0x378);
	} else if (!vfe_dev->is_split ||
		(frame_src >= VFE_RAW_0 && frame_src <= VFE_SRC_MAX)) {
		msm_camera_io_w_mb(vfe_dev->reg_update_requested,
		msm_camera_io_w_mb(update_mask,
			vfe_dev->vfe_base + 0x378);
	}
	spin_unlock_irqrestore(&vfe_dev->reg_update_lock, flags);
+3 −4
Original line number Diff line number Diff line
@@ -619,14 +619,13 @@ static void msm_vfe44_reg_update(struct vfe_device *vfe_dev,
		vfe_dev->reg_update_requested;
	if ((vfe_dev->is_split && vfe_dev->pdev->id == ISP_VFE1) &&
		((frame_src == VFE_PIX_0) || (frame_src == VFE_SRC_MAX))) {
		msm_camera_io_w_mb(
			vfe_dev->dual_vfe_res->reg_update_mask[ISP_VFE0],
		msm_camera_io_w_mb(update_mask,
			vfe_dev->dual_vfe_res->vfe_base[ISP_VFE0] + 0x378);
		msm_camera_io_w_mb(vfe_dev->reg_update_requested,
		msm_camera_io_w_mb(update_mask,
			vfe_dev->vfe_base + 0x378);
	} else if (!vfe_dev->is_split ||
		(frame_src >= VFE_RAW_0 && frame_src <= VFE_SRC_MAX)) {
		msm_camera_io_w_mb(vfe_dev->reg_update_requested,
		msm_camera_io_w_mb(update_mask,
			vfe_dev->vfe_base + 0x378);
	}
	spin_unlock_irqrestore(&vfe_dev->reg_update_lock, flags);
+3 −4
Original line number Diff line number Diff line
@@ -546,14 +546,13 @@ static void msm_vfe46_reg_update(struct vfe_device *vfe_dev,
		vfe_dev->reg_update_requested;
	if ((vfe_dev->is_split && vfe_dev->pdev->id == ISP_VFE1) &&
		((frame_src == VFE_PIX_0) || (frame_src == VFE_SRC_MAX))) {
		msm_camera_io_w_mb(
			vfe_dev->dual_vfe_res->reg_update_mask[ISP_VFE0],
		msm_camera_io_w_mb(update_mask,
			vfe_dev->dual_vfe_res->vfe_base[ISP_VFE0] + 0x3D8);
		msm_camera_io_w_mb(vfe_dev->reg_update_requested,
		msm_camera_io_w_mb(update_mask,
			vfe_dev->vfe_base + 0x3D8);
	} else if (!vfe_dev->is_split ||
		(frame_src >= VFE_RAW_0 && frame_src <= VFE_SRC_MAX)) {
		msm_camera_io_w_mb(vfe_dev->reg_update_requested,
		msm_camera_io_w_mb(update_mask,
			vfe_dev->vfe_base + 0x3D8);
	}
	spin_unlock_irqrestore(&vfe_dev->reg_update_lock, flags);
+3 −4
Original line number Diff line number Diff line
@@ -663,14 +663,13 @@ static void msm_vfe47_reg_update(struct vfe_device *vfe_dev,
		vfe_dev->reg_update_requested;
	if ((vfe_dev->is_split && vfe_dev->pdev->id == ISP_VFE1) &&
		((frame_src == VFE_PIX_0) || (frame_src == VFE_SRC_MAX))) {
		msm_camera_io_w_mb(
			vfe_dev->dual_vfe_res->reg_update_mask[ISP_VFE0],
		msm_camera_io_w_mb(update_mask,
			vfe_dev->dual_vfe_res->vfe_base[ISP_VFE0] + 0x4AC);
		msm_camera_io_w_mb(vfe_dev->reg_update_requested,
		msm_camera_io_w_mb(update_mask,
			vfe_dev->vfe_base + 0x4AC);
	} else if (!vfe_dev->is_split ||
		(frame_src >= VFE_RAW_0 && frame_src <= VFE_SRC_MAX)) {
		msm_camera_io_w_mb(vfe_dev->reg_update_requested,
		msm_camera_io_w_mb(update_mask,
			vfe_dev->vfe_base + 0x4AC);
	}
	spin_unlock_irqrestore(&vfe_dev->reg_update_lock, flags);
+2 −2
Original line number Diff line number Diff line
@@ -855,7 +855,7 @@ int msm_isp_request_axi_stream(struct vfe_device *vfe_dev, void *arg)

	stream_info->memory_input = stream_cfg_cmd->memory_input;
	vfe_dev->reg_update_requested &=
		~(BIT(stream_info->stream_src));
		~(BIT(SRC_TO_INTF(stream_info->stream_src)));

	msm_isp_axi_reserve_wm(vfe_dev, &vfe_dev->axi_data, stream_info);

@@ -2207,7 +2207,7 @@ static int msm_isp_stop_axi_stream(struct vfe_device *vfe_dev,
			HANDLE_TO_IDX(stream_cfg_cmd->stream_handle[i])];
		msm_isp_deinit_stream_ping_pong_reg(vfe_dev, stream_info);
		vfe_dev->reg_update_requested &=
			~(BIT(stream_info->stream_src));
			~(BIT(SRC_TO_INTF(stream_info->stream_src)));
	}

	return rc;