gfx: drv: support creating fb's from mapped memory
authorAnder Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Wed, 15 Feb 2012 13:02:22 +0000 (15:02 +0200)
committerMarkus Lehtonen <markus.lehtonen@linux.intel.com>
Tue, 3 Jul 2012 09:29:54 +0000 (12:29 +0300)
If a client passes a handle to a mapped memory to drmModeAddFB, the
ioctl will fail since the gtt mapping code will fail to get its page
list. Fix that by using a reference to the original meminfo instead
of the mapped one.

Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Reviewed-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
drivers/staging/mrst/drv/psb_fb.c

index b437e84..6ccf844 100644 (file)
@@ -254,6 +254,8 @@ static struct drm_framebuffer *psb_user_framebuffer_create
 
        DRM_DEBUG("Got Kernel MemInfo for handle %p\n", hKernelMemInfo);
 
+       psKernelMemInfo = PVRSRVGetSrcMemInfo(psKernelMemInfo);
+
        sizes[0] = psKernelMemInfo->ui32AllocSize;
 
        for (i = 1; i < drm_format_num_planes(r->pixel_format); i++) {