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

Commit 88d2303c authored by Suresh Vankadara's avatar Suresh Vankadara Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: camera: reqmgr: Skip reset if no request from UMD" into dev/msm-4.14-camx

parents 2e671e75 e6222ba1
Loading
Loading
Loading
Loading
+8 −3
Original line number Original line Diff line number Diff line
@@ -351,7 +351,8 @@ static void __cam_req_mgr_reset_req_slot(struct cam_req_mgr_core_link *link,
	CAM_DBG(CAM_CRM, "RESET: idx: %d: slot->status %d", idx, slot->status);
	CAM_DBG(CAM_CRM, "RESET: idx: %d: slot->status %d", idx, slot->status);


	/* Check if CSL has already pushed new request*/
	/* Check if CSL has already pushed new request*/
	if (slot->status == CRM_SLOT_STATUS_REQ_ADDED)
	if (slot->status == CRM_SLOT_STATUS_REQ_ADDED ||
		in_q->last_applied_idx == idx)
		return;
		return;


	/* Reset input queue slot */
	/* Reset input queue slot */
@@ -512,9 +513,11 @@ static int __cam_req_mgr_send_req(struct cam_req_mgr_core_link *link,
			}
			}
			if (link->req.apply_data[pd].skip_idx ||
			if (link->req.apply_data[pd].skip_idx ||
				link->req.apply_data[pd].req_id < 0) {
				link->req.apply_data[pd].req_id < 0) {
				CAM_DBG(CAM_CRM, "skip %d req_id %lld",
				CAM_DBG(CAM_CRM,
					"skip %d req_id %lld pd %d dev_name %s",
					link->req.apply_data[pd].skip_idx,
					link->req.apply_data[pd].skip_idx,
					link->req.apply_data[pd].req_id);
					link->req.apply_data[pd].req_id,
					pd, dev->dev_info.name);
				continue;
				continue;
			}
			}
			if (!(dev->dev_info.trigger & trigger))
			if (!(dev->dev_info.trigger & trigger))
@@ -1129,6 +1132,8 @@ static int __cam_req_mgr_process_req(struct cam_req_mgr_core_link *link,
				slot->req_id,
				slot->req_id,
				link->link_hdl);
				link->link_hdl);
			idx = in_q->rd_idx;
			idx = in_q->rd_idx;
			if (slot->req_id > 0)
				in_q->last_applied_idx = idx;
			reset_step = link->max_delay;
			reset_step = link->max_delay;
			if (link->sync_link) {
			if (link->sync_link) {
				if ((link->in_msync_mode) &&
				if ((link->in_msync_mode) &&
+2 −0
Original line number Original line Diff line number Diff line
@@ -233,12 +233,14 @@ struct cam_req_mgr_slot {
 * @slot        : request slot holding incoming request id and bubble info.
 * @slot        : request slot holding incoming request id and bubble info.
 * @rd_idx      : indicates slot index currently in process.
 * @rd_idx      : indicates slot index currently in process.
 * @wr_idx      : indicates slot index to hold new upcoming req.
 * @wr_idx      : indicates slot index to hold new upcoming req.
 * @last_applied_idx : indicates slot index last applied successfully.
 */
 */
struct cam_req_mgr_req_queue {
struct cam_req_mgr_req_queue {
	int32_t                     num_slots;
	int32_t                     num_slots;
	struct cam_req_mgr_slot     slot[MAX_REQ_SLOTS];
	struct cam_req_mgr_slot     slot[MAX_REQ_SLOTS];
	int32_t                     rd_idx;
	int32_t                     rd_idx;
	int32_t                     wr_idx;
	int32_t                     wr_idx;
	int32_t                     last_applied_idx;
};
};


/**
/**