@@ -164,9 +164,8 @@ static void vhost_vdpa_iotlb_batch_begin_once(VhostVDPAShared *s)
s->iotlb_batch_begin_sent = true;
}
-static void vhost_vdpa_listener_commit(MemoryListener *listener)
+static void vhost_vdpa_dma_end_batch(VhostVDPAShared *s)
{
- VhostVDPAShared *s = container_of(listener, VhostVDPAShared, listener);
struct vhost_msg_v2 msg = {};
int fd = s->device_fd;
@@ -190,6 +189,13 @@ static void vhost_vdpa_listener_commit(MemoryListener *listener)
s->iotlb_batch_begin_sent = false;
}
+static void vhost_vdpa_listener_commit(MemoryListener *listener)
+{
+ VhostVDPAShared *s = container_of(listener, VhostVDPAShared, listener);
+
+ vhost_vdpa_dma_end_batch(s);
+}
+
static void vhost_vdpa_iommu_map_notify(IOMMUNotifier *n, IOMMUTLBEntry *iotlb)
{
struct vdpa_iommu *iommu = container_of(n, struct vdpa_iommu, n);
So we can call out vhost_vdpa_dma_end_batch out of the listener callbacks. Signed-off-by: Eugenio PĂ©rez <eperezma@redhat.com> --- hw/virtio/vhost-vdpa.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)