alistair23-linux/drivers/gpu/drm
Daniel Vetter cb6458f97b drm: remove procfs code, take 2
So almost two years ago I've tried to nuke the procfs code already
once before:

http://lists.freedesktop.org/archives/dri-devel/2011-October/015707.html

The conclusion was that userspace drivers (specifically libdrm device
node detection) stopped relying on procfs in 2001. But after some
digging it turned out that the drmstat tool in libdrm is still using
those files (but only when certain options are set). So we've decided
to keep profcs.

But I when I've started to dig around again what exactly this tool
does I've noticed that it tries to read the "mem", "vm", and "vma"
files from procfs. Now as far my git history digging shows "mem" never
did anything useful (at least in the version that first showed up in
upstream history in 2004) and the file was remove in

commit 955b12def4
Author: Ben Gamari <bgamari@gmail.com>
Date:   Tue Feb 17 20:08:49 2009 -0500

    drm: Convert proc files to seq_file and introduce debugfs

Which means that for over 4 years drmstat has been broken, and no one
cared. In my opinion that's proof enough that no one is actually using
drmstat, and so that we can savely nuke the procfs support from drm.

While at it fix up the error case cleanup for debugfs in drm_get_minor.

v2: Fix dates, libdrm stopped relying on procfs for drm node detection
in 2001.

v3: fixup compilation warning for !CONFIG_DEBUG_FS, reported by
Fengguang Wu.

Cc: kbuild test robot <fengguang.wu@intel.com>
Cc: Dave Airlie <airlied@linux.ie>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2013-08-19 14:29:24 +10:00
..
ast drm: rip out drm_core_has_MTRR checks 2013-08-19 14:11:44 +10:00
cirrus drm: rip out drm_core_has_MTRR checks 2013-08-19 14:11:44 +10:00
exynos drm/exynos: explicit store base gem object in dma_buf->priv 2013-08-19 10:45:38 +10:00
gma500 drm/gma500: use gem get/put page helpers 2013-08-19 10:36:08 +10:00
i2c drm/i2c: tda998x: prepare for broken sync workaround 2013-08-19 09:10:48 +10:00
i810 drm: rip out drm_core_has_MTRR checks 2013-08-19 14:11:44 +10:00
i915 drm: rip out drm_core_has_MTRR checks 2013-08-19 14:11:44 +10:00
mga drm: rip out drm_core_has_MTRR checks 2013-08-19 14:11:44 +10:00
mgag200 drm: rip out drm_core_has_MTRR checks 2013-08-19 14:11:44 +10:00
nouveau drm: remove FASYNC support 2013-08-19 10:05:17 +10:00
omapdrm drm/omap: kill omap_gem_helpers.c 2013-08-19 10:36:16 +10:00
qxl drm: remove FASYNC support 2013-08-19 10:05:17 +10:00
r128 drm: rip out drm_core_has_MTRR checks 2013-08-19 14:11:44 +10:00
radeon drm: rip out drm_core_has_MTRR checks 2013-08-19 14:11:44 +10:00
rcar-du drm: remove FASYNC support 2013-08-19 10:05:17 +10:00
savage drm: rip out drm_core_has_MTRR checks 2013-08-19 14:11:44 +10:00
shmobile drm: remove FASYNC support 2013-08-19 10:05:17 +10:00
sis drm: rip out drm_core_has_MTRR checks 2013-08-19 14:11:44 +10:00
tdfx drm: rip out drm_core_has_MTRR checks 2013-08-19 14:11:44 +10:00
tilcdc drm/tilcdc: use flip-work helper 2013-08-19 10:33:36 +10:00
ttm drm/ttm: kill unused functions 2013-08-19 09:36:12 +10:00
udl drm/udl: use gem get/put page helpers 2013-08-19 10:36:12 +10:00
via drm: rip out drm_core_has_MTRR checks 2013-08-19 14:11:44 +10:00
vmwgfx drm/vmwgfx: remove ->firstopen callback 2013-08-19 14:28:07 +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 the dma_ioctl special-case 2013-08-19 14:15:50 +10:00
drm_cache.c
drm_context.c drm: mark context support as a legacy subsystem 2013-08-19 10:04:48 +10:00
drm_crtc.c drm: use ida to allocate connector ids 2013-08-19 10:40:31 +10:00
drm_crtc_helper.c drm/crtc-helper: explicit DPMS on after modeset 2013-07-22 09:55:17 +10:00
drm_debugfs.c
drm_dma.c drm: mark dma setup/teardown as legacy systems 2013-08-19 10:04:21 +10:00
drm_dp_helper.c
drm_drv.c drm: remove procfs code, take 2 2013-08-19 14:29:24 +10:00
drm_edid.c
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_fb_cma_helper.c
drm_fb_helper.c
drm_flip_work.c drm: add flip-work helper 2013-08-19 10:32:26 +10:00
drm_fops.c drm: don't call ->firstopen for KMS drivers 2013-08-19 14:28:46 +10:00
drm_gem.c drm/gem: WARN about unbalanced handle refcounts 2013-08-19 10:47:37 +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
drm_info.c drm: fix locking in gem debugfs/procfs file 2013-08-19 14:16:47 +10:00
drm_ioc32.c
drm_ioctl.c drm: no-op out GET_STATS ioctl 2013-08-19 10:06:24 +10:00
drm_irq.c
drm_lock.c
drm_memory.c drm/memory: don't export agp helpers 2013-08-19 10:05:53 +10:00
drm_mm.c drm/mm: remove unused API 2013-08-07 10:16:50 +10:00
drm_modes.c drm: Remove drm_mode_validate_clocks 2013-08-19 10:30:11 +10:00
drm_pci.c drm: rip out drm_core_has_MTRR checks 2013-08-19 14:11:44 +10:00
drm_platform.c
drm_prime.c drm/prime: remove cargo-cult locking from map_sg helper 2013-08-19 10:46:16 +10:00
drm_rect.c
drm_scatter.c drm: disallow legacy sg ioctls for modesetting drivers 2013-08-19 10:04:06 +10:00
drm_stub.c drm: remove procfs code, take 2 2013-08-19 14:29:24 +10:00
drm_sysfs.c
drm_trace.h
drm_trace_points.c
drm_usb.c
drm_vm.c drm: rip out drm_core_has_MTRR checks 2013-08-19 14:11:44 +10: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: DRM should depend on HAS_DMA 2013-08-19 09:09:10 +10:00
Makefile drm: remove procfs code, take 2 2013-08-19 14:29:24 +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