mirror of https://gitee.com/openkylin/linux.git
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>
This commit is contained in:
parent
ba69ea42f8
commit
7164bb4393
|
@ -144,7 +144,9 @@ static const struct address_space_operations fb_deferred_io_aops = {
|
||||||
static int fb_deferred_io_mmap(struct fb_info *info, struct vm_area_struct *vma)
|
static int fb_deferred_io_mmap(struct fb_info *info, struct vm_area_struct *vma)
|
||||||
{
|
{
|
||||||
vma->vm_ops = &fb_deferred_io_vm_ops;
|
vma->vm_ops = &fb_deferred_io_vm_ops;
|
||||||
vma->vm_flags |= ( VM_IO | VM_RESERVED | VM_DONTEXPAND );
|
vma->vm_flags |= ( VM_RESERVED | VM_DONTEXPAND );
|
||||||
|
if (!(info->flags & FBINFO_VIRTFB))
|
||||||
|
vma->vm_flags |= VM_IO;
|
||||||
vma->vm_private_data = info;
|
vma->vm_private_data = info;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -768,6 +768,7 @@ struct fb_tile_ops {
|
||||||
* takes over; acceleration engine should be in a quiescent state */
|
* takes over; acceleration engine should be in a quiescent state */
|
||||||
|
|
||||||
/* hints */
|
/* hints */
|
||||||
|
#define FBINFO_VIRTFB 0x0004 /* FB is System RAM, not device. */
|
||||||
#define FBINFO_PARTIAL_PAN_OK 0x0040 /* otw use pan only for double-buffering */
|
#define FBINFO_PARTIAL_PAN_OK 0x0040 /* otw use pan only for double-buffering */
|
||||||
#define FBINFO_READS_FAST 0x0080 /* soft-copy faster than rendering */
|
#define FBINFO_READS_FAST 0x0080 /* soft-copy faster than rendering */
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue