linux/drivers/char/drm
=?utf-8?q?Michel_D=C3=A4nzer?= 541f29aad7 drm: DRM_I915_VBLANK_SWAP ioctl: Take drm_vblank_seq_type_t instead
of pipe number.

Handle relative as well as absolute target sequence numbers.

Return error if target sequence has already passed, so userspace can deal with
this situation as it sees fit.

On success, return the sequence number of the vertical blank when the buffer
swap is expected to take place.

Also add DRM_IOCTL_I915_VBLANK_SWAP definition for userspace code that may want
to use ioctl() instead of drmCommandWriteRead().

Signed-off-by: Dave Airlie <airlied@linux.ie>
2006-12-07 15:53:30 +11:00
..
ati_pcigart.c drm: ati_pcigart: simplify page_count manipulations 2006-01-25 14:58:58 +11:00
drm_agpsupport.c drm: possible cleanups 2006-04-23 18:26:40 +10:00
drm_auth.c drm: fix return value in auth function 2006-09-22 05:32:32 +10:00
drm_bufs.c drm: ioremap balanced with iounmap for drivers/char/drm 2006-10-25 09:55:34 -07:00
drm_context.c sem2mutex: drivers/char/drm/ 2006-02-02 19:37:46 +11:00
drm_core.h drm: add support for secondary vertical blank interrupt to DRM core 2006-12-07 15:53:28 +11:00
drm_dma.c drm: fixup PCI DMA support 2006-03-19 18:56:12 +11:00
drm_drawable.c drm: drm_rmdraw: Declare id and idx as signed so testing for < 0 works as intended. 2006-12-07 15:53:29 +11:00
drm_drv.c drm: Change first valid DRM drawable ID to be 1 instead of 0. 2006-12-07 15:53:29 +11:00
drm_fops.c drm: remove hash tables on drm exit 2006-09-22 05:32:33 +10:00
drm_hashtab.c drm: Fix hashtab implementation leaking illegal error codes to user space. 2006-09-22 05:32:34 +10:00
drm_hashtab.h drm: update user token hashing and map handles 2006-09-22 05:32:31 +10:00
drm_ioc32.c drm: cleanup old compat code and DRM fns from Linux only code 2006-09-22 05:32:30 +10:00
drm_ioctl.c drm: fixup setversion return codes.. 2006-09-22 05:32:33 +10:00
drm_irq.c drm: Core vsync: Don't clobber target sequence number when scheduling signal. 2006-12-07 15:53:29 +11:00
drm_lock.c drm: Add support for interrupt triggered driver callback with lock held to DRM core. 2006-12-07 15:53:28 +11:00
drm_memory_debug.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
drm_memory.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
drm_memory.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
drm_mm.c drm: remove FALSE/TRUE that snuck in with simple memory manager changes. 2006-09-22 05:32:32 +10:00
drm_os_linux.h IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
drm_pci.c drm: drm_pci needs dma-mapping.h 2006-04-05 18:12:18 +10:00
drm_pciids.h drm: use radeon specific names for radeon flags 2006-09-22 05:32:34 +10:00
drm_proc.c drm: cleanup old compat code and DRM fns from Linux only code 2006-09-22 05:32:30 +10:00
drm_sarea.h drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
drm_scatter.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
drm_sman.c drm: cleanups 2006-09-22 05:32:33 +10:00
drm_sman.h drm: remove FALSE/TRUE that snuck in with simple memory manager changes. 2006-09-22 05:32:32 +10:00
drm_stub.c drm: Make locked tasklet handling more robust. 2006-12-07 15:53:29 +11:00
drm_sysfs.c drm: fix error returns, sysfs error handling 2006-10-25 09:40:40 -07:00
drm_vm.c drm: update user token hashing and map handles 2006-09-22 05:32:31 +10:00
drm.h drm: Core vsync: Add flag DRM_VBLANK_NEXTONMISS. 2006-12-07 15:53:29 +11:00
drmP.h drm: Add support for interrupt triggered driver callback with lock held to DRM core. 2006-12-07 15:53:28 +11:00
ffb_context.c [PATCH] kfree cleanup: drivers/char 2005-11-07 07:54:02 -08:00
ffb_drv.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
ffb_drv.h drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
i810_dma.c drm: i810_dma.c: fix pointer arithmetic for 64-bit target 2006-09-22 05:32:33 +10:00
i810_drm.h drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
i810_drv.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
i810_drv.h drm: drivers/char/drm/: make some functions static 2006-02-02 19:21:38 +11:00
i830_dma.c drm: i810_dma.c: fix pointer arithmetic for 64-bit target 2006-09-22 05:32:33 +10:00
i830_drm.h drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
i830_drv.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
i830_drv.h drm: drivers/char/drm/: make some functions static 2006-02-02 19:21:38 +11:00
i830_irq.c drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
i915_dma.c drm: i915: Add ioctl for scheduling buffer swaps at vertical blanks. 2006-12-07 15:53:29 +11:00
i915_drm.h drm: DRM_I915_VBLANK_SWAP ioctl: Take drm_vblank_seq_type_t instead 2006-12-07 15:53:30 +11:00
i915_drv.c drm: add support for secondary vertical blank interrupt to i915 2006-12-07 15:53:28 +11:00
i915_drv.h drm: i915: Add ioctl for scheduling buffer swaps at vertical blanks. 2006-12-07 15:53:29 +11:00
i915_ioc32.c [PATCH] don't include ioctl32.h in drivers 2006-01-10 08:01:34 -08:00
i915_irq.c drm: DRM_I915_VBLANK_SWAP ioctl: Take drm_vblank_seq_type_t instead 2006-12-07 15:53:30 +11:00
i915_mem.c drm: i915 patches from Tungsten Graphics 2006-01-25 15:31:43 +11:00
Kconfig drm: add better explanation for i830/i915 2006-09-22 05:32:32 +10:00
Makefile drm: add drm simple memory manager support for SiS and VIA drivers 2006-09-22 05:32:31 +10:00
mga_dma.c drm: update mga driver for new bootstrap code 2005-11-11 23:11:34 +11:00
mga_drm.h drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
mga_drv.c drm: mga: set dev_priv_size 2006-10-24 21:52:23 +10:00
mga_drv.h drm: update mga driver for new bootstrap code 2005-11-11 23:11:34 +11:00
mga_ioc32.c [PATCH] don't include ioctl32.h in drivers 2006-01-10 08:01:34 -08:00
mga_irq.c drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
mga_state.c drm: move ioctl flags to a bit field of flags 2006-01-02 13:54:04 +11:00
mga_ucode.h drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
mga_warp.c drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
r128_cce.c drm: update PCIGART support from CVS 2006-01-02 17:18:39 +11:00
r128_drm.h drm: update PCIGART support from CVS 2006-01-02 17:18:39 +11:00
r128_drv.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
r128_drv.h drm: update PCIGART support from CVS 2006-01-02 17:18:39 +11:00
r128_ioc32.c [PATCH] don't include ioctl32.h in drivers 2006-01-10 08:01:34 -08:00
r128_irq.c drm: update PCIGART support from CVS 2006-01-02 17:18:39 +11:00
r128_state.c [PATCH] Unlinline a bunch of other functions 2006-01-14 18:27:06 -08:00
r300_cmdbuf.c drm: radeon: only allow specific type-3 packetss through verifier 2006-10-24 21:45:00 +10:00
r300_reg.h drm: update r300 register names 2006-03-19 19:12:10 +11:00
radeon_cp.c drm: use radeon specific names for radeon flags 2006-09-22 05:32:34 +10:00
radeon_drm.h drm: update radeon to 1.25 add r200 vertex program support 2006-06-24 17:32:10 +10:00
radeon_drv.c drm: use radeon specific names for radeon flags 2006-09-22 05:32:34 +10:00
radeon_drv.h drm: Use register writes instead of BITBLT_MULTI packets for buffer swap blits 2006-09-22 05:32:34 +10:00
radeon_ioc32.c [PATCH] don't include ioctl32.h in drivers 2006-01-10 08:01:34 -08:00
radeon_irq.c drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
radeon_mem.c drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
radeon_state.c drm: radeon: only allow specific type-3 packetss through verifier 2006-10-24 21:45:00 +10:00
README.drm Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
savage_bci.c drm: savage: dev->agp_buffer_map is not initialized for AGP DMA on savages 2006-10-24 21:46:55 +10:00
savage_drm.h drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
savage_drv.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
savage_drv.h drm: drivers/char/drm/: make some functions static 2006-02-02 19:21:38 +11:00
savage_state.c fix return code in error case. 2006-10-25 09:40:40 -07:00
sis_drm.h drm: bring sis + tdfx up to latest CVS 2006-01-02 14:44:12 +11:00
sis_drv.c drm: SiS 315 Awareness. 2006-09-22 05:32:31 +10:00
sis_drv.h drm: SiS 315 Awareness. 2006-09-22 05:32:31 +10:00
sis_mm.c drm: cleanups 2006-09-22 05:32:33 +10:00
tdfx_drv.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
tdfx_drv.h drm: bring sis + tdfx up to latest CVS 2006-01-02 14:44:12 +11:00
via_3d_reg.h drm: lindent the drm directory. 2005-09-25 14:28:13 +10:00
via_dma.c drm: drivers/char/drm/: make some functions static 2006-02-02 19:21:38 +11:00
via_dmablit.c WorkStruct: make allyesconfig 2006-11-22 14:57:56 +00:00
via_dmablit.h drm: fix warning on alpha 2006-01-10 19:53:54 +11:00
via_drm.h drm: realign via driver with drm git tree 2006-09-22 05:32:33 +10:00
via_drv.c drm: add drm simple memory manager support for SiS and VIA drivers 2006-09-22 05:32:31 +10:00
via_drv.h drm: add drm simple memory manager support for SiS and VIA drivers 2006-09-22 05:32:31 +10:00
via_irq.c drm: Fix further issues in drivers/char/drm/via_irq.c 2006-04-18 21:04:48 +10:00
via_map.c drm: add drm simple memory manager support for SiS and VIA drivers 2006-09-22 05:32:31 +10:00
via_mm.c drm: realign via driver with drm git tree 2006-09-22 05:32:33 +10:00
via_mm.h drm: Add via unichrome support 2005-06-28 22:48:56 +10:00
via_verifier.c drm: update VIA driver to 2.7.2 2005-11-12 21:52:46 +11:00
via_verifier.h drm: update VIA driver to 2.7.2 2005-11-12 21:52:46 +11:00
via_video.c drm: update VIA driver to 2.7.2 2005-11-12 21:52:46 +11:00

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

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://precisioninsight.com/piinsights.html

For specific information about kernel-level support, see:

    The Direct Rendering Manager, Kernel Support for the Direct Rendering
    Infrastructure
    http://precisioninsight.com/dr/drm.html

    Hardware Locking for the Direct Rendering Infrastructure
    http://precisioninsight.com/dr/locking.html

    A Security Analysis of the Direct Rendering Infrastructure
    http://precisioninsight.com/dr/security.html

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