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

Commit d983df8a authored by Venkat Chinta's avatar Venkat Chinta Committed by Gerrit - the friendly Code Review server
Browse files

msm: camera: enables CDM CB for IFE



Wait for CDM CB for the first packet to allow CDM to finish job before WM
starts.

Change-Id: I7226642d259562dcbfd85fb6956d1a7bac23c414
Signed-off-by: default avatarVenkat Chinta <vchinta@codeaurora.org>
parent 8ebe79c0
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
/* Copyright (c) 2017, The Linux Foundation. All rights reserved.
/* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -81,7 +81,7 @@ struct cam_cdm_acquire_data {
	enum cam_cdm_id id;
	void *userdata;
	void (*cam_cdm_callback)(uint32_t handle, void *userdata,
		enum cam_cdm_cb_status status, uint32_t cookie);
		enum cam_cdm_cb_status status, uint64_t cookie);
	uint32_t base_array_cnt;
	struct cam_soc_reg_map *base_array[CAM_SOC_MAX_BLOCK];
	struct cam_hw_version cdm_version;
@@ -128,7 +128,7 @@ struct cam_cdm_bl_cmd {
struct cam_cdm_bl_request {
	int flag;
	void *userdata;
	uint32_t cookie;
	uint64_t cookie;
	enum cam_cdm_bl_cmd_addr_type type;
	uint32_t cmd_arrary_count;
	struct cam_cdm_bl_cmd cmd[1];
+1 −0
Original line number Diff line number Diff line
@@ -143,6 +143,7 @@ static int cam_context_apply_req_to_hw(struct cam_ctx_request *req,
			ctx->dev_name, ctx->ctx_id, req->request_id);

	cfg.ctxt_to_hw_map = ctx->ctxt_to_hw_map;
	cfg.request_id = req->request_id;
	cfg.hw_update_entries = req->hw_update_entries;
	cfg.num_hw_update_entries = req->num_hw_update_entries;
	cfg.out_map_entries = req->out_map_entries;
+2 −0
Original line number Diff line number Diff line
@@ -172,6 +172,7 @@ struct cam_hw_prepare_update_args {
 * @out_map_entries:       Out map info
 * @num_out_map_entries:   Number of out map entries
 * @priv:                  Private pointer
 * @request_id:            Request ID
 *
 */
struct cam_hw_config_args {
@@ -181,6 +182,7 @@ struct cam_hw_config_args {
	struct cam_hw_fence_map_entry  *out_map_entries;
	uint32_t                        num_out_map_entries;
	void                           *priv;
	uint64_t                        request_id;
};

/**
+2 −2
Original line number Diff line number Diff line
@@ -29,10 +29,10 @@ static uint32_t cam_fd_cdm_write_reg_val_pair(uint32_t *buffer,
}

static void cam_fd_hw_util_cdm_callback(uint32_t handle, void *userdata,
	enum cam_cdm_cb_status status, uint32_t cookie)
	enum cam_cdm_cb_status status, uint64_t cookie)
{
	trace_cam_cdm_cb("FD", status);
	CAM_DBG(CAM_FD, "CDM hdl=%x, udata=%pK, status=%d, cookie=%d",
	CAM_DBG(CAM_FD, "CDM hdl=%x, udata=%pK, status=%d, cookie=%llu",
		handle, userdata, status, cookie);
}

+2 −0
Original line number Diff line number Diff line
@@ -1070,6 +1070,7 @@ static int __cam_isp_ctx_apply_req_in_activated_state(
	req_isp->bubble_report = apply->report_if_bubble;

	cfg.ctxt_to_hw_map = ctx_isp->hw_ctx;
	cfg.request_id = req->request_id;
	cfg.hw_update_entries = req_isp->cfg;
	cfg.num_hw_update_entries = req_isp->num_cfg;
	cfg.priv  = &req_isp->hw_update_data;
@@ -2180,6 +2181,7 @@ static int __cam_isp_ctx_start_dev_in_ready(struct cam_context *ctx,
	}

	arg.ctxt_to_hw_map = ctx_isp->hw_ctx;
	arg.request_id = req->request_id;
	arg.hw_update_entries = req_isp->cfg;
	arg.num_hw_update_entries = req_isp->num_cfg;
	arg.priv  = &req_isp->hw_update_data;
Loading