linux/drivers/gpu/drm
David Herrmann c700c67bae drm/mm: remove unused API
We used to pre-allocate drm_mm nodes and save them in a linked list for
later usage so we always have spare ones in atomic contexts. However, this
is really racy if multiple threads are in an atomic context at the same
time and we don't have enough spare nodes. Moreover, all remaining users
run in user-context and just lock drm_mm with a spinlock. So we can easily
preallocate the node, take the spinlock and insert the node.

This may have worked well with BKL in place, however, with today's
infrastructure it really doesn't make any sense. Besides, most users can
easily embed drm_mm_node into their objects so no allocation is needed at
all.

Thus, remove the old pre-alloc API and all the helpers that it provides.
Drivers have already been converted and we should not use the old API for
new code, anymore.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2013-08-07 10:16:50 +10:00
..
ast drm/gem: create drm_gem_dumb_destroy 2013-08-07 09:59:24 +10:00
cirrus drm/gem: create drm_gem_dumb_destroy 2013-08-07 09:59:24 +10:00
exynos drm: const'ify ioctls table (v2) 2013-08-07 10:10:02 +10:00
gma500 drm: const'ify ioctls table (v2) 2013-08-07 10:10:02 +10:00
i2c drm/i2c: nxp-tda998x (v3) 2013-02-19 17:57:44 -05:00
i810 drm: const'ify ioctls table (v2) 2013-08-07 10:10:02 +10:00
i915 drm/i915: pre-alloc instead of drm_mm search/get_block 2013-08-07 10:16:26 +10:00
mga drm: const'ify ioctls table (v2) 2013-08-07 10:10:02 +10:00
mgag200 drm/gem: create drm_gem_dumb_destroy 2013-08-07 09:59:24 +10:00
nouveau drm: don't push static constants on stack for %*ph 2013-08-07 10:10:58 +10:00
omapdrm drm: const'ify ioctls table (v2) 2013-08-07 10:10:02 +10:00
qxl drm: const'ify ioctls table (v2) 2013-08-07 10:10:02 +10:00
r128 drm: const'ify ioctls table (v2) 2013-08-07 10:10:02 +10:00
radeon drm: don't push static constants on stack for %*ph 2013-08-07 10:10:58 +10:00
rcar-du drm/gem: create drm_gem_dumb_destroy 2013-08-07 09:59:24 +10:00
savage drm: const'ify ioctls table (v2) 2013-08-07 10:10:02 +10:00
shmobile drm/gem: create drm_gem_dumb_destroy 2013-08-07 09:59:24 +10:00
sis drm: const'ify ioctls table (v2) 2013-08-07 10:10:02 +10:00
tdfx
tilcdc drm/gem: create drm_gem_dumb_destroy 2013-08-07 09:59:24 +10:00
ttm drm/ttm: replace drm_mm_pre_get() by direct alloc 2013-08-07 10:15:29 +10:00
udl drm: don't push static constants on stack for %*ph 2013-08-07 10:10:58 +10:00
via drm: const'ify ioctls table (v2) 2013-08-07 10:10:02 +10:00
vmwgfx drm: const'ify ioctls table (v2) 2013-08-07 10:10:02 +10:00
ati_pcigart.c
drm_agpsupport.c drm/agp: move AGP cleanup paths to drm_agpsupport.c 2013-08-07 10:14:24 +10:00
drm_auth.c
drm_buffer.c
drm_bufs.c drm: remove drm_order 2013-07-23 20:14:29 +10:00
drm_cache.c lib/scatterlist: sg_page_iter: support sg lists w/o backing pages 2013-03-27 17:13:44 +01:00
drm_context.c drm: remove dev->last_switch 2013-07-23 19:20:20 +10:00
drm_crtc.c drm: add hotspot support for cursors. 2013-06-28 09:13:39 +10:00
drm_crtc_helper.c Revert "drm: kms_helper: don't lose hotplug event" 2013-06-28 20:31:34 +10:00
drm_debugfs.c
drm_dma.c
drm_dp_helper.c
drm_drv.c drm/agp: move AGP cleanup paths to drm_agpsupport.c 2013-08-07 10:14:24 +10:00
drm_edid.c drm: add assertion for checking null edid to drm_edid_block_valid 2013-07-04 10:52:50 +10:00
drm_edid_load.c drm: avoid warning in drm_load_edid_firmware() 2013-07-10 14:21:46 -07:00
drm_encoder_slave.c drm: refactor call to request_module 2013-05-10 14:46:03 +10:00
drm_fb_cma_helper.c treewide: Fix typo in printk 2013-05-28 12:02:13 +02:00
drm_fb_helper.c drm/fb-helper: Make load_lut and gamma_set/gamma_get hooks optional 2013-06-17 19:42:47 +10:00
drm_fops.c drm: rip out dev->last_checked 2013-07-23 19:36:23 +10:00
drm_gem.c drm/gem: create drm_gem_dumb_destroy 2013-08-07 09:59:24 +10:00
drm_gem_cma_helper.c drm/gem: create drm_gem_dumb_destroy 2013-08-07 09:59:24 +10:00
drm_global.c
drm_hashtab.c hlist: drop the node parameter from iterators 2013-02-27 19:10:24 -08:00
drm_info.c
drm_ioc32.c
drm_ioctl.c drm: Don't leak phys_wc "handles" to userspace 2013-05-31 13:37:39 +10:00
drm_irq.c drm: fix a use-after-free when GPU acceleration disabled 2013-06-03 19:12:04 +10:00
drm_lock.c
drm_memory.c
drm_mm.c drm/mm: remove unused API 2013-08-07 10:16:50 +10:00
drm_modes.c drm: Sort connector modes based on vrefresh 2013-06-11 08:35:51 +10:00
drm_pci.c drm/agp: move AGP cleanup paths to drm_agpsupport.c 2013-08-07 10:14:24 +10:00
drm_platform.c
drm_prime.c drm: add mmap function to prime helpers 2013-07-05 15:44:44 +10:00
drm_proc.c drm: proc: Use remove_proc_subtree() 2013-05-01 17:29:44 -04:00
drm_rect.c drm: Add drm_rect_debug_print() 2013-04-30 22:20:00 +02:00
drm_scatter.c drm: fold in drm_sg_alloc into the ioctl 2013-07-23 19:34:01 +10:00
drm_stub.c drm/agp: move AGP cleanup paths to drm_agpsupport.c 2013-08-07 10:14:24 +10:00
drm_sysfs.c drm: Convert drm class driver from legacy pm ops to dev_pm_ops 2013-07-04 10:50:26 +10:00
drm_trace.h drm: fix print format of sequence in trace point 2013-07-04 10:55:27 +10:00
drm_trace_points.c
drm_usb.c
drm_vm.c drm: io_remap_pfn_range() sets VM_IO... 2013-06-29 12:46:39 +04:00
drm_vma_manager.c drm/mm: add "best_match" flag to drm_mm_insert_node() 2013-08-07 10:08:58 +10:00
Kconfig drm/nouveau: always select ACPI_VIDEO if ACPI is enabled. 2013-06-28 11:56:22 +10:00
Makefile drm: add unified vma offset manager 2013-07-25 20:47:04 +10:00
README.drm

