Merge "video: driver: resume video core before running ssr command"

Tento commit je obsažen v:
qctecmdr
2023-03-14 10:31:21 -07:00
odevzdal Gerrit - the friendly Code Review server
2 změnil soubory, kde provedl 14 přidání a 0 odebrání

Zobrazit soubor

@@ -4660,6 +4660,8 @@ int msm_vidc_trigger_ssr(struct msm_vidc_core *core,
* reserved: 8-31 bits
* test_addr: 32-63 bits
*/
d_vpr_e("%s: trigger ssr is called. trigger ssr val: %#llx\n",
__func__, trigger_ssr_val);
ssr->ssr_type = (trigger_ssr_val &
(unsigned long)SSR_TYPE) >> SSR_TYPE_SHIFT;
ssr->sub_client_id = (trigger_ssr_val &
@@ -4683,6 +4685,8 @@ void msm_vidc_ssr_handler(struct work_struct *work)
}
ssr = &core->ssr;
d_vpr_e("%s: ssr handler is called, core state: %s\n",
__func__, core_state_name(core->state));
core_lock(core, __func__);
if (is_core_state(core, MSM_VIDC_CORE_INIT)) {
/*

Zobrazit soubor

@@ -1075,6 +1075,16 @@ int venus_hfi_trigger_ssr(struct msm_vidc_core *core, u32 type,
return -EINVAL;
}
/*
* call resume before preparing ssr hfi packet in core->packet
* otherwise ssr hfi packet in core->packet will be overwritten
* by __resume() call (inside __cmdq_write) which is preparing
* ifpc hfi packets in core->packet
*/
rc = __resume(core);
if (rc)
return rc;
payload[0] = client_id << 4 | type;
payload[1] = addr;