> -----Original Message----- > From: Prathyush K [mailto:prathyush.k@xxxxxxxxxxx] > Sent: Wednesday, July 11, 2012 6:40 PM > To: dri-devel@xxxxxxxxxxxxxxxxxxxxx > Cc: prathyush@xxxxxxxxxxxx; m.szyprowski@xxxxxxxxxxx; inki.dae@xxxxxxxxxxx; > subash.ramaswamy@xxxxxxxxxx > Subject: [PATCH 6/7] drm/exynos: Add exynos drm specific fb_mmap function > > This patch adds a exynos drm specific implementation of fb_mmap > which supports mapping a non-contiguous buffer to user space. > This new function does not assume that the frame buffer is contiguous > and calls dma_mmap_writecombine for mapping the buffer to user space. > dma_mmap_writecombine will be able to map a contiguous buffer as well > as non-contig buffer depending on whether an IOMMU mapping is created > for drm or not. > > Signed-off-by: Prathyush K <prathyush.k@xxxxxxxxxxx> > --- > drivers/gpu/drm/exynos/exynos_drm_fbdev.c | 16 ++++++++++++++++ > 1 files changed, 16 insertions(+), 0 deletions(-) > > diff --git a/drivers/gpu/drm/exynos/exynos_drm_fbdev.c > b/drivers/gpu/drm/exynos/exynos_drm_fbdev.c > index d5586cc..b53e638 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_fbdev.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_fbdev.c > @@ -46,8 +46,24 @@ struct exynos_drm_fbdev { > struct exynos_drm_gem_obj *exynos_gem_obj; > }; > > +static int exynos_drm_fb_mmap(struct fb_info *info, > + struct vm_area_struct *vma) > +{ > + if ((vma->vm_end - vma->vm_start) > info->fix.smem_len) > + return -EINVAL; > + > + vma->vm_pgoff = 0; > + vma->vm_flags |= VM_IO | VM_RESERVED; > + if (dma_mmap_writecombine(info->device, vma, info->screen_base, > + info->fix.smem_start, vma->vm_end - vma->vm_start)) > + return -EAGAIN; > + > + return 0; > +} > + Ok, it's good feature. actually the physically non-contiguous gem buffer allocated for console framebuffer has to be mapped with user space. Thanks. > static struct fb_ops exynos_drm_fb_ops = { > .owner = THIS_MODULE, > + .fb_mmap = exynos_drm_fb_mmap, > .fb_fillrect = cfb_fillrect, > .fb_copyarea = cfb_copyarea, > .fb_imageblit = cfb_imageblit, > -- > 1.7.0.4 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel