On Fri, Jan 25, 2002 at 07:02:47AM -0700, Jens Owen wrote: > ... > > For example, instead of a whole bunch of different odd hardware-specific > > calls, limit the driver to the following classes of operations: > > > > 1. AGP (and make it SIMPLE!) > > 2. DMA (See above) > > 3. write register/read register [*] > .... > > This approach could work for one or two styles of hardware--but there a > more variations and need out there. I'd like to see a design that was > flexible enough for many styles, even if the initial implementation only > supported a single style.
Please specify a type of hardware that this wont work for, and specifics on why it wont work. > A small amount of 2D init functionality still uses programmed I/O (in > and out instruction on x86), everything else have moved to a relocatable > base address for memory mapped I/O (mov instruction on x86). Aha. This would be one of them :-) Okay, under the "write/read register", add "write/read PIO". This still keeps it a nice, relatively simple interface. > > you no longer have to be doing driver-type operations > > directly in user-space. > > I'm sorry--you've lost me. Can you give an example. As a device driver writer, it feels intrinsically 'wrong' for user-space programs to say "map the device registers into my address space, turn off all memory protection, and I'll take it from here". Yes, I know the higher-level X stuff does that anyway, but lets fix each bit in its own time :-) _______________________________________________ Dri-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dri-devel