Re: Linux 2.6.39-rc3

From: Ingo Molnar
Date: Thu Apr 14 2011 - 05:12:03 EST



* Joerg Roedel <joro@xxxxxxxxxx> wrote:

> On Wed, Apr 13, 2011 at 06:58:46PM -0700, H. Peter Anvin wrote:
> > On 04/13/2011 12:14 PM, Yinghai Lu wrote:
> > >
> > > so looks bios program wrong address to the radon card?
> > >
> >
> > Okay, staring at this, it definitely seems toxic to overlay the GART
> > over memory areas reserved by the BIOS. If I were to guess, I would say
> > that the problem here seems to be that the kernel thinks it is
> > overlaying 64 MiB of memory, but the actual GART is in fact 512 MiB in
> > size -- 131072 CPU pages -- which now overlaps the BIOS reserved areas.
> >
> > Alex D., could you comment on the "num cpu pages" bit?
>
> Okay, I tried the debug-patch from Yinghai (posted to the bugzilla):
>
> --- a/drivers/gpu/drm/radeon/radeon_device.c
> +++ b/drivers/gpu/drm/radeon/radeon_device.c
> @@ -325,6 +325,8 @@ void radeon_gtt_location(struct radeon_device *rdev, struct radeon_mc *mc)
> mc->gtt_size = size_bf;
> }
> mc->gtt_start = (mc->vram_start & ~mc->gtt_base_align) - mc->gtt_size;
> + if (mc->gtt_start == 0xa0000000)
> + mc->gtt_start = 0x80000000;
> } else {
> if (mc->gtt_size > size_af) {
> dev_warn(rdev->dev, "limiting GTT\n");
>
> And this makes a difference, with this change on-top of -rc3 the box boots
> fine. So there seems to be some dependency between the GART base and the GTT
> base even when they are in different address spaces.
>
> Alex, can you comment on this?

I'd strongly suggest we revert back to the old and proven allocation order, as
long as it results in valid layouts. Even if we figure out this particular
GART/GTT assumption there might be a dozen others in other types of hardware.

Thanks,

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/