Re: [PATCH 1/3] fb-defio: If FBINFO_VIRTFB is defined, do not set VM_IO flag.

From: Jaya Kumar
Date: Thu Dec 03 2009 - 19:34:23 EST


On Thu, Dec 3, 2009 at 11:31 PM, Konrad Rzeszutek Wilk
<konrad.wilk@xxxxxxxxxx> wrote:
> 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.
> ---
>  drivers/video/fb_defio.c |    4 +++-
>  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 c27ab1e..94414fc 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 = {
>  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_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;
>        return 0;
>  }
> diff --git a/include/linux/fb.h b/include/linux/fb.h
> index de9c722..369767b 100644
> --- a/include/linux/fb.h
> +++ b/include/linux/fb.h
> @@ -763,6 +763,7 @@ struct fb_tile_ops {
>         *  takes over; acceleration engine should be in a quiescent state */
>
>  /* 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_READS_FAST      0x0080 /* soft-copy faster than rendering */
>
> --
> 1.6.2.5
>
>

Looks good to me. Thanks.

Acked-by: Jaya Kumar <jayakumar.lkml@xxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/