Re: [PATCH 2.6.20 1/1] fbdev, mm: hecuba/E-Ink fbdev driver
From: "Antonino A. Daplas" <adaplas@gmail.com>
Date: 2007-02-21 23:41:03
Also in:
linux-mm, lkml
On Wed, 2007-02-21 at 11:55 -0500, Jaya Kumar wrote:
On 2/20/07, Geert Uytterhoeven [off-list ref] wrote:quoted
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 ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV