Regression introduced by 90797e6d1ec0dfde6ba62a48b9ee3803887d6ed4 ("drm/i915: create compact dma scatter lists for gem objects") Was:Re: i915 mapping large (3MB) scatter list, hitting limits on certain IOMMUs that can only map contingous regions up to 2MB.

Chris Wilson chris at chris-wilson.co.uk
Sat Jun 22 07:22:59 PDT 2013


On Fri, Jun 21, 2013 at 10:03:43PM -0400, Konrad Rzeszutek Wilk wrote:
> On Fri, Jun 21, 2013 at 03:28:28PM -0400, Konrad Rzeszutek Wilk wrote:
> > Hey,
> 
> CC-ing Imre,
> 
> Imre, your patch 90797e6d1ec0dfde6ba62a48b9ee3803887d6ed4
> ("drm/i915: create compact dma scatter lists for gem objects") is the cause
> of the regression.
> 
> If I revert your patch it boots fine without any trouble.
> 
> I am not entirely sure why that is - as I added some debug code in
> lib/swiotlb.c to trigger when it can't find 3MB  area (which
> is what I thought initially was the issue) - but none of the debug
> code seems to be hit.
> 
> Any thoughts?

You should be hitting drivers/iommu/intel-iommu.c for the dma
translation. It looks like the contiguous 3MiB segment will be special
as it is the first sg that __domain_mapping() will attempt to allocate a
superpage (2MiB) for. What goes wrong at point, I am not sure, but I
would suggest peppering intel-iommu.c with printk to track down the error.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the dri-devel mailing list