diff options
author | Lee Jones <lee.jones@linaro.org> | 2016-05-05 14:29:39 +0100 |
---|---|---|
committer | Bjorn Andersson <bjorn.andersson@linaro.org> | 2016-05-06 11:46:36 -0700 |
commit | 3d87fa1d47c10c71684e1eca15cb051746ab1d56 (patch) | |
tree | 03d70b9ead994d59d25067990b99b43c08c9fb87 /drivers/remoteproc/remoteproc_internal.h | |
parent | 9735a22799b9214d17d3c231fe377fc852f042e9 (diff) | |
download | op-kernel-dev-3d87fa1d47c10c71684e1eca15cb051746ab1d56.zip op-kernel-dev-3d87fa1d47c10c71684e1eca15cb051746ab1d56.tar.gz |
remoteproc: core: Task sync during rproc_fw_boot()
By default, rproc_fw_boot() needs to wait for rproc to be configured,
but a race may occur when using rpmsg/virtio. In this case, it can
be called locally in a safe manor.
This patch represents two usecases:
- External call (via exported rproc_boot()), which waits
- Internal call can use 'nowait' version of rproc_boot()
Signed-off-by: Fabrice Gasnier <fabrice.gasnier@st.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Diffstat (limited to 'drivers/remoteproc/remoteproc_internal.h')
-rw-r--r-- | drivers/remoteproc/remoteproc_internal.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/remoteproc/remoteproc_internal.h b/drivers/remoteproc/remoteproc_internal.h index 8041b95..57e1de5 100644 --- a/drivers/remoteproc/remoteproc_internal.h +++ b/drivers/remoteproc/remoteproc_internal.h @@ -48,6 +48,7 @@ struct rproc_fw_ops { /* from remoteproc_core.c */ void rproc_release(struct kref *kref); irqreturn_t rproc_vq_interrupt(struct rproc *rproc, int vq_id); +int rproc_boot_nowait(struct rproc *rproc); /* from remoteproc_virtio.c */ int rproc_add_virtio_dev(struct rproc_vdev *rvdev, int id); |