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:

committed by
Camera Software Integration

parent
42c90f68b7
commit
267f259a72
@@ -722,6 +722,36 @@ monitor_dump:
|
||||
return rc;
|
||||
}
|
||||
|
||||
int cam_synx_core_recovery(
|
||||
enum cam_sync_synx_supported_cores cam_core_id)
|
||||
{
|
||||
int rc;
|
||||
enum synx_client_id client_id = SYNX_CLIENT_MAX;
|
||||
|
||||
switch (cam_core_id) {
|
||||
case CAM_ICP_0_SYNX_CORE:
|
||||
client_id = SYNX_CLIENT_ICP_CTX0;
|
||||
break;
|
||||
default:
|
||||
rc = -EINVAL;
|
||||
goto err;
|
||||
}
|
||||
|
||||
rc = synx_recover(client_id);
|
||||
if (rc)
|
||||
goto err;
|
||||
|
||||
CAM_DBG(CAM_SYNX, "Synx recovery for synx_client: %d[%d] success",
|
||||
client_id, cam_core_id);
|
||||
|
||||
return rc;
|
||||
|
||||
err:
|
||||
CAM_ERR(CAM_SYNX, "Failed to recover for synx_client: %d rc: %d",
|
||||
client_id, rc);
|
||||
return rc;
|
||||
}
|
||||
|
||||
int __cam_synx_init_session(void)
|
||||
{
|
||||
struct synx_queue_desc queue_desc;
|
||||
|
Reference in New Issue
Block a user