Hi all!
I wanna try to explain my understanding how the KGI-target should
work/look like.
Please note, that this is just a rough overview. Please don't go too
much into details. I don't want that we loose in details on each
other. I just wanna know, if everyone agrees with this or not in
order to have a good base to start when the time is coming...
We should do the discussion on both GGI and KGI-list, because this
topic refers to both projects. So, please make sure, that you always
post to both lists on reply.
Initialization part
===================
The GGI app opens the KGI-target. The KGI-target opens /dev/graphic
and /dev/event and asks the KGI-driver through an IOCTL, which
graphic card (chipset/ramdac/clock-chips) is used. The KGI-target
then loads a card/chipset-specific sublib like the fbdev-target does.
Then all the card/chipset-specific initialization will be done using
the ping-pong mechanism.
Runtime part
============
KGI-target fills chipset-specific commands/registers in the
ping-buffer and the KGI-driver parses and executes it. Return values
from the registers comes back with the pong-buffer.
Non-supported GGI operations by the KGI-driver will be done through
the default routines like fbdev does.
Exit part
=========
KGI-driver makes sure, that the ACCEL-engine is idle and nothing is
in the execution queue. Then /dev/graphic and /dev/event will be
closed. GGI apps exists as usual then (KGI-target will be closed,
etc.).
CU,
Christoph Egger
E-Mail: [EMAIL PROTECTED]