On Fri, Sep 25, 2020 at 03:26:29PM +0800, Sherry Sun wrote: > Set VIRTIO_F_ACCESS_PLATFORM feature for nocoherent platform, since > it needs the DMA API for virtio. > > Signed-off-by: Sherry Sun <sherry....@nxp.com> > Signed-off-by: Joakim Zhang <qiangqing.zh...@nxp.com> > --- > drivers/misc/mic/vop/vop_main.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/misc/mic/vop/vop_main.c b/drivers/misc/mic/vop/vop_main.c > index d3645122c983..d609f0dc6124 100644 > --- a/drivers/misc/mic/vop/vop_main.c > +++ b/drivers/misc/mic/vop/vop_main.c > @@ -125,6 +125,9 @@ static void vop_transport_features(struct virtio_device > *vdev) > * creates virtio rings on preallocated memory. > */ > __virtio_clear_bit(vdev, VIRTIO_F_RING_PACKED); > + > + if (!dev_is_dma_coherent(vdev->dev.parent)) > + __virtio_set_bit(vdev, VIRTIO_F_ACCESS_PLATFORM);
Why look at the parent and not the device itself?