msm: camera: sync: Add support to invoke synx recover

If ICP FW is to be redowloaded, issue a synx recover for
this ICP core so that IPC/synx for the previous session
can be cleaned up prior to the next ICP cold boot.

CRs-Fixed: 3448052
Change-Id: I9f8f772730f7e4a8873b6dbdcf7a896ad6193150
Signed-off-by: Karthik Anantha Ram <quic_kartanan@quicinc.com>
This commit is contained in:
Karthik Anantha Ram
2023-03-28 14:49:59 -07:00
committed by Camera Software Integration
parent 42c90f68b7
commit 267f259a72
6 changed files with 90 additions and 0 deletions

View File

@@ -16,6 +16,12 @@
#define SYNC_DEBUG_NAME_LEN 63
typedef void (*sync_callback)(int32_t sync_obj, int status, void *data);
enum cam_sync_synx_supported_cores {
CAM_ICP_0_SYNX_CORE = 1,
CAM_ICP_1_SYNX_CORE,
CAM_INVALID_SYNX_CORE,
};
/* Kernel APIs */
/**
@@ -153,6 +159,17 @@ int cam_sync_wait(int32_t sync_obj, uint64_t timeout_ms);
*/
int cam_sync_check_valid(int32_t sync_obj);
/**
* @brief: Synx recovery for a given core
*
* @param core_id: Core ID we want to recover for
*
* @return Status of operation. Zero in case of success
* -EINVAL if core_id is invalid
*/
int cam_sync_synx_core_recovery(
enum cam_sync_synx_supported_cores core_id);
/**
* @brief : API to register SYNC to platform framework.
*