mirror of
https://github.com/torvalds/linux.git
synced 2026-07-22 13:33:56 +02:00
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> |
||
|---|---|---|
| .. | ||
| ttm | ||
| drm_cache.h | ||
| drm_core.h | ||
| drm_crtc_helper.h | ||
| drm_crtc.h | ||
| drm_edid.h | ||
| drm_encoder_slave.h | ||
| drm_fb_helper.h | ||
| drm_hashtab.h | ||
| drm_memory.h | ||
| drm_mm.h | ||
| drm_mode.h | ||
| drm_os_linux.h | ||
| drm_pciids.h | ||
| drm_sarea.h | ||
| drm_sman.h | ||
| drm_sysfs.h | ||
| drm.h | ||
| drmP.h | ||
| i810_drm.h | ||
| i830_drm.h | ||
| i915_drm.h | ||
| Kbuild | ||
| mga_drm.h | ||
| r128_drm.h | ||
| radeon_drm.h | ||
| savage_drm.h | ||
| sis_drm.h | ||
| via_drm.h | ||