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

Commit 723b2947 authored by Senthil Kumar Rajagopal's avatar Senthil Kumar Rajagopal
Browse files

msm: camera: isp: handle drop frame if the pattern is valid



If the framedrop pattern is valid, and if we reload wm,
frame starts to output from the point of reload wm itself.
Drop the frame, if frame drop pattern is valid.

Change-Id: If93d875032d6ac876a4cefe349fdd6aab1980f9e
Signed-off-by: default avatarSenthil Kumar Rajagopal <skrajago@codeaurora.org>
parent 8b32da87
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -55,6 +55,7 @@

#define MSM_ISP_MIN_AB 100000000
#define MSM_ISP_MIN_IB 100000000
#define MAX_BUFFERS_IN_HW 2

struct vfe_device;
struct msm_vfe_axi_stream;
@@ -337,6 +338,8 @@ struct msm_vfe_axi_stream {
	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;
+1 −0
Original line number Diff line number Diff line
@@ -663,6 +663,7 @@ 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_notify(vfe_dev, ISP_EVENT_REG_UPDATE,
					VFE_PIX_0, ts);
				if (atomic_read(
+1 −0
Original line number Diff line number Diff line
@@ -511,6 +511,7 @@ 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_notify(vfe_dev, ISP_EVENT_REG_UPDATE,
					VFE_PIX_0, ts);
				if (atomic_read(
+1 −0
Original line number Diff line number Diff line
@@ -439,6 +439,7 @@ static void msm_vfe46_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_notify(vfe_dev, ISP_EVENT_REG_UPDATE,
					VFE_PIX_0, ts);
				if (atomic_read(
+1 −0
Original line number Diff line number Diff line
@@ -533,6 +533,7 @@ static void msm_vfe47_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_notify(vfe_dev, ISP_EVENT_REG_UPDATE,
					VFE_PIX_0, ts);
				if (atomic_read(
Loading