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

Jason Wang
2020-02-04T08:28:53Z

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.

Thanks