1
0

msm: camera: isp: Program rup/aup for scratch only at run time

Avoid programming aup/rup at stream on after scratch buffer
programming on occasions where there is no ePCR. At stream on,
INIT packet adds rup/aup.

CRs-Fixed: 2841729
Change-Id: Ic045c4917c7a1cebacb0a331a7c3ade16726e267
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>
Este cometimento está contido em:
Karthik Anantha Ram
2021-09-01 15:17:36 -07:00
cometido por Gerrit - the friendly Code Review server
ascendente c87ae52bc1
cometimento 5c3b688397

Ver ficheiro

@@ -73,7 +73,7 @@ static int cam_ife_hw_mgr_event_handler(
void *evt_info);
static int cam_ife_mgr_prog_default_settings(
struct cam_ife_hw_mgr_ctx *ctx);
bool need_rup_aup, struct cam_ife_hw_mgr_ctx *ctx);
static int cam_ife_mgr_finish_clk_bw_update(
struct cam_ife_hw_mgr_ctx *ctx, uint64_t request_id)
@@ -6582,7 +6582,7 @@ start_only:
if ((ctx->flags.is_sfe_fs || ctx->flags.is_sfe_shdr) &&
(!ctx->sfe_info.skip_scratch_cfg_streamon)) {
rc = cam_ife_mgr_prog_default_settings(ctx);
rc = cam_ife_mgr_prog_default_settings(false, ctx);
if (rc)
goto err;
ctx->sfe_info.skip_scratch_cfg_streamon = false;
@@ -10621,7 +10621,7 @@ int cam_isp_config_csid_rup_aup(
* to each left RDIs
*/
static int cam_ife_mgr_prog_default_settings(
struct cam_ife_hw_mgr_ctx *ctx)
bool need_rup_aup, struct cam_ife_hw_mgr_ctx *ctx)
{
int i, j, res_id, rc = 0;
struct cam_isp_hw_mgr_res *hw_mgr_res;
@@ -10699,11 +10699,13 @@ static int cam_ife_mgr_prog_default_settings(
}
}
/* Program rup & aup */
rc = cam_isp_config_csid_rup_aup(ctx);
if (rc)
CAM_ERR(CAM_ISP,
"RUP/AUP update failed for scratch buffers");
/* Program rup & aup only at run time */
if (need_rup_aup) {
rc = cam_isp_config_csid_rup_aup(ctx);
if (rc)
CAM_ERR(CAM_ISP,
"RUP/AUP update failed for scratch buffers");
}
return rc;
}
@@ -10778,7 +10780,7 @@ static int cam_ife_mgr_cmd(void *hw_mgr_priv, void *cmd_args)
ctx->last_cdm_done_req;
break;
case CAM_ISP_HW_MGR_CMD_PROG_DEFAULT_CFG:
rc = cam_ife_mgr_prog_default_settings(ctx);
rc = cam_ife_mgr_prog_default_settings(true, ctx);
break;
default:
CAM_ERR(CAM_ISP, "Invalid HW mgr command:0x%x",