Selaa lähdekoodia

msm: eva: Restart EVA in case warmboot fails

Firmware cannot recover by power cycling EVA. Try cold boot.

Change-Id: I83778941f8626d4a3ee7e1f7670a64186ccde831
Signed-off-by: George Shen <[email protected]>
George Shen 3 vuotta sitten
vanhempi
sitoutus
58dc151523
1 muutettua tiedostoa jossa 4 lisäystä ja 0 poistoa
  1. 4 0
      msm/eva/cvp_hfi.c

+ 4 - 0
msm/eva/cvp_hfi.c

@@ -4144,6 +4144,7 @@ static inline int __resume(struct iris_hfi_device *device)
 {
 	int rc = 0;
 	u32 flags = 0, reg_gdsc, reg_cbcr;
+	struct msm_cvp_core *core;
 
 	if (!device) {
 		dprintk(CVP_ERR, "Invalid params: %pK\n", device);
@@ -4155,6 +4156,8 @@ static inline int __resume(struct iris_hfi_device *device)
 		return -EINVAL;
 	}
 
+	core = list_first_entry(&cvp_driver->cores, struct msm_cvp_core, list);
+
 	dprintk(CVP_PWR, "Resuming from power collapse\n");
 	rc = __iris_power_on(device);
 	if (rc) {
@@ -4181,6 +4184,7 @@ static inline int __resume(struct iris_hfi_device *device)
 	rc = __boot_firmware(device);
 	if (rc) {
 		dprintk(CVP_ERR, "Failed to reset cvp core\n");
+		msm_cvp_trigger_ssr(core, SSR_ERR_FATAL);
 		goto err_reset_core;
 	}