drm: move to kref per-master structures.
authorDave Airlie <airlied@redhat.com>
Fri, 28 Nov 2008 04:22:24 +0000 (14:22 +1000)
committerDave Airlie <airlied@linux.ie>
Mon, 29 Dec 2008 07:47:22 +0000 (17:47 +1000)
commit7c1c2871a6a3a114853ec6836e9035ac1c0c7f7a
tree1b5debcc86ff20bd5e11b42ea5c52da42214e376
parente7f7ab45ebcb54fd5f814ea15ea079e079662f67
drm: move to kref per-master structures.

This is step one towards having multiple masters sharing a drm
device in order to get fast-user-switching to work.

It splits out the information associated with the drm master
into a separate kref counted structure, and allocates this when
a master opens the device node. It also allows the current master
to abdicate (say while VT switched), and a new master to take over
the hardware.

It moves the Intel and radeon drivers to using the sarea from
within the new master structures.

Signed-off-by: Dave Airlie <airlied@redhat.com>
21 files changed:
drivers/gpu/drm/drm_auth.c
drivers/gpu/drm/drm_bufs.c
drivers/gpu/drm/drm_context.c
drivers/gpu/drm/drm_drv.c
drivers/gpu/drm/drm_fops.c
drivers/gpu/drm/drm_ioctl.c
drivers/gpu/drm/drm_lock.c
drivers/gpu/drm/drm_proc.c
drivers/gpu/drm/drm_stub.c
drivers/gpu/drm/i915/i915_dma.c
drivers/gpu/drm/i915/i915_drv.c
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_irq.c
drivers/gpu/drm/i915/i915_mem.c
drivers/gpu/drm/radeon/r300_cmdbuf.c
drivers/gpu/drm/radeon/radeon_cp.c
drivers/gpu/drm/radeon/radeon_drv.h
drivers/gpu/drm/radeon/radeon_state.c
include/drm/drm.h
include/drm/drmP.h
include/drm/drm_sarea.h