lkml.org 
[lkml]   [2016]   [Apr]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH v4 4/7] fbdev: fb_defio: Export fb_deferred_io_mmap
    From
    Date
    On 28/04/16 18:18, Noralf Trønnes wrote:
    > Export fb_deferred_io_mmap so drivers can change vma->vm_page_prot.
    > When the framebuffer memory is allocated using dma_alloc_writecombine()
    > instead of vmalloc(), I get cache syncing problems on ARM.
    > This solves it:
    >
    > static int drm_fbdev_cma_deferred_io_mmap(struct fb_info *info,
    > struct vm_area_struct *vma)
    > {
    > fb_deferred_io_mmap(info, vma);
    > vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot);
    >
    > return 0;
    > }
    >
    > Could this have been done in the core?
    > Drivers that don't set (struct fb_ops *)->fb_mmap, gets a call to
    > fb_pgprotect() at the end of the default fb_mmap implementation
    > (drivers/video/fbdev/core/fbmem.c). This is an architecture specific
    > function that on many platforms uses pgprot_writecombine(), but not on
    > all. And looking at some of the fb_mmap implementations, some of them
    > sets vm_page_prot to nocache for instance, so I think the safest bet is
    > to do this in the driver and not in the fbdev core. And we can't call
    > fb_pgprotect() from fb_deferred_io_mmap() either because we don't have
    > access to the file pointer that powerpc needs.
    >
    > Signed-off-by: Noralf Trønnes <noralf@tronnes.org>

    Acked-by: Tomi Valkeinen <tomi.valkeinen@ti.com>

    Tomi

    [unhandled content-type:application/pgp-signature]
    \
     
     \ /
      Last update: 2016-04-29 16:21    [W:5.844 / U:0.644 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site