Re: DRM code reorganization

From: Alan Cox
Date: Mon Aug 02 2004 - 14:22:22 EST


On Llu, 2004-08-02 at 19:57, Dave Jones wrote:
> > The problem is that each driver has different needs based on hardware
> > functionality.
>
> How does this differ from any other subsystem that supports
> cards with features that may not be present in another model ?
> Other subsystems have dealt with this problem without the need
> to introduce horrors like the abstractions in DRM.

The abstractions are one big mistake IMHO. But in context their origin
is easy to understand. The original goal was to support a lot of
platforms and to minimise code writing. The Mesa layer uses this kind of
templating a lot and for the 3D client side code its a real win.

Someone I think took them a stage too far and into a place that it
didn't work out.

The memory manager is a bit more complex, a lot of drivers do have
different needs for memory management and some of it has to be client
side. Its also a really really hot path when doing direct render.

> > AFAIK, the only drivers that have any sort of in-kernel memory manager
> > are the radeon (only used by the R200 driver) and i830.
>
> ISTR SiS has some memory management code too, though I've not looked
> too closely at that for a long time.

SiS and VIA do as well. Both of them overdo the kernel side work and it
hurts performance however.

Alan

-
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/