linux/drivers/gpu/drm/vmwgfx
Ilija Hadzic 949c4a34af drm: track dev_mapping in more robust and flexible way
Setting dev_mapping (pointer to the address_space structure
used for memory mappings) to the address_space of the first
opener's inode and then failing if other openers come in
through a different inode has a few restrictions that are
eliminated by this patch.

If we already have valid dev_mapping and we spot an opener
with different i_node, we force its i_mapping pointer to the
already established address_space structure (first opener's
inode). This will make all mappings from drm device hang off
the same address_space object.

Some benefits (things that now work and didn't work
before) of this patch are:

 * user space can mknod and use any number of device
   nodes and they will all work fine as long as the major
   device number is that of the drm module.
 * user space can even remove the first opener's device
   nodes and mknod the new one and the applications and
   windowing system will still work.
 * GPU drivers can safely assume that dev->dev_mapping is
   correct address_space and just blindly copy it
   into their (private) bdev.dev_mapping

For reference, some discussion that lead to this patch can
be found here:

http://lists.freedesktop.org/archives/dri-devel/2012-April/022283.html

Signed-off-by: Ilija Hadzic <ihadzic@research.bell-labs.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-07-25 14:09:30 +10:00
..
Kconfig vmwgfx: Take the driver out of staging 2011-10-11 13:06:36 +01:00
Makefile vmwgfx: Add screen object support 2011-10-05 10:17:14 +01:00
svga3d_reg.h vmwgfx: Update register files to latest from vmware-sdk 2011-10-05 10:17:08 +01:00
svga_escape.h vmwgfx: Update register files to latest from vmware-sdk 2011-10-05 10:17:08 +01:00
svga_overlay.h vmwgfx: Update register files to latest from vmware-sdk 2011-10-05 10:17:08 +01:00
svga_reg.h vmwgfx: Update register files to latest from vmware-sdk 2011-10-05 10:17:08 +01:00
svga_types.h
vmwgfx_buffer.c drm/ttm: isolate dma data from ttm_tt V4 2011-12-06 10:40:02 +00:00
vmwgfx_dmabuf.c vmwgfx: Fix up query processing 2011-10-05 10:17:22 +01:00
vmwgfx_drv.c drm: track dev_mapping in more robust and flexible way 2012-07-25 14:09:30 +10:00
vmwgfx_drv.h drm/vmwgfx: Bump driver minor 2012-02-13 12:01:37 +00:00
vmwgfx_execbuf.c vmwgfx: Make it possible to get fence from execbuf 2012-02-13 12:01:33 +00:00
vmwgfx_fb.c vmwgfx: Pick up the initial size from the width and height regs 2012-02-13 12:01:35 +00:00
vmwgfx_fence.c vmwgfx: Clean up pending event references to struct drm_file objects on close 2012-02-13 12:01:32 +00:00
vmwgfx_fence.h vmwgfx: Move function declaration to correct header 2012-02-13 12:01:36 +00:00
vmwgfx_fifo.c vmwgfx: Use the revised fifo hw version register when present 2011-12-19 14:06:00 +00:00
vmwgfx_gmr.c drm/vmwgfx: Fix nasty write past alloced memory area 2012-06-01 17:00:20 +01:00
vmwgfx_gmrid_manager.c vmwgfx: Restrict number of GMR pages to device limit 2011-09-01 09:38:07 +01:00
vmwgfx_ioctl.c vmwgfx: Remove dmabuf check in present ioctl 2011-12-19 14:06:01 +00:00
vmwgfx_irq.c vmwgfx: Add fence events 2011-10-10 15:46:55 +01:00
vmwgfx_kms.c drm: Constify drm_mode_config_funcs pointer 2012-05-22 10:35:07 +01:00
vmwgfx_kms.h vmwgfx: Add page flip support 2012-02-13 12:01:35 +00:00
vmwgfx_ldu.c vmwgfx: Pick up the initial size from the width and height regs 2012-02-13 12:01:35 +00:00
vmwgfx_marker.c vmwgfx: Fix confusion caused by using "fence" in various places 2011-09-06 11:48:40 +01:00
vmwgfx_overlay.c vmwgfx: minor dmabuf utilities cleanup 2011-10-05 10:17:20 +01:00
vmwgfx_reg.h
vmwgfx_resource.c ttm: add prime sharing support to TTM (v2) 2012-05-23 10:46:27 +01:00
vmwgfx_scrn.c vmwgfx: Pick up the initial size from the width and height regs 2012-02-13 12:01:35 +00:00
vmwgfx_ttm_glue.c vmwgfx: Remove the possibility to map the fifo from user-space 2011-09-06 11:48:34 +01:00