summaryrefslogtreecommitdiff
path: root/drivers/remoteproc
diff options
context:
space:
mode:
authorSuman Anna <s-anna@ti.com>2020-03-10 16:05:53 -0500
committerLokesh Vutla <lokeshvutla@ti.com>2020-03-16 12:32:47 +0530
commit0020003ef3aac0d56b0d1b26c1dcace4b7d1ae6f (patch)
tree9fdc4e253446c4a39d9dbd8f08e3fed3d900184c /drivers/remoteproc
parent6e44aebdbb96e9465ec874b926fa108fd10d9b59 (diff)
downloadu-boot-0020003ef3aac0d56b0d1b26c1dcace4b7d1ae6f.tar.gz
remoteproc: k3-dsp: Fix unbalanced state machine in k3_dsp_start
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>
Diffstat (limited to 'drivers/remoteproc')
-rw-r--r--drivers/remoteproc/ti_k3_dsp_rproc.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/remoteproc/ti_k3_dsp_rproc.c b/drivers/remoteproc/ti_k3_dsp_rproc.c
index 09e050ffb2..ff5d7f7f46 100644
--- a/drivers/remoteproc/ti_k3_dsp_rproc.c
+++ b/drivers/remoteproc/ti_k3_dsp_rproc.c
@@ -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);