Radeon HD4850 DRI Issues

Greg Rowe greg at rowes.org
Thu Dec 17 14:38:34 UTC 2009

Thanks Robert, 
 My system is available for any testing you may need as you work on a fix. I
can wipe it and get to any software level you need.

> Ok, I've found the issue now... It is a somewhat invasive solution
> though, so it will take me a little time.
> Basically, the issue is this.  We create a list of maps either in the
> kernel or via userland requesting them to be added.  Each map has an
> offset associated with it for mmap.  Mostly the offsets are all kernel
> virtual addresses, but a few (register and framebuffer maps) are
> physical addresses.  On i386, when we allocate scatter gather memory for
> the GART aperture (32Mb on radeon) it is being allocated at the end of
> the kva space.  I have gone back and looked at all of the reports of
> this that I have and the framebuffer is always at 0xe0000000.  When the
> kva returned by bus_dma overlaps with the physical address of the
> framebuffer, we match the incorrect map when mmap is called and
> therefore we are actually mapping the ring buffer inside of the
> framebuffer, rather that out of the scatter gather memory where it
> belongs.
> I have never seen this issue on amd64.  On i386 when the framebuffer is
> located lower than 0xe0000000 things mostly work as well.  I have to
> overhaul the way that we handle mmap offsets to get this sorted out and
> possibly make a couple of changes to libdrm, which is shared code.
> robert.
> > Thanks,
> > Greg
> >
> > _______________________________________________
> > freebsd-x11 at freebsd.org mailing list
> > http://lists.freebsd.org/mailman/listinfo/freebsd-x11
> > To unsubscribe, send any mail to "freebsd-x11-unsubscribe at freebsd.org"
> --
> Robert Noland <rnoland at FreeBSD.org>
> FreeBSD

More information about the freebsd-x11 mailing list