Re: [RFC 2.6.18.1 1/1] Framebuffer driver for Hecuba/E-Ink display
From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2006-11-16 01:41:13
From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2006-11-16 01:41:13
On Wed, 15 Nov 2006, Jaya Kumar (�~\�~Fயா�~U�~Aமார�~M) wrote:
By the way, I have been wondering about the possibility of implementing a nopage type handler in order to provide a fake mmap for this class of IO driven fb devices (as opposed to memory driven devices). This would allow apps that are entirely mmap driven to still use IO based fb devices. To elaborate, it would be along the lines of: - like regular drivers, IO fb drivers would setup an mmap handler - in the mmap handler, rather than do remap_pfn_range, an IO fb driver would setup a custom vm_ops for this vma range - a userspace app like Xorg or others start a burst of display updates. this writes to this address for the first time, so our vma->vm_ops->nopage would get called - in this nopage, we would kick off a workqueue task or a timer, say deferred_fb_io(). we map a regular page and the app and other apps are free to cheaply write to this memory without the expense of the IO backed fb - before the workqueue or timer expires, the apps would be writing to memory and no fb updates would be occuring - then when the workqueue kicks in or the timer expires, we do an fb update (either partial by differencing or a full update). then we unmap the pte - therefore when the next burst of display updates occur, this page fault driven sequence is repeated The benefit of this would be that bursts of display updates would not cause bursts of repeated IO. I think this would also provide an ability to have a minimum latency within which display updates can be expected to occur. Please let me know if this sounds reasonable.
Yep, sounds like a nice idea to try, and compare with other methods, like e.g.
copying the frame buffer to the external device every vsync.
But I guess the `every vsync' is not a good idea for e-ink, as it's very slow
to update?
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds