Re: [Dri-devel] Re: [Linux-fbdev-devel] DRM and pci_driver conversion
From: Jeff Garzik
Date: Sat Oct 25 2003 - 14:18:46 EST
Linus Torvalds wrote:
Quite frankly, I'd much rather see a low-level graphics driver that does
_two_ things, and those things only:
- basic hardware enumeration and setup (and no, "basic setup" does not
mean "mode switching": it literally means things like doing the
pci_enable_device() stuff.
- serialization and arbitrary command queuing from a _trusted_ party (ie
it could take command lists from the X server, but not from untrusted
clients). This part basically boils down to "DMA and interrupts". This
is the part that allows others to wait for command completion, "enough
space in the ring buffers" etc. But it does _not_ know or care what the
commands are.
Thank you for saying it. This is what I have been preaching (quietly)
for years -- command submission and synchronization (and thus, DMA/irq
handling) needs to be in the kernel. Everything else can be in
userspace (excluding hardware enable/enumerate, of course).
Graphics processors are growing more general, too -- moving towards
generic vector/data processing engines. I bet you'll see an optimal
model emerge where you have some sort of "JIT" for GPU microcode in
userspace. Multiple apps pipeline X/GL/hardware commands into the JIT,
which in turn pipelines data and microcode commands to the GPU kernel
driver.
Jeff
-
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/