Merge "msm: camera: isp: Change notification type" into camera-kernel.lnx.7.0
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

commit
38003d61e9
@@ -901,7 +901,7 @@ static int __cam_isp_ctx_notify_error_util(
|
|||||||
notify.frame_id = ctx_isp->frame_id;
|
notify.frame_id = ctx_isp->frame_id;
|
||||||
notify.sof_timestamp_val = ctx_isp->sof_timestamp_val;
|
notify.sof_timestamp_val = ctx_isp->sof_timestamp_val;
|
||||||
|
|
||||||
if (error == CRM_KMD_ERR_BUBBLE)
|
if ((error == CRM_KMD_ERR_BUBBLE) || (error == CRM_KMD_WARN_INTERNAL_RECOVERY))
|
||||||
CAM_WARN(CAM_ISP,
|
CAM_WARN(CAM_ISP,
|
||||||
"Notify CRM about bubble req: %llu frame: %llu in ctx: %u on link: 0x%x",
|
"Notify CRM about bubble req: %llu frame: %llu in ctx: %u on link: 0x%x",
|
||||||
req_id, ctx_isp->frame_id, ctx->ctx_id, ctx->link_hdl);
|
req_id, ctx_isp->frame_id, ctx->ctx_id, ctx->link_hdl);
|
||||||
@@ -1729,7 +1729,7 @@ static int __cam_isp_context_try_internal_recovery(
|
|||||||
|
|
||||||
if (req->request_id == ctx_isp->recovery_req_id) {
|
if (req->request_id == ctx_isp->recovery_req_id) {
|
||||||
rc = __cam_isp_ctx_notify_error_util(CAM_TRIGGER_POINT_SOF,
|
rc = __cam_isp_ctx_notify_error_util(CAM_TRIGGER_POINT_SOF,
|
||||||
CRM_KMD_ERR_BUBBLE, ctx_isp->recovery_req_id, ctx_isp);
|
CRM_KMD_WARN_INTERNAL_RECOVERY, ctx_isp->recovery_req_id, ctx_isp);
|
||||||
if (rc) {
|
if (rc) {
|
||||||
/* Unable to do bubble recovery reset back to normal */
|
/* Unable to do bubble recovery reset back to normal */
|
||||||
CAM_WARN(CAM_ISP,
|
CAM_WARN(CAM_ISP,
|
||||||
@@ -1762,7 +1762,7 @@ static int __cam_isp_context_try_internal_recovery(
|
|||||||
|
|
||||||
if (req->request_id == ctx_isp->recovery_req_id) {
|
if (req->request_id == ctx_isp->recovery_req_id) {
|
||||||
rc = __cam_isp_ctx_notify_error_util(CAM_TRIGGER_POINT_SOF,
|
rc = __cam_isp_ctx_notify_error_util(CAM_TRIGGER_POINT_SOF,
|
||||||
CRM_KMD_ERR_BUBBLE, ctx_isp->recovery_req_id, ctx_isp);
|
CRM_KMD_WARN_INTERNAL_RECOVERY, ctx_isp->recovery_req_id, ctx_isp);
|
||||||
if (rc) {
|
if (rc) {
|
||||||
/* Unable to do bubble recovery reset back to normal */
|
/* Unable to do bubble recovery reset back to normal */
|
||||||
CAM_WARN(CAM_ISP,
|
CAM_WARN(CAM_ISP,
|
||||||
@@ -4551,8 +4551,8 @@ static int __cam_isp_ctx_trigger_internal_recovery(
|
|||||||
ctx_isp->active_req_cnt, ctx_isp->recovery_req_id,
|
ctx_isp->active_req_cnt, ctx_isp->recovery_req_id,
|
||||||
ctx->ctx_id, ctx->link_hdl);
|
ctx->ctx_id, ctx->link_hdl);
|
||||||
} else {
|
} else {
|
||||||
rc = __cam_isp_ctx_notify_error_util(CAM_TRIGGER_POINT_SOF, CRM_KMD_ERR_BUBBLE,
|
rc = __cam_isp_ctx_notify_error_util(CAM_TRIGGER_POINT_SOF,
|
||||||
ctx_isp->recovery_req_id, ctx_isp);
|
CRM_KMD_WARN_INTERNAL_RECOVERY, ctx_isp->recovery_req_id, ctx_isp);
|
||||||
if (rc) {
|
if (rc) {
|
||||||
/* Unable to do bubble recovery reset back to normal */
|
/* Unable to do bubble recovery reset back to normal */
|
||||||
CAM_WARN(CAM_ISP,
|
CAM_WARN(CAM_ISP,
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
// SPDX-License-Identifier: GPL-2.0-only
|
// SPDX-License-Identifier: GPL-2.0-only
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2016-2021, The Linux Foundation. All rights reserved.
|
* Copyright (c) 2016-2021, The Linux Foundation. All rights reserved.
|
||||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
* Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
@@ -3700,7 +3700,9 @@ int cam_req_mgr_process_error(void *priv, void *data)
|
|||||||
/* Bring processing pointer to bubbled req id */
|
/* Bring processing pointer to bubbled req id */
|
||||||
__cam_req_mgr_tbl_set_all_skip_cnt(&link->req.l_tbl);
|
__cam_req_mgr_tbl_set_all_skip_cnt(&link->req.l_tbl);
|
||||||
in_q->rd_idx = idx;
|
in_q->rd_idx = idx;
|
||||||
in_q->slot[idx].bubble_times++;
|
/* Increment bubble counter only for bubble errors */
|
||||||
|
if (err_info->error == CRM_KMD_ERR_BUBBLE)
|
||||||
|
in_q->slot[idx].bubble_times++;
|
||||||
in_q->slot[idx].status = CRM_SLOT_STATUS_REQ_ADDED;
|
in_q->slot[idx].status = CRM_SLOT_STATUS_REQ_ADDED;
|
||||||
|
|
||||||
/* Reset request apply map for all pd tables */
|
/* Reset request apply map for all pd tables */
|
||||||
|
Reference in New Issue
Block a user