From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tero Kristo Date: Wed, 5 May 2021 20:55:17 +0300 Subject: [PATCHv3 03/26] remoteproc: k3-r5: remove sysfw PM calls if not supported In-Reply-To: <20210505175540.15006-1-kristo@kernel.org> References: <20210505175540.15006-1-kristo@kernel.org> Message-ID: <20210505175540.15006-4-kristo@kernel.org> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de From: Tero Kristo With the sysfw rearch, sysfw PM calls are no longer available from SPL level. To properly support this, remove the is_on checks and the reset assertion from the R5 remoteproc driver as these are not supported. Attempting to access unavailable services will cause the device to hang. Signed-off-by: Tero Kristo Signed-off-by: Tero Kristo --- drivers/remoteproc/ti_k3_r5f_rproc.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/remoteproc/ti_k3_r5f_rproc.c b/drivers/remoteproc/ti_k3_r5f_rproc.c index 3c569a3b7b..c8c30b9020 100644 --- a/drivers/remoteproc/ti_k3_r5f_rproc.c +++ b/drivers/remoteproc/ti_k3_r5f_rproc.c @@ -781,7 +781,9 @@ static int k3_r5f_probe(struct udevice *dev) { struct k3_r5f_cluster *cluster = dev_get_priv(dev->parent); struct k3_r5f_core *core = dev_get_priv(dev); +#ifndef CONFIG_K3_DM_FW bool r_state; +#endif int ret; dev_dbg(dev, "%s\n", __func__); @@ -804,6 +806,12 @@ static int k3_r5f_probe(struct udevice *dev) return ret; } + /* + * The PM functionality is not supported by the firmware during + * SPL execution with the separated DM firmware image. The following + * piece of code is not compiled in that case. + */ +#ifndef CONFIG_K3_DM_FW ret = core->tsp.sci->ops.dev_ops.is_on(core->tsp.sci, core->tsp.dev_id, &r_state, &core->in_use); if (ret) @@ -817,6 +825,7 @@ static int k3_r5f_probe(struct udevice *dev) /* Make sure Local reset is asserted. Redundant? */ reset_assert(&core->reset); +#endif ret = k3_r5f_rproc_configure(core); if (ret) { -- 2.17.1