diff options
author | Sam Nelson <sam.nelson@ti.com> | 2020-01-20 14:26:28 -0500 |
---|---|---|
committer | Sam Nelson <sam.nelson@ti.com> | 2020-01-31 11:26:33 -0500 |
commit | 6c413b7567d9dd50d586c1fa341e573aa7874721 (patch) | |
tree | 7058c06ed99ac15183f60b51797dccaefc9b937b | |
parent | 80854bd039207043160f59b2a8fb9bab31e1549f (diff) | |
download | ipc-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.c | 2 |
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; } |