mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-09 13:49:24 -04:00
Merge "msm: camera: reqmgr: skip re_apply of ISP for buf_done request" into camera-kernel.lnx.4.0
This commit is contained in:
commit
52222ca8b2
5 changed files with 25 additions and 1 deletions
|
|
@ -2486,6 +2486,14 @@ static int __cam_isp_ctx_apply_req_in_activated_state(
|
|||
goto end;
|
||||
}
|
||||
|
||||
if (apply->re_apply)
|
||||
if (apply->request_id <= ctx_isp->last_applied_req_id) {
|
||||
CAM_INFO(CAM_ISP,
|
||||
"Trying to reapply the same request %llu again",
|
||||
apply->request_id);
|
||||
return 0;
|
||||
}
|
||||
|
||||
spin_lock_bh(&ctx->lock);
|
||||
req = list_first_entry(&ctx->pending_req_list, struct cam_ctx_request,
|
||||
list);
|
||||
|
|
|
|||
|
|
@ -662,6 +662,11 @@ static int __cam_req_mgr_send_req(struct cam_req_mgr_core_link *link,
|
|||
|
||||
apply_req.link_hdl = link->link_hdl;
|
||||
apply_req.report_if_bubble = 0;
|
||||
apply_req.re_apply = false;
|
||||
if (link->retry_cnt > 0) {
|
||||
if (g_crm_core_dev->recovery_on_apply_fail)
|
||||
apply_req.re_apply = true;
|
||||
}
|
||||
|
||||
for (i = 0; i < link->num_devs; i++) {
|
||||
dev = &link->l_dev[i];
|
||||
|
|
|
|||
|
|
@ -413,10 +413,12 @@ struct cam_req_mgr_core_session {
|
|||
* - Core camera request manager data struct
|
||||
* @session_head : list head holding sessions
|
||||
* @crm_lock : mutex lock to protect session creation & destruction
|
||||
* @recovery_on_apply_fail : Recovery on apply failure using debugfs.
|
||||
*/
|
||||
struct cam_req_mgr_core_device {
|
||||
struct list_head session_head;
|
||||
struct mutex crm_lock;
|
||||
bool recovery_on_apply_fail;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2016-2019, The Linux Foundation. All rights reserved.
|
||||
*/
|
||||
|
||||
#include "cam_req_mgr_debug.h"
|
||||
|
|
@ -128,5 +128,12 @@ int cam_req_mgr_debug_register(struct cam_req_mgr_core_device *core_dev)
|
|||
debugfs_root, core_dev, &bubble_recovery))
|
||||
return -ENOMEM;
|
||||
|
||||
if (!debugfs_create_bool("recovery_on_apply_fail",
|
||||
0644,
|
||||
debugfs_root,
|
||||
&core_dev->recovery_on_apply_fail)) {
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -326,6 +326,7 @@ struct cam_req_mgr_core_dev_link_setup {
|
|||
* @request_id : request id settings to apply
|
||||
* @report_if_bubble : report to crm if failure in applying
|
||||
* @trigger_point : the trigger point of this apply
|
||||
* @re_apply : to skip re_apply for buf_done request
|
||||
*
|
||||
*/
|
||||
struct cam_req_mgr_apply_request {
|
||||
|
|
@ -334,6 +335,7 @@ struct cam_req_mgr_apply_request {
|
|||
uint64_t request_id;
|
||||
int32_t report_if_bubble;
|
||||
uint32_t trigger_point;
|
||||
bool re_apply;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Reference in a new issue