From: Suman Anna Date: Tue, 10 Mar 2020 21:05:53 +0000 (-0500) Subject: remoteproc: k3-dsp: Fix unbalanced state machine in k3_dsp_start X-Git-Tag: v2020.07-rc1~41^2~7^2~5 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=0020003ef3aac0d56b0d1b26c1dcace4b7d1ae6f;p=oweals%2Fu-boot.git 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 --- 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);