linux/drivers/gpu/drm/i915
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
..
dvo.h drm/i915: Change I2C api to pass around i2c_adapters 2009-06-18 15:53:57 -07:00
dvo_ch7xxx.c drm/i915: Change I2C api to pass around i2c_adapters 2009-06-18 15:53:57 -07:00
dvo_ch7017.c drm/i915: Change I2C api to pass around i2c_adapters 2009-06-18 15:53:57 -07:00
dvo_ivch.c drm/i915: Change I2C api to pass around i2c_adapters 2009-06-18 15:53:57 -07:00
dvo_sil164.c drm/i915: Change I2C api to pass around i2c_adapters 2009-06-18 15:53:57 -07:00
dvo_tfp410.c drm/i915: Change I2C api to pass around i2c_adapters 2009-06-18 15:53:57 -07:00
i915_debugfs.c drm/i915: Avoid potential sleep whilst holding spinlock 2009-11-05 13:33:22 -08:00
i915_dma.c drm/i915: implement drmmode overlay support v4 2009-11-05 14:47:08 -08:00
i915_drv.c i915: fix intel graphics suspend breakage due to resume/lid event confusion 2009-11-02 09:29:55 -08:00
i915_drv.h drm/i915: implement drmmode overlay support v4 2009-11-05 14:47:08 -08:00
i915_gem.c drm/i915: add i915_lp_ring_sync helper 2009-11-05 14:47:07 -08:00
i915_gem_debug.c drm/i915: Catch up to obj_priv->page_list rename in disabled debug code. 2009-06-22 20:19:39 -07:00
i915_gem_tiling.c drm/i915: get the bridge device once. 2009-09-08 11:45:15 +10:00
i915_ioc32.c
i915_irq.c drm/i915: Enable irq to trace batch buffer completion. 2009-09-29 03:15:25 +01:00
i915_mem.c drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
i915_opregion.c drm/i915: fix opregion backlight chip detect and range 2009-09-17 14:32:08 -07:00
i915_reg.h drm/i915: implement drmmode overlay support v4 2009-11-05 14:47:08 -08:00
i915_suspend.c drm/i915: add render standby support 2009-11-05 14:47:06 -08:00
i915_trace.h drm/i915: Enable irq to trace batch buffer completion. 2009-09-29 03:15:25 +01:00
i915_trace_points.c drm/i915: Add tracepoints 2009-09-23 01:05:21 +01:00
intel_bios.c drm/i915: Fix render reclock availability detection. 2009-10-13 10:41:58 -07:00
intel_bios.h drm/i915: Add eDP support on IGDNG mobile chip 2009-07-29 15:16:19 -07:00
intel_crt.c drm/i915: Remove DAC disable in CRT force detect on IGDNG 2009-09-17 14:31:06 -07:00
intel_display.c drm/i915: implement drmmode overlay support v4 2009-11-05 14:47:08 -08:00
intel_dp.c drm/i915: quiet DP i2c init 2009-10-19 11:04:42 -07:00
intel_dp.h drm/i915: Add Display Port support 2009-06-18 15:54:07 -07:00
intel_dp_i2c.c drm/i915: Make driver less chatty 2009-07-01 18:13:34 -07:00
intel_drv.h drm/i915: implement drmmode overlay support v4 2009-11-05 14:47:08 -08:00
intel_dvo.c drm/i915: Set crtc/clone mask in different output devices 2009-08-24 17:01:33 -07:00
intel_fb.c drm/fb: add more correct 8/16/24/32 bpp fb support. 2009-10-06 13:54:01 +10:00
intel_hdmi.c drm/i915: HDMI hardware workaround for Ironlake 2009-11-05 14:03:28 -08:00
intel_i2c.c drm/i915: add dynamic clock frequency control 2009-09-04 13:05:38 -07:00
intel_lvds.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel 2009-11-04 07:05:43 -08:00
intel_modes.c drm/i915: Change I2C api to pass around i2c_adapters 2009-06-18 15:53:57 -07:00
intel_overlay.c drm/i915: implement drmmode overlay support v4 2009-11-05 14:47:08 -08:00
intel_sdvo.c drm/i915: Add the missing clone_mask for SDVO-VGA(RGB1) 2009-09-10 11:30:54 -07:00
intel_sdvo_regs.h drm/i915: enable sdvo lvds scaling function. 2009-07-01 11:44:45 -07:00
intel_tv.c drm/i915: Multiply the refresh by 1000 in TV mode validatiion 2009-10-02 12:12:31 -07:00
Makefile drm/i915: implement drmmode overlay support v4 2009-11-05 14:47:08 -08:00