From: Denis Oliver Kropp <dok@directfb.org>
To: Sven Luther <sven@powerlinux.fr>
Cc: directfb-users@directfb.org, "Brian G. Rhodes" <bgr@acdstar.com>,
linux-fbdev-devel@lists.sourceforge.net,
directfb-dev@directfb.org,
Geert Uytterhoeven <geert@linux-m68k.org>
Subject: Re: [directfb-dev] [directfb-users] DirectFB without FBDev
Date: Sat, 31 May 2008 08:08:54 +0200 [thread overview]
Message-ID: <4840EB76.6040506@directfb.org> (raw)
In-Reply-To: <20080529165452.GA7708@powerlinux.fr>
Sven Luther wrote:
> On Wed, May 28, 2008 at 08:07:10PM +0200, Denis Oliver Kropp wrote:
>> Brian G. Rhodes wrote:
>> I don't think a new kernel graphics interface should be added, instead using
>> UIO to access MMIO, DMA and IRQs would be enough and implement most of the
>> graphics driver in user space. Downside is to loose the kernel console which
>> you usually don't need on an embedded device...
>>
>> For acceleration and DMA/IRQ based programming, I still need to check if a
>> user space approach would be enough. So far I always handled IRQs in kernel
>> space for timing/performance reasons...
>
> Euh, well, i think the X / OpenGL approach showed us that to do DMA/IRQ,
> you need a kernel module, and what X/OpenGL is the DRI thingy.
In some cases performance might be sufficient if IRQs are just routed to user
space and handled in a real time thread. You can program the DMA engine from
user space, it's just the IRQ that's only arriving in kernel space.
> Would it make sense for directfb to re-use this selfsame infrasturcture,
> which already exists in the kernel, and is used by X, so kind of
> guaranteed to be available for many graphic cards ?
If there are drivers within this framework that we could use it makes sense,
but for writing support for a new chip one has to consider the overhead of
using a framework vs benefits. Overhead could be in time to develop and/or at
runtime. Benefits could be safety by relying on proven core code, but also saving
time to develop by having to write less code.
> But maybe it is too complex or something ?
It depends on what you need in kernel space. Have a look at the SH7722 kernel
module. I'm not sure if the benefits of DRI would be that big to compensate for
the overhead or limitations. E.g. this driver manages a self running DMA queue,
where in the ideal case you never have to do any system call, but just append data
to the DMA buffer from user space.
http://git.directfb.org/?p=core/DirectFB.git;a=blob;f=gfxdrivers/sh7722/kernel-module/sh7722gfx.c
This driver handles different interrupt sources, provides DMA for the accelerator
as mentioned above and implements a minor portion of JPEG encoding and decoding with
the rest done in user space.
--
Best regards,
Denis Oliver Kropp
.------------------------------------------.
| DirectFB - Hardware accelerated graphics |
| http://www.directfb.org/ |
"------------------------------------------"
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
next prev parent reply other threads:[~2008-05-31 6:08 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-28 14:59 DirectFB without FBDev Denis Oliver Kropp
2008-05-28 17:04 ` Geert Uytterhoeven
2008-05-28 17:20 ` Denis Oliver Kropp
[not found] ` <483D9453.1080700-iGvX3keArt1g9hUCZPvPmw@public.gmane.org>
2008-05-28 17:53 ` [Linux-fbdev-devel] " Brian G. Rhodes
2008-05-28 18:07 ` [directfb-users] " Denis Oliver Kropp
2008-05-28 18:24 ` Alex Deucher
[not found] ` <a728f9f90805281124y53df86e7n7ae1918ac97907fc-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-05-28 18:57 ` [Linux-fbdev-devel] " Denis Oliver Kropp
2008-05-28 19:33 ` [directfb-users] " Alex Deucher
2008-05-28 18:55 ` Brian G. Rhodes
[not found] ` <483DAAB7.6080208-3mWahjwryh5BDgjK7y7TUQ@public.gmane.org>
2008-05-28 19:11 ` [Linux-fbdev-devel] " Denis Oliver Kropp
2008-05-28 19:38 ` [directfb-users] " Brian G. Rhodes
[not found] ` <483D9F4E.4000707-iGvX3keArt1g9hUCZPvPmw@public.gmane.org>
2008-05-29 16:54 ` [directfb-dev] [Linux-fbdev-devel] " Sven Luther
2008-05-31 6:08 ` Denis Oliver Kropp [this message]
2008-05-31 6:21 ` [directfb-dev] [directfb-users] " Sven Luther
2008-05-31 6:29 ` Denis Oliver Kropp
2008-05-31 6:45 ` Sven Luther
[not found] ` <20080531064501.GA7526-XkLrfMvk983aVgXGlvhGPA@public.gmane.org>
2008-05-31 20:32 ` George Tsalikis
2008-06-01 7:10 ` [directfb-dev] " Denis Oliver Kropp
[not found] ` <48424B49.8080202-iGvX3keArt1g9hUCZPvPmw@public.gmane.org>
2008-06-01 9:20 ` [directfb-dev] " George Tsalikis
2008-06-01 9:38 ` Denis Oliver Kropp
2008-05-28 17:55 ` Geert Uytterhoeven
2008-05-28 18:33 ` Denis Oliver Kropp
[not found] ` <483D7344.6030503-iGvX3keArt1g9hUCZPvPmw@public.gmane.org>
2008-06-01 9:31 ` [directfb-dev] " Denis Oliver Kropp
[not found] ` <48426C76.5080606-iGvX3keArt1g9hUCZPvPmw@public.gmane.org>
2008-06-01 11:57 ` Denis Oliver Kropp
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4840EB76.6040506@directfb.org \
--to=dok@directfb.org \
--cc=bgr@acdstar.com \
--cc=directfb-dev@directfb.org \
--cc=directfb-users@directfb.org \
--cc=geert@linux-m68k.org \
--cc=linux-fbdev-devel@lists.sourceforge.net \
--cc=sven@powerlinux.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).