MTRR setting and framebuffer driver

Jamie Lokier (lkd@tantalophile.demon.co.uk)
Tue, 14 Sep 1999 02:48:02 +0200


vesafb tries to set a 2.5MB MTRR on my machine. This makes sense: I
have 2.5MB video memory

The MTRR driver rejects this as not a power of two.
That's fair, but not necessary in this case.

Because the 2.5MB region is a PCI region, it is power-of-two aligned,
and effectively carves 4MB in PCI mmio space.

vesafb doesn't know that: it only knows what the Vesa BIOS reports.

But we know that because we can see it in the mmio resource tree. The
2.5MB region is a subregion of a 4MB region.

Request
-------

I would like either vesafb, or the MTRR driver to realise that this
2.5MB region is a sub-region of the 4MB region that won't be used by
anything else, so it is safe to allocate a 4MB write-combining MTRR.

Richard, is this possible now that we have the resource tree to examine?
Perhaps it is possible to generically permit rounding an MTRR range,
provided the extra address space is not used in the resource tree, and
if this condition changes in the tree, to remove the MTRR.

-- Jamie

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