On Fri, Jun 04, 2021 at 09:11:03AM +0800, Jason Wang wrote:
It is not arch/platform stuff. If the device uses no-snoop then anor do any virtio drivers implement the required platform specificI don't get why virtio drivers needs to do that. I think DMA API should hide
cache flushing to make no-snoop TLPs work.
those arch/platform specific stuffs from us.
very platform specific recovery is required in the device driver.
It is not part of the normal DMA API, it is side APIs like
flush_agp_cache() or wbinvd() that are used by GPU drivers only.
If drivers/virtio doesn't explicitly call these things it doesn't
support no-snoop - hence no VDPA device can ever use no-snoop.
Since VIRTIO_F_ACCESS_PLATFORM doesn't trigger wbinvd on x86 it has
nothing to do with no-snoop.
Jason