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

Commit 24a4646c authored by Dharmender Sharma's avatar Dharmender Sharma
Browse files

msm: camera: jpeg: By default disable Camnoc MISR configuration



By default driver is configuring jpeg misr and also dumping misr values.
So added a check if camnoc_misr_support is enabled then only configure
and dump the misr value.

CRs-Fixed: 3168072
Change-Id: I4090b1a43b55a0f7643c352689aa04b56d31df8d
Signed-off-by: default avatarDharmender Sharma <quic_dharshar@quicinc.com>
parent f33380f1
Loading
Loading
Loading
Loading
+24 −15
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
 * Copyright (c) 2017-2021, The Linux Foundation. All rights reserved.
 */

@@ -142,12 +143,18 @@ static int cam_jpeg_process_next_hw_update(void *priv, void *data,

	CAM_TRACE(CAM_JPEG, "Start JPEG ENC Req %llu", config_args->request_id);

	if (g_jpeg_hw_mgr.camnoc_misr_test) {
		/* configure jpeg hw and camnoc misr */
		rc = hw_mgr->devices[dev_type][0]->hw_ops.process_cmd(
			hw_mgr->devices[dev_type][0]->hw_priv,
			CAM_JPEG_CMD_CONFIG_HW_MISR,
			&g_jpeg_hw_mgr.camnoc_misr_test,
			sizeof(g_jpeg_hw_mgr.camnoc_misr_test));
		if (rc) {
			CAM_ERR(CAM_JPEG, "Failed to apply the configs %d", rc);
			goto end_error;
		}
	}

	rc = hw_mgr->devices[dev_type][0]->hw_ops.start(
		hw_mgr->devices[dev_type][0]->hw_priv, NULL, 0);
@@ -214,6 +221,7 @@ static int cam_jpeg_mgr_process_irq(void *priv, void *data)
	CAM_DBG(CAM_JPEG, "hw entry processed %d Encoded size :%d",
		p_cfg_req->num_hw_entry_processed, task_data->result_size);

	if (g_jpeg_hw_mgr.camnoc_misr_test) {
		misr_args.req_id = p_cfg_req->req_id;
		misr_args.enable_bug = g_jpeg_hw_mgr.bug_on_misr;
		CAM_DBG(CAM_JPEG, "req %lld bug is enabled for MISR :%d",
@@ -224,6 +232,7 @@ static int cam_jpeg_mgr_process_irq(void *priv, void *data)
			hw_mgr->devices[dev_type][0]->hw_priv,
			CAM_JPEG_CMD_DUMP_HW_MISR_VAL, &misr_args,
			sizeof(struct cam_jpeg_misr_dump_args));
	}

	if ((task_data->result_size > 0) &&
		(p_cfg_req->num_hw_entry_processed <
+3 −2
Original line number Diff line number Diff line
/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
 * Copyright (c) 2017-2021, The Linux Foundation. All rights reserved.
 */

@@ -21,8 +22,8 @@
#define CAM_JPEG_CAMNOC_MISR_VAL_ROW 2
#define CAM_JPEG_CAMNOC_MISR_VAL_COL 4
#define CAM_JPEG_ENC_MISR_VAL_NUM    3
#define CAM_JPEG_MISR_ID_LOW_RD      0
#define CAM_JPEG_MISR_ID_LOW_WR      1
#define CAM_JPEG_MISR_ID_LOW_RD      1
#define CAM_JPEG_MISR_ID_LOW_WR      2

enum cam_jpeg_hw_type {
	CAM_JPEG_DEV_ENC,
+2 −0
Original line number Diff line number Diff line
/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
 * Copyright (c) 2021, The Linux Foundation. All rights reserved.
 */

@@ -70,6 +71,7 @@ static struct cam_jpeg_dma_device_hw_info cam_jpeg_dma_165_hw_info = {
	.camnoc_misr_sigdata = 4,
	.master_we_sel = 2,
	.misr_rd_word_sel = 4,
	.camnoc_misr_support = 1,
};

#endif /* CAM_JPEG_DMA_165_HW_INFO_VER_4_2_0_H */
+2 −0
Original line number Diff line number Diff line
/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
 * Copyright (c) 2021, The Linux Foundation. All rights reserved.
 */

@@ -70,6 +71,7 @@ static struct cam_jpeg_dma_device_hw_info cam_jpeg_dma_580_hw_info = {
	.camnoc_misr_sigdata = 4,
	.master_we_sel = 2,
	.misr_rd_word_sel = 4,
	.camnoc_misr_support = 1,
};

#endif /* CAM_JPEG_DMA_580_HW_INFO_VER_4_2_0_H */
+3 −1
Original line number Diff line number Diff line
/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
 * Copyright (c) 2020, The Linux Foundation. All rights reserved.
 */

@@ -40,7 +41,8 @@ static struct cam_jpeg_dma_device_hw_info cam_jpeg_dma_hw_info = {
		.resetdone = CAM_JPEGDMA_HW_MASK_COMP_RESET_ACK,
		.iserror = 0x0,
		.stopdone = CAM_JPEGDMA_HW_IRQ_STATUS_AXI_HALT,
	}
	},
	.camnoc_misr_support = 0,
};

#endif /* CAM_JPEG_DMA_HW_INFO_VER_4_2_0_H */
Loading