summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Nelson <sam.nelson@ti.com>2020-01-20 14:26:28 -0500
committerSam Nelson <sam.nelson@ti.com>2020-01-31 11:26:33 -0500
commit6c413b7567d9dd50d586c1fa341e573aa7874721 (patch)
tree7058c06ed99ac15183f60b51797dccaefc9b937b
parent80854bd039207043160f59b2a8fb9bab31e1549f (diff)
downloadipc-6c413b7567d9dd50d586c1fa341e573aa7874721.tar.gz
VirtQueue: AM65X: poll for init completion status
Virtqueue device address is provided by host, so poll the completion status for this operation before proceeding. Otherwise we end up using bad virtqueue address. Signed-off-by: Sam Nelson <sam.nelson@ti.com>
-rw-r--r--packages/ti/ipc/family/am65xx/VirtQueue.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/packages/ti/ipc/family/am65xx/VirtQueue.c b/packages/ti/ipc/family/am65xx/VirtQueue.c
index 09db6a0..311ea32 100644
--- a/packages/ti/ipc/family/am65xx/VirtQueue.c
+++ b/packages/ti/ipc/family/am65xx/VirtQueue.c
@@ -232,6 +232,8 @@ static Void _VirtQueue_init()
if (result != Registry_SUCCESS) {
return;
}
+ /* Wait till Vdev buffers are primed and ready to go */
+ while (Resource_getVdevStatus(VIRTIO_ID_RPMSG) != VRING_BUFS_PRIMED);
initialized = 1;
}