linux/include/drm
Daniel Vetter 02e792fbaa drm/i915: implement drmmode overlay support v4
This implements intel overlay support for kms via a device-specific
ioctl. Thomas Hellstrom brought up the idea of a general ioctl (on
dri-devel). We've reached the conclusion that such an infrastructure
only makes sense when multiple kms overlay implementations exists,
which atm don't (and it doesn't look like this is gonna change).

Open issues:
- Runs in sync with the gpu, i.e. unnecessary waiting. I've decided
  to wait on this because the hw tends to hang when changing something
  in this area. I left some dummy functions as infrastructure.
- polyphase filtering uses a static table.
- uses uninterruptible sleeps. Unfortunately the alternatives may
  unnecessarily wedged the hw if/when we timeout too early (and
  userspace only overloaded the batch buffers with stuff worth a few
  secs of gpu time).

Changes since v1:
- fix off-by-one misconception on my side. This fixes fullscreen
  playback.
Changes since v2:
- add underrun detection as spec'ed for i965.
- flush caches properly, fixing visual corruptions.
Changes since v4:
- fix up cache flushing of overlay memory regs.
- killed require_pipe_a logic - it hangs the chip.

Tested-By: diego.abelenda@gmail.com (on a 865G)
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
[anholt: Resolved against the MADVISE ioctl going in before this one]
Signed-off-by: Eric Anholt <eric@anholt.net>
2009-11-05 14:47:08 -08:00
..
ttm Merge Linus master to drm-next 2009-08-20 13:38:04 +10:00
drm_cache.h drm/ttm: consolidate cache flushing code in one place. 2009-08-27 09:53:47 +10:00
drm_core.h drm: reorganise drm tree to be more future proof. 2008-07-14 10:45:01 +10:00
drm_crtc_helper.h drm/fb: add setcmap and fix 8-bit support. 2009-10-05 10:00:59 +10:00
drm_crtc.h drm: make drm_mode_object_find typesafe 2009-11-05 14:47:06 -08:00
drm_edid.h drm: Fix shifts which were miscalculated when converting from bitfields. 2009-06-24 16:11:04 +10:00
drm_encoder_slave.h drm/kms: no need to return void value (encoder) 2009-08-19 16:06:49 +10:00
drm_fb_helper.h drm/fb: add more correct 8/16/24/32 bpp fb support. 2009-10-06 13:54:01 +10:00
drm_hashtab.h drm: include kernel list header file in hashtab header 2009-06-12 15:56:34 +10:00
drm_memory.h includecheck fix: include/drm, drm_memory.h 2009-09-20 16:02:58 +05:30
drm_mm.h drm: include seq_file.h for debugfs builds. 2009-09-08 11:32:08 +10:00
drm_mode.h drm: clarify scaling property names 2009-08-19 16:06:40 +10:00
drm_os_linux.h drm/i915: add i915_lp_ring_sync helper 2009-11-05 14:47:07 -08:00
drm_pciids.h Merge branch 'drm-next' of ../drm-next into drm-linus 2009-10-08 14:03:05 +10:00
drm_sarea.h drm: move to kref per-master structures. 2008-12-29 17:47:22 +10:00
drm_sman.h drm: reorganise drm tree to be more future proof. 2008-07-14 10:45:01 +10:00
drm_sysfs.h drm: Enable drm drivers to add drm sysfs devices. 2009-08-19 16:08:51 +10:00
drm.h make drm headers use strict integer types 2009-03-26 18:14:18 +01:00
drmP.h drm/vgaarb: add VGA arbitration support to the drm and kms. 2009-09-21 15:00:27 +10:00
i810_drm.h drm: reorganise drm tree to be more future proof. 2008-07-14 10:45:01 +10:00
i830_drm.h drm: reorganise drm tree to be more future proof. 2008-07-14 10:45:01 +10:00
i915_drm.h drm/i915: implement drmmode overlay support v4 2009-11-05 14:47:08 -08:00
Kbuild DRM: add mode setting support 2008-12-29 17:47:23 +10:00
mga_drm.h make drm headers use strict integer types 2009-03-26 18:14:18 +01:00
r128_drm.h drm: reorganise drm tree to be more future proof. 2008-07-14 10:45:01 +10:00
radeon_drm.h drm/radeon/kms: Use surfaces for scanout / cursor byte swapping on big endian. 2009-09-18 16:01:59 +10:00
savage_drm.h drm: reorganise drm tree to be more future proof. 2008-07-14 10:45:01 +10:00
sis_drm.h drm: reorganise drm tree to be more future proof. 2008-07-14 10:45:01 +10:00
via_drm.h make drm headers use strict integer types 2009-03-26 18:14:18 +01:00