Re: Problems with alpha/pci + radeon/ttm

Konrad Rzeszutek Wilk
2010-06-30T18:45:35Z

On Sun, Jun 27, 2010 at 12:58:07AM -0400, Matt Turner wrote:
> On Sun, Jun 27, 2010 at 12:20 AM, FUJITA Tomonori
> <fujita.tomonori@lab.ntt.co.jp> wrote:
> > On Thu, 24 Jun 2010 10:53:52 -0400
> > Matt Turner <mattst88@gmail.com> wrote:
> >
> >> > Seems that the IOMMU can't find 128 pages. It's likely due to:
> >> >
> >> > - out of the IOMMU space (possibly someone doesn't free the IOMMU
> >> >  space).
> >> >
> >> > or
> >> >
> >> > - the mapping parameters (such as align) aren't appropriate so the
> >> >  IOMMU can't find space.
> >> >
> >> >
> >> >> Is this the cause of the bug we're seeing in the report [1]?

For the fun I did:
cat /tmp/screenlog.0 | grep iommu_arena | wc
28509 199588 2167164

Which is to say 28509 * 4096 = 116736000. That looks to be about 111MB.

That does not look right when you are trying to allocate 128 pages. You
are sure it is 128 pages? Can you make the ttm_ code print out the total
of pages it is trying to PCI map ? It might also be interesting to see
how many pages the pci_iommu.c has already set aside for other devices.

The BAR is 128MB, but that would have been an ioremap call - and done
much earlier I think.