************************************************************
* For the very latest on DRI development, please see:      *
*     http://dri.freedesktop.org/                          *
************************************************************

The Direct Rendering Manager (drm) is a device-independent kernel-level
device driver that provides support for the XFree86 Direct Rendering
Infrastructure (DRI).

The DRM supports the Direct Rendering Infrastructure (DRI) in four major
ways:

    1. The DRM provides synchronized access to the graphics hardware via
       the use of an optimized two-tiered lock.

    2. The DRM enforces the DRI security policy for access to the graphics
       hardware by only allowing authenticated X11 clients access to
       restricted regions of memory.

    3. The DRM provides a generic DMA engine, complete with multiple
       queues and the ability to detect the need for an OpenGL context
       switch.

    4. The DRM is extensible via the use of small device-specific modules
       that rely extensively on the API exported by the DRM module.


Documentation on the DRI is available from:
    http://dri.freedesktop.org/wiki/Documentation
    http://sourceforge.net/project/showfiles.php?group_id=387
    http://dri.sourceforge.net/doc/

For specific information about kernel-level support, see:

    The Direct Rendering Manager, Kernel Support for the Direct Rendering
    Infrastructure
    http://dri.sourceforge.net/doc/drm_low_level.html

    Hardware Locking for the Direct Rendering Infrastructure
    http://dri.sourceforge.net/doc/hardware_locking_low_level.html

    A Security Analysis of the Direct Rendering Infrastructure
    http://dri.sourceforge.net/doc/security_low_level.html