2004-01-18 21:11:37

by Ryan Reich

[permalink] [raw]
Subject: Overlapping MTRRs in 2.6.1

I get the following message in the kernel log when X starts up:

mtrr: 0xe0000000,0x4000000 overlaps existing 0xe0000000,0x1000000
mtrr: 0xe0000000,0x4000000 overlaps existing 0xe0000000,0x1000000
[drm:radeon_cp_init] *ERROR* radeon_cp_init called without lock held
[drm:radeon_unlock] *ERROR* Process 1807 using kernel context 0

The complaint with radeon_unlock occurred in 2.4 for a while until I realized
that agpgart wasn't loading before radeon; that fixed it, but now it's returned
with 2.6 and I think the mtrr error is the cause. In XFree86.log, I get the
single-line message

(WW) RADEON(0): Failed to set up write-combining range (0xe0000000,0x4000000)

and then, further down,

(WW) RADEON(0): [agp] AGP not available

and finally,

(II) RADEON(0): Direct rendering disabled

I checked the archives and no one has posted a message on MTRR overlaps since
2002. At that time, Andrew Rodland wrote something about what appears to be
this exact problem; a link to it is

http://marc.theaimsgroup.com/?l=linux-kernel&m=102133293210888&w=2

It would seem this hasn't gotten fixed entirely, then. For comparison, 'cat
/proc/mtrr' gives

reg00: base=0x00000000 ( 0MB), size= 256MB: write-back, count=1
reg01: base=0xe8000000 (3712MB), size= 64MB: write-combining, count=1
reg02: base=0xe0000000 (3584MB), size= 16MB: write-combining, count=1

My video card is a Radeon 7000, 64M of memory; processor, Athlon 2600+;
motherboard, Shuttle AN35N with NForce2 chipset.

--
Ryan Reich
[email protected]


2004-01-18 21:57:21

by Mike Fedyk

[permalink] [raw]
Subject: Re: Overlapping MTRRs in 2.6.1

On Sun, Jan 18, 2004 at 03:11:27PM -0600, Ryan Reich wrote:
> My video card is a Radeon 7000, 64M of memory; processor, Athlon 2600+;
> motherboard, Shuttle AN35N with NForce2 chipset.

Can you try a few -mm kernels and see if there is any improvement? Also,
did you get any problems with 2.6.0?

2004-01-18 23:25:45

by Lenar

[permalink] [raw]
Subject: Re: Overlapping MTRRs in 2.6.1

Ryan Reich wrote:

> I checked the archives and no one has posted a message on MTRR overlaps
> since
> 2002. At that time, Andrew Rodland wrote something about what appears to
> be this exact problem; a link to it is

Haven't bothered. But I'm getting those errors and the inability to set up
MTRR's by X too.

I've got a hunch that in my case it depends on how big MTRR vesafb driver
sets up for itself during boot ... if it's the same size X later asks then
everything is ok.

Usually it's 16MB for vesafb in my machine and 32MB for X. So i've always
just disabled the MTRR set up by vesafb (echo "disable=n" > /proc/mtrr) and
restart X before playing games. This way no problem.

lenar

2004-01-19 01:21:51

by Ryan Reich

[permalink] [raw]
Subject: Re: Overlapping MTRRs in 2.6.1

On Sun, 18 Jan 2004, Mike Fedyk wrote:

> On Sun, Jan 18, 2004 at 03:11:27PM -0600, Ryan Reich wrote:
> > My video card is a Radeon 7000, 64M of memory; processor, Athlon 2600+;
> > motherboard, Shuttle AN35N with NForce2 chipset.
>
> Can you try a few -mm kernels and see if there is any improvement? Also,
> did you get any problems with 2.6.0?
>

Tried all the -mm kernels (-mm1 through -mm4) and 2.6.0, to no avail. The
suggestion made by Lenar in response to my original inqiry is effective, in that
it eliminates the mtrr conflict. However, it does NOT eliminate the
radeon_unlock problem, so I guess I was wrong about that.

--
Ryan Reich
[email protected]

2004-01-19 09:51:06

by Dave Jones

[permalink] [raw]
Subject: Re: Overlapping MTRRs in 2.6.1

On Sun, Jan 18, 2004 at 03:11:27PM -0600, Ryan Reich wrote:

> (WW) RADEON(0): [agp] AGP not available
>
> and finally,
>
> (II) RADEON(0): Direct rendering disabled

Make sure you're loading both the agpgart module, *AND* the
relevant chipset driver for your board, ie via-agp, intel-agp or the like.

Dave

2004-01-19 14:20:01

by Ryan Reich

[permalink] [raw]
Subject: Re: Overlapping MTRRs in 2.6.1

On Mon, 19 Jan 2004, Dave Jones wrote:

> On Sun, Jan 18, 2004 at 03:11:27PM -0600, Ryan Reich wrote:
>
> > (WW) RADEON(0): [agp] AGP not available
> >
> > and finally,
> >
> > (II) RADEON(0): Direct rendering disabled
>
> Make sure you're loading both the agpgart module, *AND* the
> relevant chipset driver for your board, ie via-agp, intel-agp or the like.

Thanks, that's what I was doing. I didn't notice that the system had changed
from 2.4.

--
Ryan Reich
[email protected]

2004-01-19 15:00:58

by Dave Jones

[permalink] [raw]
Subject: Re: Overlapping MTRRs in 2.6.1

On Mon, Jan 19, 2004 at 08:19:49AM -0600, Ryan Reich wrote:

> > Make sure you're loading both the agpgart module, *AND* the
> > relevant chipset driver for your board, ie via-agp, intel-agp or the like.
>
> Thanks, that's what I was doing. I didn't notice that the system had changed
> from 2.4.

It's mentioned in the http://www.codemonkey.org.uk/docs/post-halloween-2.6.txt
document I wrote, which is 'must read' material if you're coming from 2.4 with
no idea of what changed from a user point of view.

Dave

2004-01-19 15:16:31

by Ryan Reich

[permalink] [raw]
Subject: Re: Overlapping MTRRs in 2.6.1

On Mon, 19 Jan 2004, Dave Jones wrote:

> On Mon, Jan 19, 2004 at 08:19:49AM -0600, Ryan Reich wrote:
>
> > > Make sure you're loading both the agpgart module, *AND* the
> > > relevant chipset driver for your board, ie via-agp, intel-agp or the like.
> >
> > Thanks, that's what I was doing. I didn't notice that the system had changed
> > from 2.4.
>
> It's mentioned in the http://www.codemonkey.org.uk/docs/post-halloween-2.6.txt
> document I wrote, which is 'must read' material if you're coming from 2.4 with
> no idea of what changed from a user point of view.

...which I had intended to read, but forgot. Incidentally, the mtrr problem is
still present; I just have agp now.

--
Ryan Reich
[email protected]