remoteproc: k3-dsp: Fix unbalanced state machine in k3_dsp_start
authorSuman Anna <s-anna@ti.com>
Tue, 10 Mar 2020 21:05:53 +0000 (16:05 -0500)
committerLokesh Vutla <lokeshvutla@ti.com>
Mon, 16 Mar 2020 07:02:47 +0000 (12:32 +0530)
The global module reset is deasserted through the ti_sci_power_domain_on()
call in k3_dsp_start(), but is not asserted back if the local module reset
fails. Fix this.

While at this, remove the stale comment about assigned-clock-rates that
seems to have been copied from the K3 ARM64 Remoteproc driver.

Fixes: ab827b385718 ("remoteproc: Introduce K3 C66 and C71 remoteproc driver")
Signed-off-by: Suman Anna <s-anna@ti.com>
drivers/remoteproc/ti_k3_dsp_rproc.c

index 09e050f..ff5d7f7 100644 (file)
@@ -102,16 +102,14 @@ static int k3_dsp_start(struct udevice *dev)
        ret = ti_sci_proc_request(&dsp->tsp);
        if (ret)
                return ret;
-       /*
-        * Setting the right clock frequency would have taken care by
-        * assigned-clock-rates during the device probe. So no need to
-        * set the frequency again here.
-        */
+
        ret = ti_sci_proc_power_domain_on(&dsp->tsp);
        if (ret)
                goto proc_release;
 
        ret = reset_deassert(&dsp->dsp_rst);
+       if (ret)
+               ti_sci_proc_power_domain_off(&dsp->tsp);
 
 proc_release:
        ti_sci_proc_release(&dsp->tsp);