aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>2009-12-03 10:31:56 -0500
committerJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>2009-12-03 20:30:02 -0500
commit7164bb4393cef668d3da281fa1c599a6673ea768 (patch)
treedddab675372695c8b1a080be0df9d0cf62d8e150
parentba69ea42f8ba8286cbe0e939bd1ce781b7905b84 (diff)
fb-defio: If FBINFO_VIRTFB is defined, do not set VM_IO flag.
Most users (except sh_mobile_lcdcfb.c) get their framebuffer from vmalloc. Setting VM_IO is not necessary as the memory obtained from vmalloc is System RAM type and is not susceptible to PCI memory constraints. Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Acked-by: Jaya Kumar <jayakumar.lkml@gmail.com>
-rw-r--r--drivers/video/fb_defio.c4
-rw-r--r--include/linux/fb.h1
2 files changed, 4 insertions, 1 deletions
diff --git a/drivers/video/fb_defio.c b/drivers/video/fb_defio.c
index 0a7a6679ee6e..875d019bb2a4 100644
--- a/drivers/video/fb_defio.c
+++ b/drivers/video/fb_defio.c
@@ -144,7 +144,9 @@ static const struct address_space_operations fb_deferred_io_aops = {
144static int fb_deferred_io_mmap(struct fb_info *info, struct vm_area_struct *vma) 144static int fb_deferred_io_mmap(struct fb_info *info, struct vm_area_struct *vma)
145{ 145{
146 vma->vm_ops = &fb_deferred_io_vm_ops; 146 vma->vm_ops = &fb_deferred_io_vm_ops;
147 vma->vm_flags |= ( VM_IO | VM_RESERVED | VM_DONTEXPAND ); 147 vma->vm_flags |= ( VM_RESERVED | VM_DONTEXPAND );
148 if (!(info->flags & FBINFO_VIRTFB))
149 vma->vm_flags |= VM_IO;
148 vma->vm_private_data = info; 150 vma->vm_private_data = info;
149 return 0; 151 return 0;
150} 152}
diff --git a/include/linux/fb.h b/include/linux/fb.h
index f847df9e99b6..6e8ebf7e6523 100644
--- a/include/linux/fb.h
+++ b/include/linux/fb.h
@@ -768,6 +768,7 @@ struct fb_tile_ops {
768 * takes over; acceleration engine should be in a quiescent state */ 768 * takes over; acceleration engine should be in a quiescent state */
769 769
770/* hints */ 770/* hints */
771#define FBINFO_VIRTFB 0x0004 /* FB is System RAM, not device. */
771#define FBINFO_PARTIAL_PAN_OK 0x0040 /* otw use pan only for double-buffering */ 772#define FBINFO_PARTIAL_PAN_OK 0x0040 /* otw use pan only for double-buffering */
772#define FBINFO_READS_FAST 0x0080 /* soft-copy faster than rendering */ 773#define FBINFO_READS_FAST 0x0080 /* soft-copy faster than rendering */
773 774