Re: [PATCH] Use MTRRs by default for vesafb on x86-64

Jamie Lokier
2003-05-18T15:58:23Z

Andi Kleen wrote:
> On Fri, May 16, 2003 at 10:51:36PM +0200, Alan Cox wrote:
> > On Iau, 2003-05-15 at 16:16, Dave Jones wrote:
> > > There are PCI ET4000's too. Though if we can get the PCI IDs for those,
> > > we can work around them with a quirk. I have one *somewhere*, but it'll
> > > take me a while to dig it out.
> >
> > Some older SiS cards have problems too. I have a 6326 that doesn't work
> > with sisfb (too old) and vesafb with mtrr fails.
>
> Can you provide PCI info for them to add a quirk ?

What exactly "doesn't work" with these cards?

I'm thinking that the only way write-combining MTRRs could possibly
break a framebuffer is if part of the address range is used as a
register bank - otherwise, to the card, it just looks like well
written rendering code.

If this is so, then it might be possible to set write-combining MTRRs
while the framebuffer is operating, but to temporarily disable those
MTRRs while calling into the VESA BIOS code, for these cards.

And if that does work, then it might even be reasonable to temporarily
disable the MTRRs while calling the BIOS for all vesafb cards, thus
removing the need for a blacklist -- which is a headache for something
that needs to be as portable to unknown cards as vesafb.

-- Jamie