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

Commit 44b79d3f authored by Petar Sivenov's avatar Petar Sivenov Committed by Gerrit - the friendly Code Review server
Browse files

msm: camera: isp: fixes reporting error to wrong target



Frame errors are sent to userspace on SOF event. We sent all errors on
first event instead of just these who are caused by same source. This
leads to incorrect interpretation in userspace in cases where multiple
SOF sources present.

Change-Id: I19f558bb060ee33fde9884f7c9a4f8de70435d1e
Signed-off-by: default avatarPetar Sivenov <psiven@codeaurora.org>
parent 5720340d
Loading
Loading
Loading
Loading
+10 −14
Original line number Diff line number Diff line
@@ -791,13 +791,9 @@ void msm_isp_check_for_output_error(struct vfe_device *vfe_dev,
			sof_info->axi_updating_mask |=
				1 << stream_idx;
		}
	}

	vfe_dev->reg_updated = 0;

		/* report frame drop per stream */
	if (vfe_dev->error_info.framedrop_flag) {
		for (i = 0; i < BUF_MGR_NUM_BUF_Q; i++) {
		i = stream_info->bufq_handle[VFE_BUF_QUEUE_DEFAULT] &
				0xFF;
		if (vfe_dev->error_info.stream_framedrop_count[i]) {
			ISP_DBG("%s: get buf failed i %d\n", __func__,
				i);
@@ -806,8 +802,9 @@ void msm_isp_check_for_output_error(struct vfe_device *vfe_dev,
				stream_framedrop_count[i] = 0;
		}
	}
		vfe_dev->error_info.framedrop_flag = 0;
	}

	vfe_dev->reg_updated = 0;

}

void msm_isp_increment_frame_id(struct vfe_device *vfe_dev,
@@ -3898,7 +3895,6 @@ void msm_isp_process_axi_irq_stream(struct vfe_device *vfe_dev,
			vfe_dev->error_info.stream_framedrop_count[
				stream_info->bufq_handle[
				VFE_BUF_QUEUE_DEFAULT] & 0xFF]++;
			vfe_dev->error_info.framedrop_flag = 1;
		}
		spin_unlock_irqrestore(&stream_info->lock, flags);
		return;