diff options
| author | Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> | 2009-12-03 10:31:56 -0500 |
|---|---|---|
| committer | Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> | 2009-12-03 20:30:02 -0500 |
| commit | 7164bb4393cef668d3da281fa1c599a6673ea768 (patch) | |
| tree | dddab675372695c8b1a080be0df9d0cf62d8e150 | |
| parent | ba69ea42f8ba8286cbe0e939bd1ce781b7905b84 (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.c | 4 | ||||
| -rw-r--r-- | include/linux/fb.h | 1 |
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 = { | |||
| 144 | static int fb_deferred_io_mmap(struct fb_info *info, struct vm_area_struct *vma) | 144 | static 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 | ||
