Thread (91 messages) 91 messages, 12 authors, 2004-05-07

Re: [PATCH] neofb patches

flat view

From: Ville Syrjälä <syrjala@sci.fi>
Date: 2004-04-30 15:06:31

On Fri, Apr 30, 2004 at 07:57:20AM +1000, Benjamin Herrenschmidt wrote:
quoted
quoted
Finally, the geometry of screens is something that has nothing to
do in the kernel imho.
I don't like micro kernel designs. This is way micro kernels handle this 
problem.
This has nothing to do with microkernel design and everything to do with
not bloating the kernel with things that don't to be there.
I would like the kernel to handle CRTCs and overlays in the same way, and 
that way IMHO should be to calculate register values in userspace and just 
have a few ioctls to have the kernel write them.

Set all registers ioctl:
Nothing special needed here I think.

Set buffer offset (pan/flip) ioctl:
This one should return the current vertical blank counter. It's needed for 
proper triple buffering. It should also be able to choose when to flip 
(immediately or vblank, on top/bottom/any field).

Wait for vertical blank ioctl:
This one should also return the current vblank counter. It should also be 
able to wait for absolute and relative vblank counter values. Waiting for 
relative=1 would insure you're at the vblank when it returns and waiting 
for absolute=last_flip_counter_value+1 would help with double buffering.


The main reason for userspace register calculation is that there are a lot 
of knobs in some hardware (especially with overlays). Trying to abstract 
those without loosing any features would be a problem. And even the API 
would cover all of todays graphics chip something new might come along in 
the future and the API might become too limited.

-- 
Ville Syrjälä
syrjala@sci.fi
http://www.sci.fi/~syrjala/


-------------------------------------------------------
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g. 
Take an Oracle 10g class now, and we'll give you the exam FREE. 
http://ads.osdn.com/?ad_id149&alloc_id�66&op=click
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help