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]

Reply via email to