video: driver: force flush debug queue packets in error scenario

During power_collapse & core_deinit sequence, always flush debug
queue irrespective of firmware logmask, to get more info about
failure.

Change-Id: I4ef328d27a77eb0807df6dc33fe0b2b92bf1feda
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
Dieser Commit ist enthalten in:
Govindaraj Rajagopal
2021-06-25 15:51:05 +05:30
Ursprung f19e84239c
Commit 55795168af
3 geänderte Dateien mit 5 neuen und 5 gelöschten Zeilen

Datei anzeigen

@@ -50,7 +50,7 @@ int venus_hfi_session_open(struct msm_vidc_inst *inst);
int venus_hfi_session_set_codec(struct msm_vidc_inst *inst);
int venus_hfi_session_set_secure_mode(struct msm_vidc_inst *inst);
int venus_hfi_core_init(struct msm_vidc_core *core);
int venus_hfi_core_deinit(struct msm_vidc_core *core);
int venus_hfi_core_deinit(struct msm_vidc_core *core, bool force);
int venus_hfi_noc_error_info(struct msm_vidc_core *core);
int venus_hfi_suspend(struct msm_vidc_core *core);
int venus_hfi_trigger_ssr(struct msm_vidc_core *core, u32 type,

Datei anzeigen

@@ -3999,7 +3999,7 @@ int msm_vidc_core_deinit_locked(struct msm_vidc_core *core, bool force)
}
}
venus_hfi_core_deinit(core);
venus_hfi_core_deinit(core, force);
/* unlink all sessions from core, if any */
list_for_each_entry_safe(inst, dummy, &core->instances, list) {

Datei anzeigen

@@ -1212,7 +1212,7 @@ static int __power_collapse(struct msm_vidc_core *core, bool force)
return -EINVAL;
}
__flush_debug_queue(core, core->packet, core->packet_size);
__flush_debug_queue(core, (!force ? core->packet : NULL), core->packet_size);
rc = call_venus_op(core, prepare_pc, core);
if (rc)
@@ -2859,7 +2859,7 @@ error:
return rc;
}
int venus_hfi_core_deinit(struct msm_vidc_core *core)
int venus_hfi_core_deinit(struct msm_vidc_core *core, bool force)
{
int rc = 0;
@@ -2875,7 +2875,7 @@ int venus_hfi_core_deinit(struct msm_vidc_core *core)
if (core->state == MSM_VIDC_CORE_DEINIT)
return 0;
__resume(core);
__flush_debug_queue(core, core->packet, core->packet_size);
__flush_debug_queue(core, (!force ? core->packet : NULL), core->packet_size);
__disable_subcaches(core);
__unload_fw(core);
/**