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

Commit 91cab8ef 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: For burst stream fix framedrop period and pattern"

parents cf212680 1ebd80ce
Loading
Loading
Loading
Loading
+0 −10
Original line number Diff line number Diff line
@@ -360,14 +360,9 @@ struct msm_vfe_axi_stream {
	uint32_t frame_based;
	enum msm_vfe_frame_skip_pattern frame_skip_pattern;
	uint32_t framedrop_period;
	uint32_t framedrop_pattern;
	uint32_t prev_framedrop_period;
	uint32_t prev_framedrop_pattern;
	uint32_t framedrop_altern_cnt;
	uint32_t num_burst_capture;/*number of frame to capture*/
	uint32_t init_frame_drop;
	uint32_t burst_frame_count;/*number of sof before burst stop*/
	uint8_t framedrop_update;
	spinlock_t lock;

	/*Bandwidth calculation info*/
@@ -376,12 +371,7 @@ struct msm_vfe_axi_stream {
	uint32_t format_factor;
	uint32_t bandwidth;

	/*Run time update variables*/
	uint32_t runtime_init_frame_drop;
	uint32_t runtime_burst_frame_count;/*number of sof before burst stop*/
	uint32_t runtime_num_burst_capture;
	uint8_t  runtime_framedrop_update;
	uint8_t  runtime_framedrop_update_burst;
	uint32_t runtime_output_format;
	enum msm_stream_memory_input_t  memory_input;
	struct msm_isp_sw_framskip sw_skip;
+4 −4
Original line number Diff line number Diff line
@@ -746,13 +746,13 @@ static void msm_vfe32_cfg_framedrop(void __iomem *vfe_base,
	uint32_t framedrop_period)
{
	if (stream_info->stream_src == PIX_ENCODER) {
		msm_camera_io_w(framedrop_period, vfe_base + 0x504);
		msm_camera_io_w(framedrop_period, vfe_base + 0x508);
		msm_camera_io_w(framedrop_period - 1, vfe_base + 0x504);
		msm_camera_io_w(framedrop_period - 1, vfe_base + 0x508);
		msm_camera_io_w(framedrop_pattern, vfe_base + 0x50C);
		msm_camera_io_w(framedrop_pattern, vfe_base + 0x510);
	} else if (stream_info->stream_src == PIX_VIEWFINDER) {
		msm_camera_io_w(framedrop_period, vfe_base + 0x514);
		msm_camera_io_w(framedrop_period, vfe_base + 0x518);
		msm_camera_io_w(framedrop_period - 1, vfe_base + 0x514);
		msm_camera_io_w(framedrop_period - 1, vfe_base + 0x518);
		msm_camera_io_w(framedrop_pattern, vfe_base + 0x51C);
		msm_camera_io_w(framedrop_pattern, vfe_base + 0x520);
	}
+3 −2
Original line number Diff line number Diff line
@@ -679,7 +679,8 @@ static void msm_vfe40_process_reg_update(struct vfe_device *vfe_dev,
				(uint32_t)BIT(i));
			switch (i) {
			case VFE_PIX_0:
				msm_isp_save_framedrop_values(vfe_dev);
				msm_isp_save_framedrop_values(vfe_dev,
					VFE_PIX_0);
				msm_isp_notify(vfe_dev, ISP_EVENT_REG_UPDATE,
					VFE_PIX_0, ts);
				if (atomic_read(
@@ -957,7 +958,7 @@ static void msm_vfe40_cfg_framedrop(void __iomem *vfe_base,
		temp = msm_camera_io_r(vfe_base +
			VFE40_WM_BASE(stream_info->wm[i]) + 0xC);
		temp &= 0xFFFFFF83;
		msm_camera_io_w(temp | framedrop_period << 2,
		msm_camera_io_w(temp | (framedrop_period - 1) << 2,
		vfe_base + VFE40_WM_BASE(stream_info->wm[i]) + 0xC);
	}

+3 −2
Original line number Diff line number Diff line
@@ -519,7 +519,8 @@ static void msm_vfe44_process_reg_update(struct vfe_device *vfe_dev,
				(uint32_t)BIT(i));
			switch (i) {
			case VFE_PIX_0:
				msm_isp_save_framedrop_values(vfe_dev);
				msm_isp_save_framedrop_values(vfe_dev,
						VFE_PIX_0);
				msm_isp_notify(vfe_dev, ISP_EVENT_REG_UPDATE,
					VFE_PIX_0, ts);
				if (atomic_read(
@@ -769,7 +770,7 @@ static void msm_vfe44_cfg_framedrop(void __iomem *vfe_base,
		temp = msm_camera_io_r(vfe_base +
			VFE44_WM_BASE(stream_info->wm[i]) + 0xC);
		temp &= 0xFFFFFF83;
		msm_camera_io_w(temp | framedrop_period << 2,
		msm_camera_io_w(temp | (framedrop_period - 1) << 2,
			vfe_base + VFE44_WM_BASE(stream_info->wm[i]) + 0xC);
	}
}
+3 −2
Original line number Diff line number Diff line
@@ -449,7 +449,8 @@ static void msm_vfe46_process_reg_update(struct vfe_device *vfe_dev,

			switch (i) {
			case VFE_PIX_0:
				msm_isp_save_framedrop_values(vfe_dev);
				msm_isp_save_framedrop_values(vfe_dev,
							VFE_PIX_0);
				msm_isp_notify(vfe_dev, ISP_EVENT_REG_UPDATE,
					VFE_PIX_0, ts);
				if (atomic_read(
@@ -701,7 +702,7 @@ static void msm_vfe46_cfg_framedrop(void __iomem *vfe_base,
		temp = msm_camera_io_r(vfe_base +
			VFE46_WM_BASE(stream_info->wm[i]) + 0xC);
		temp &= 0xFFFFFF83;
		msm_camera_io_w(temp | framedrop_period << 2,
		msm_camera_io_w(temp | (framedrop_period - 1) << 2,
		vfe_base + VFE46_WM_BASE(stream_info->wm[i]) + 0xC);
	}
}
Loading