Re: [PATCH] disable CPU side GART accesses

Bob Montgomery
2008-11-19T22:09:48Z

On Mon, 2008-11-03 at 23:55 +0000, Dave Airlie wrote:
> On Tue, Nov 4, 2008 at 9:36 AM, Bob Montgomery <bob.montgomery@hp.com> wrote:

> > We're specifically talking about AMD64, and we're not using an IOMMU for
> > AGP, we're using the AMD64 implementation of the GART for an IOMMU.
> > The (possible) danger is that some old AMD64 system could also (or
> > instead) try using the GART for AGP and run into a problem since my
> > patch wants to disable CPU side access to the aperture, which is fine
> > when we're using it as an IOMMU.
> >
> > In drivers/gpu/drm/drm_memory.c:agp_remap(), there are these comments
> > about the part of the code that deals with "cant_use_aperture":
> >
> > /*
> > * OK, we're mapping AGP space on a chipset/platform on which
> > * memory accesses by the CPU do not get remapped by the GART.
> > * We fix this by using the kernel's page-table instead (that's
> > * probably faster anyhow...).
> > */
> >
> > So that's encouraging. Now the question is this: Can I just go into
> > amd64-agp.c and add ".cant_use_aperture=true" to the agp_bridge_driver
> > struct? Who's brave enough to say that will just work? :-)
>
> I have serious doubts about including such a patch without testing on
> a large range of AMD64 systems
> with a large range of distro/X servers.
>
> Dave.

Well, since I hate it when kernel discussion threads just end with no
resolution...

I don't have access to a large range of AMD64 systems that use AGP
graphics. In fact, I can't find any around here. So testing my way to
resolving this potential problem in these drivers is probably not going
to work.

I've seen references to systems that had Opterons, and AGP graphics, and
could hold more than 4GB of RAM, but I don't know how many are out
there. So since I can't do a bunch of distro/X server testing, I'm not
sure how to proceed to get as simple a fix for this problem on real
systems that do exist now.

Bob Montgomery