On Mon, 02 Oct 2023 22:08:02 -0500, Gaurav Batra wrote:
When a device is initialized, the driver invokes dma_supported() twice - first for streaming mappings followed by coherent mappings. For an SR-IOV device, default window is deleted and DDW created. With vPMEM enabled, TCE mappings are dynamically created for both vPMEM and SR-IOV device. There are no direct mappings.
First time when dma_supported() is called with 64 bit mask, DDW is created and marked as dynamic window. The second time dma_supported() is called, enable_ddw() finds existing window for the device and incorrectly returns it as "direct mapping".
[...]
Applied to powerpc/next.
[1/1] powerpc/pseries/iommu: enable_ddw incorrectly returns direct mapping for SR-IOV device https://git.kernel.org/powerpc/c/3bf983e4e93ce8e6d69e9d63f52a66ec0856672e
cheers