[Bug 89360] [bdw-u iommu] DMAR error -> GPU hang

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Jul 12 11:42:33 UTC 2017


https://bugs.freedesktop.org/show_bug.cgi?id=89360

--- Comment #58 from Du, Changbin <changbin.du at intel.com> ---
Chris, I did a experiment that make the intel_unmap as a noop. Then the old dma
region keeps mapped, and new allocated buf always has new IOVA. Thus I didn't
reproduce this issue.

Therefor, I guess BDW GPU may still issue DMA transaction with old unmapped dma
region, even that workload has finished. And I always see the hang at PIPE_CTL.

--- a/drivers/iommu/intel-iommu.c
+++ b/drivers/iommu/intel-iommu.c
@@ -3787,7 +3787,7 @@ static void intel_unmap(struct device *dev, dma_addr_t
dev_addr, size_t size)
        struct intel_iommu *iommu;
        struct page *freelist;

-       if (iommu_no_mapping(dev))
+       //if (iommu_no_mapping(dev))
                return;

        domain = find_domain(dev);

BTW, sometimes the IOMMU fault addr is 48 bit which more like a Gfx VA, but
sometimes it is 33bit or less which more like a IOVA or Pysical Address. Per my
understanding IOMMU fault should always be IOVA, so how does a Gfx VA recored,
is the dedicated gfx iommu special?

Thanks,
Changbin.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-gfx-bugs/attachments/20170712/0d685f11/attachment-0001.html>


More information about the intel-gfx-bugs mailing list