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

Commit 73ed6ce4 authored by Sridhar Gujje's avatar Sridhar Gujje
Browse files

Merge remote-tracking branch 'dev/msm-4.14-camx' into msm-4.14 01/09



* commit 'f302511f':
  msm: camera: cam_icp: Update frame dump logic handling PF
  msm: camera: csiphy: Bifurcate PHY settings for atoll
  msm: camera: isp: Configure epoch based on FPS only for pix path

Change-Id: I607d4388467830ac27f698bd364c45bd00950ba2
Signed-off-by: default avatarSridhar Gujje <sgujje@codeaurora.org>
parents d4bea3de f302511f
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
/* Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
/* Copyright (c) 2017-2020, 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
@@ -1033,7 +1033,7 @@ int32_t cam_context_dump_pf_info_to_hw(struct cam_context *ctx,
		cmd_args.ctxt_to_hw_map = ctx->ctxt_to_hw_map;
		cmd_args.cmd_type = CAM_HW_MGR_CMD_DUMP_PF_INFO;
		cmd_args.u.pf_args.pf_data.packet = packet;
		cmd_args.u.pf_args.pf_data.ctx_id = ctx->ctx_id;
		cmd_args.u.pf_args.pf_data.ctx = ctx;
		cmd_args.u.pf_args.iova = iova;
		cmd_args.u.pf_args.buf_info = buf_info;
		cmd_args.u.pf_args.mem_found = mem_found;
+4 −4
Original line number Diff line number Diff line
/* Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
/* Copyright (c) 2017-2020, 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
@@ -144,11 +144,11 @@ struct cam_hw_stop_args {
 * struct cam_hw_mgr_dump_pf_data - page fault debug data
 *
 * packet:     pointer to packet
 * ctx_id:     context id
 * ctx:        pointer to cam context
 */
struct cam_hw_mgr_dump_pf_data {
	void *packet;
	uint32_t ctx_id;
	void *ctx;
};

/**
+16 −5
Original line number Diff line number Diff line
/* Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
/* Copyright (c) 2017-2020, 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
@@ -5275,7 +5275,7 @@ static int cam_icp_mgr_create_wq(void)
}

static int cam_icp_util_dump_frame_data(struct cam_packet *packet,
	struct cam_icp_hw_mgr  *hw_mgr, uint32_t ctx_id)
	struct cam_icp_hw_mgr  *hw_mgr, void *ctx)
{
	int num_cmd_buf = 0, i = 0, rc = 0;
	size_t len;
@@ -5283,11 +5283,22 @@ static int cam_icp_util_dump_frame_data(struct cam_packet *packet,
	uintptr_t cpu_addr = 0;
	struct ipe_frame_process_data *ipe_frame_process_data = NULL;
	struct bps_frame_process_data *bps_frame_process_data = NULL;
	struct cam_icp_hw_ctx_data *ctx_data;
	struct cam_icp_hw_ctx_data *ctx_data = NULL;

	cmd_desc = (struct cam_cmd_buf_desc *)
		((uint32_t *) &packet->payload + packet->cmd_buf_offset/4);
	ctx_data = &hw_mgr->ctx_data[ctx_id];

	for (i = 0; i < CAM_ICP_CTX_MAX; i++) {
		if (hw_mgr->ctx_data[i].context_priv == ctx) {
			ctx_data = &hw_mgr->ctx_data[i];
			break;
		}
	}

	if (!ctx_data) {
		CAM_ERR(CAM_ICP, "ctx_data is NULL");
		return -EINVAL;
	}

	for (i = 0; i < packet->num_cmd_buf; i++, num_cmd_buf++) {
		if (cmd_desc[i].type == CAM_CMD_BUF_FW) {
@@ -5407,7 +5418,7 @@ static int cam_icp_mgr_cmd(void *hw_mgr_priv, void *cmd_args)
		cam_icp_util_dump_frame_data(
			hw_cmd_args->u.pf_args.pf_data.packet,
			hw_mgr,
			hw_cmd_args->u.pf_args.pf_data.ctx_id);
			hw_cmd_args->u.pf_args.pf_data.ctx);

		break;
	default:
+1 −1
Original line number Diff line number Diff line
@@ -3393,7 +3393,7 @@ static int cam_isp_blob_fps_config(
	struct cam_ife_hw_mgr_res             *hw_mgr_res;
	struct cam_hw_intf                    *hw_intf;
	struct cam_vfe_fps_config_args         fps_config_args;
	int                                    rc = -EINVAL;
	int                                    rc = 0;
	uint32_t                               i;

	ctx = prepare->ctxt_to_hw_map;
+9 −8
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@
#include "include/cam_csiphy_1_1_hwreg.h"
#include "include/cam_csiphy_1_0_hwreg.h"
#include "include/cam_csiphy_1_2_hwreg.h"
#include "include/cam_csiphy_1_2_2_hwreg.h"
#include "include/cam_csiphy_2_0_hwreg.h"

#define CSIPHY_3PH_DIVISOR           16
@@ -276,23 +277,23 @@ int32_t cam_csiphy_parse_dt_info(struct platform_device *pdev,
			&data_rate_delta_table_1_2;
	} else if (of_device_is_compatible(soc_info->dev->of_node,
		"qcom,csiphy-v1.2.2")) {
		csiphy_dev->ctrl_reg->csiphy_2ph_reg = csiphy_2ph_v1_2_reg;
		csiphy_dev->ctrl_reg->csiphy_2ph_reg = csiphy_2ph_v1_2_2_reg;
		csiphy_dev->ctrl_reg->csiphy_2ph_combo_mode_reg =
			csiphy_2ph_v1_2_combo_mode_reg;
		csiphy_dev->ctrl_reg->csiphy_3ph_reg = csiphy_3ph_v1_2_reg;
			csiphy_2ph_v1_2_2_combo_mode_reg;
		csiphy_dev->ctrl_reg->csiphy_3ph_reg = csiphy_3ph_v1_2_2_reg;
		csiphy_dev->ctrl_reg->csiphy_2ph_3ph_mode_reg = NULL;
		csiphy_dev->ctrl_reg->csiphy_irq_reg = csiphy_irq_reg_1_2;
		csiphy_dev->ctrl_reg->csiphy_irq_reg = csiphy_irq_reg_1_2_2;
		csiphy_dev->ctrl_reg->csiphy_common_reg =
			csiphy_common_reg_1_2;
			csiphy_common_reg_1_2_2;
		csiphy_dev->ctrl_reg->csiphy_reset_reg =
			csiphy_reset_reg_1_2;
			csiphy_reset_reg_1_2_2;
		csiphy_dev->ctrl_reg->getclockvoting = get_clk_voting_dynamic;
		csiphy_dev->ctrl_reg->csiphy_reg = csiphy_v1_2;
		csiphy_dev->ctrl_reg->csiphy_reg = csiphy_v1_2_2;
		csiphy_dev->is_csiphy_3phase_hw = CSI_3PHASE_HW_12;
		csiphy_dev->hw_version = CSIPHY_VERSION_V12;
		csiphy_dev->clk_lane = 0;
		csiphy_dev->ctrl_reg->data_rates_settings_table =
			&data_rate_delta_table_1_2;
			&data_rate_delta_table_1_2_2;
	} else if (of_device_is_compatible(soc_info->dev->of_node,
		"qcom,csiphy-v2.0")) {
		csiphy_dev->ctrl_reg->csiphy_2ph_reg = csiphy_2ph_v2_0_reg;
Loading