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

Commit bfac58c7 authored by qctecmdr Service's avatar qctecmdr Service Committed by Gerrit - the friendly Code Review server
Browse files

Merge "Merge remote-tracking branch 'dev/msm-4.14-camx' into msm-4.14 02/25"

parents ac0812d2 a90994a5
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
/* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
/* Copyright (c) 2017-2019, 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
@@ -120,7 +120,7 @@ int cam_virtual_cdm_submit_bl(struct cam_hw_info *cdm_hw,
			(len >= cdm_cmd->cmd[i].offset)) {


			if ((len - cdm_cmd->cmd[i].offset) <=
			if ((len - cdm_cmd->cmd[i].offset) <
				cdm_cmd->cmd[i].len) {
				CAM_ERR(CAM_CDM, "Not enough buffer");
				rc = -EINVAL;
+9 −2
Original line number Diff line number Diff line
@@ -2472,7 +2472,7 @@ static int cam_icp_mgr_abort_handle(
	int rc = 0;
	unsigned long rem_jiffies;
	size_t packet_size;
	int timeout = 100;
	int timeout = 1000;
	struct hfi_cmd_ipebps_async *abort_cmd;

	packet_size =
@@ -2523,7 +2523,7 @@ static int cam_icp_mgr_destroy_handle(
	struct cam_icp_hw_ctx_data *ctx_data)
{
	int rc = 0;
	int timeout = 100;
	int timeout = 1000;
	unsigned long rem_jiffies;
	size_t packet_size;
	struct hfi_cmd_ipebps_async *destroy_cmd;
@@ -3400,6 +3400,13 @@ static int cam_icp_mgr_process_cmd_desc(struct cam_icp_hw_mgr *hw_mgr,
					num_cmd_buf-- : 0;
				goto rel_cmd_buf;
			}
			if ((len <= cmd_desc[i].offset) ||
				(cmd_desc[i].size < cmd_desc[i].length) ||
				((len - cmd_desc[i].offset) <
				cmd_desc[i].length)) {
				CAM_ERR(CAM_ICP, "Invalid offset or length");
				goto rel_cmd_buf;
			}
			cpu_addr = cpu_addr + cmd_desc[i].offset;
		}
	}
+5 −0
Original line number Diff line number Diff line
@@ -1863,7 +1863,9 @@ static int __cam_isp_ctx_flush_req_in_top_state(
	struct cam_req_mgr_flush_request *flush_req)
{
	int rc = 0;
	struct cam_isp_context *ctx_isp;

	ctx_isp = (struct cam_isp_context *) ctx->ctx_priv;
	if (flush_req->type == CAM_REQ_MGR_FLUSH_TYPE_ALL) {
		CAM_INFO(CAM_ISP, "Last request id to flush is %lld",
			flush_req->req_id);
@@ -1875,6 +1877,7 @@ static int __cam_isp_ctx_flush_req_in_top_state(
	rc = __cam_isp_ctx_flush_req(ctx, &ctx->pending_req_list, flush_req);
	spin_unlock_bh(&ctx->lock);

	atomic_set(&ctx_isp->process_bubble, 0);
	return rc;
}

@@ -3161,6 +3164,7 @@ static int __cam_isp_ctx_start_dev_in_ready(struct cam_context *ctx,
	start_isp.hw_config.init_packet = 1;
	start_isp.start_only = false;

	atomic_set(&ctx_isp->process_bubble, 0);
	ctx_isp->frame_id = 0;
	ctx_isp->active_req_cnt = 0;
	ctx_isp->reported_req_id = 0;
@@ -3296,6 +3300,7 @@ static int __cam_isp_ctx_stop_dev_in_activated_unlock(
	ctx_isp->frame_id = 0;
	ctx_isp->active_req_cnt = 0;
	ctx_isp->reported_req_id = 0;
	atomic_set(&ctx_isp->process_bubble, 0);

	CAM_DBG(CAM_ISP, "Stop device success next state %d on ctx %u",
		ctx->state, ctx->ctx_id);
+7 −1
Original line number Diff line number Diff line
/* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
/* Copyright (c) 2017-2019, 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
@@ -828,6 +828,12 @@ static struct cam_vfe_bus_ver2_hw_info vfe170_bus_hw_info = {
			.max_height    = -1,
		},
	},
	.reg_data = {
		.ubwc_10bit_threshold_lossy_0 = 0,
		.ubwc_10bit_threshold_lossy_1 = 0,
		.ubwc_8bit_threshold_lossy_0 = 0,
		.ubwc_8bit_threshold_lossy_1 = 0,
	},
};

struct cam_vfe_hw_info cam_vfe170_hw_info = {
+51 −36
Original line number Diff line number Diff line
@@ -234,6 +234,9 @@ static struct cam_vfe_bus_ver2_reg_offset_ubwc_3_client
	.mode_cfg_0        = 0x00002544,
	.mode_cfg_1        = 0x000025A4,
	.bw_limit          = 0x000025A0,
	.threshlod_lossy_0 = 0x000025A8,
	.threshlod_lossy_1 = 0x000025AC,

};

static struct cam_vfe_bus_ver2_reg_offset_ubwc_3_client
@@ -247,6 +250,8 @@ static struct cam_vfe_bus_ver2_reg_offset_ubwc_3_client
	.mode_cfg_0        = 0x00002644,
	.mode_cfg_1        = 0x000026A4,
	.bw_limit          = 0x000026A0,
	.threshlod_lossy_0 = 0x000026A8,
	.threshlod_lossy_1 = 0x000026AC,
};

static struct cam_vfe_bus_ver2_reg_offset_ubwc_3_client
@@ -260,6 +265,8 @@ static struct cam_vfe_bus_ver2_reg_offset_ubwc_3_client
	.mode_cfg_0        = 0x00003644,
	.mode_cfg_1        = 0x000036A4,
	.bw_limit          = 0x000036A0,
	.threshlod_lossy_0 = 0x000036A8,
	.threshlod_lossy_1 = 0x000036AC,
};

static struct cam_vfe_bus_ver2_reg_offset_ubwc_3_client
@@ -273,6 +280,8 @@ static struct cam_vfe_bus_ver2_reg_offset_ubwc_3_client
	.mode_cfg_0        = 0x00003744,
	.mode_cfg_1        = 0x000037A4,
	.bw_limit          = 0x000037A0,
	.threshlod_lossy_0 = 0x000037A8,
	.threshlod_lossy_1 = 0x000037AC,
};

static struct cam_vfe_bus_ver2_hw_info vfe175_bus_hw_info = {
@@ -986,6 +995,12 @@ static struct cam_vfe_bus_ver2_hw_info vfe175_bus_hw_info = {
			.max_height    = 1080,
		},
	},
	.reg_data = {
		.ubwc_10bit_threshold_lossy_0 = 0x8330002,
		.ubwc_10bit_threshold_lossy_1 = 0x20204,
		.ubwc_8bit_threshold_lossy_0 = 0x6210022,
		.ubwc_8bit_threshold_lossy_1 = 0xE0E,
	},
};

struct cam_vfe_hw_info cam_vfe175_hw_info = {
Loading