Radeon HD4850 DRI Issues
greg at rowes.org
Thu Dec 17 14:38:34 UTC 2009
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
> 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.
> > 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>
More information about the freebsd-x11