Re: [PATCH 5/5] vdpasim: vDPA device simulator

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 2020/2/4 下午8:52, Jason Gunthorpe wrote:
On Tue, Feb 04, 2020 at 04:28:27PM +0800, Jason Wang wrote:
On 2020/2/4 下午4:21, Zhu Lingshan wrote:
+static const struct dma_map_ops vdpasim_dma_ops = {
+    .map_page = vdpasim_map_page,
+    .unmap_page = vdpasim_unmap_page,
+    .alloc = vdpasim_alloc_coherent,
+    .free = vdpasim_free_coherent,
+};
+
Hey Jason,

IMHO, it would be nice if dma_ops of the parent device could be re-used.
vdpa_device is expecting to represent a physical device except this
simulator, however, there are not enough information in vdpa_device.dev
to indicating which kind physical device it attached to. Namely
get_arch_dma_ops(struct bus type) can not work on vdpa_device.dev. Then
it seems device drivers need to implement a wrap of dma_ops of parent
devices. Can this work be done in the vdpa framework since it looks like
a common task? Can "vd_dev->vdev.dev.parent = vdpa->dev->parent;" in
virtio_vdpa_probe() do the work?

Thanks,
BR
Zhu Lingshan

Good catch.

I think we can.
IMHO you need to specify some 'dma_device', not try and play tricks
with dma_ops, or assuming the parent is always the device used for
dma.

Jason


Right, this is what in my mind and discussed in the vhost-vdpa thread.

Will go this way.

Thanks






[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux