remoteproc: k3-dsp: Drop check performed in k3_dsp_rproc_{mbox_callback/kick}
[ Upstream commit 349d62ab207f55f039c3ddb40b36e95c2f0b3ed0 ] Commitea1d6fb5b5("remoteproc: k3-dsp: Acquire mailbox handle during probe routine") introduced a check in the "k3_dsp_rproc_mbox_callback()" and "k3_dsp_rproc_kick()" callbacks, causing them to exit if the remote core's state is "RPROC_DETACHED". However, the "__rproc_attach()" function that is responsible for attaching to a remote core, updates the state of the remote core to "RPROC_ATTACHED" only after invoking "rproc_start_subdevices()". The "rproc_start_subdevices()" function triggers the probe of the Virtio RPMsg devices associated with the remote core, which require that the "k3_dsp_rproc_kick()" and "k3_dsp_rproc_mbox_callback()" callbacks are functional. Hence, drop the check in the callbacks. Fixes:ea1d6fb5b5("remoteproc: k3-dsp: Acquire mailbox handle during probe routine") Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com> Signed-off-by: Beleswar Padhi <b-padhi@ti.com> Tested-by: Judith Mendez <jm@ti.com> Reviewed-by: Andrew Davis <afd@ti.com> Link: https://lore.kernel.org/r/20250513054510.3439842-3-b-padhi@ti.com Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
3a4afda6fd
commit
4ce341e639
@@ -115,10 +115,6 @@ static void k3_dsp_rproc_mbox_callback(struct mbox_client *client, void *data)
|
||||
const char *name = kproc->rproc->name;
|
||||
u32 msg = omap_mbox_message(data);
|
||||
|
||||
/* Do not forward messages from a detached core */
|
||||
if (kproc->rproc->state == RPROC_DETACHED)
|
||||
return;
|
||||
|
||||
dev_dbg(dev, "mbox msg: 0x%x\n", msg);
|
||||
|
||||
switch (msg) {
|
||||
@@ -159,10 +155,6 @@ static void k3_dsp_rproc_kick(struct rproc *rproc, int vqid)
|
||||
mbox_msg_t msg = (mbox_msg_t)vqid;
|
||||
int ret;
|
||||
|
||||
/* Do not forward messages to a detached core */
|
||||
if (kproc->rproc->state == RPROC_DETACHED)
|
||||
return;
|
||||
|
||||
/* send the index of the triggered virtqueue in the mailbox payload */
|
||||
ret = mbox_send_message(kproc->mbox, (void *)msg);
|
||||
if (ret < 0)
|
||||
|
||||
Reference in New Issue
Block a user