[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1172101416.4217.19.camel@daplas>
Date: Thu, 22 Feb 2007 07:43:36 +0800
From: "Antonino A. Daplas" <adaplas@...il.com>
To: linux-fbdev-devel@...ts.sourceforge.net
Cc: Geert Uytterhoeven <geert@...ux-m68k.org>,
James Simmons <jsimmons@...radead.org>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>,
Linux Kernel Development <linux-kernel@...r.kernel.org>,
linux-mm@...ck.org, Paul Mundt <lethal@...ux-sh.org>
Subject: Re: [Linux-fbdev-devel] [PATCH 2.6.20 1/1] fbdev, mm: hecuba/E-Ink
fbdev driver
On Wed, 2007-02-21 at 11:55 -0500, Jaya Kumar wrote:
> On 2/20/07, Geert Uytterhoeven <geert@...ux-m68k.org> wrote:
> > Don't you need a way to specify the maximum deferral time? E.g. a field in
> > fb_info.
> >
>
> You are right. I will need that. I could put that into struct
> fb_deferred_io. So drivers would setup like:
>
Is it also possible to let the drivers do the 'deferred_io'
themselves? Say, a driver that would flush the dirty pages on
every VBLANK interrupt.
> static struct fb_deferred_io hecubafb_defio = {
> .delay = HZ,
> .deferred_io = hecubafb_dpy_update,
> };
>
> where that would be:
> struct fb_deferred_io {
> unsigned long delay; /* delay between mkwrite and deferred handler */
> struct mutex lock; /* mutex that protects the page list */
> struct list_head pagelist; /* list of touched pages */
> struct delayed_work deferred_work;
> void (*deferred_io)(struct fb_info *info, struct list_head
> *pagelist); /* callback */
> };
>
> and the driver would do:
> ...
> info->fbdefio = hecubafb_defio;
> register_framebuffer...
>
> When the driver calls register_framebuffer and unregister_framebuffer,
> I can then do the init and destruction of the other members of that
> struct. Does this sound okay?
It would be better if separate registering functions are created for
this functionality (ie deferred_io_register/unregister).
Tony
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists