linux/drivers/gpu/drm/i915
Jesse Barnes b840d907fc drm/i915: add SNB and IVB video sprite support v6
The video sprites support various video surface formats natively and can
handle scaling as well.  So add support for them using the new DRM core
sprite support functions.

v2: use drm specific fourcc header and defines
v3: address Daniel's comments:
  - don't take struct mutex around register access (only needed for
    regs in the GT power well)
  - don't hold struct mutex across vblank waits
  - fix up update_plane API (pass obj instead of GTT offset)
  - add interlaced defines for sprite regs
  - drop unnecessary 'reg' variables
  - comment double buffered reg flushing
  Also fix w/h confusion when writing the scaling reg.
v4: more fixes, address more comments from Daniel, and include Hai's fix
  - prevent divide by zero in scaling calculation (Hai Lan)
  - update to Ville's new DRM_FORMAT_* types
  - fix sprite watermark handling (calc based on CRTC size, separate
    from normal display wm)
  - remove private refcounts now that the fb cleanups handles things
v5: add linear surface support
v6: remove color key clearing & setting from update_plane

For this version, I tested DPMS since it came up in the last review;
DPMS off/on works ok when a video player is working under X, but for
power saving we'll probably want to do something smarter.  I'll leave
that for a separate patch on top.  Likewise with the refcounting/fb
layer handling, which are really separate cleanups.

Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Keith Packard <keithp@keithp.com>
2012-01-03 09:31:09 -08:00
..
dvo_ch7xxx.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
dvo_ch7017.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
dvo_ivch.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
dvo_sil164.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
dvo_tfp410.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
dvo.h drm/i915: Subclass intel_encoder. 2010-08-09 11:24:28 -07:00
i915_debugfs.c drm/i915: drpc debugfs update for gen6 2012-01-03 09:09:45 -08:00
i915_dma.c drm/i915: prevent division by zero when asking for chipset power 2011-12-16 08:49:56 -08:00
i915_drv.c drm/i915: Clean up multi-threaded forcewake patch 2012-01-03 09:09:45 -08:00
i915_drv.h drm/i915: add SNB and IVB video sprite support v6 2012-01-03 09:31:09 -08:00
i915_gem_debug.c drm/i915: drop KM_USER0 argument to k(un)map_atomic 2011-10-20 15:26:37 -07:00
i915_gem_evict.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
i915_gem_execbuffer.c drm/i915: Force sync command ordering (Gen6+) 2012-01-03 09:09:44 -08:00
i915_gem_gtt.c drm/i915: ILK + VT-d workaround 2011-10-20 15:26:39 -07:00
i915_gem_tiling.c drm/i915: simplify swapin/out swizzle checking a bit 2011-10-20 14:11:18 -07:00
i915_gem.c Revert "drm/i915: fix infinite recursion on unbind due to ilk vt-d w/a" 2011-12-16 12:58:39 -08:00
i915_ioc32.c drm: convert drm_ioctl to unlocked_ioctl 2009-12-18 11:22:31 +10:00
i915_irq.c Merge branch 'drm-intel-next' of git://people.freedesktop.org/~keithp/linux into drm-core-next 2012-01-03 09:34:43 +00:00
i915_mem.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
i915_reg.h drm/i915: add SNB and IVB video sprite support v6 2012-01-03 09:31:09 -08:00
i915_suspend.c drm/i915: Ivybridge still has fences! 2011-11-03 09:20:00 -07:00
i915_trace_points.c drm/i915: Add tracepoints 2009-09-23 01:05:21 +01:00
i915_trace.h Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
intel_acpi.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
intel_bios.c drm/i915: Remove "i2c_speed" nonsense from child device table 2011-10-20 14:11:15 -07:00
intel_bios.h drm/i915: Remove "i2c_speed" nonsense from child device table 2011-10-20 14:11:15 -07:00
intel_crt.c drm/i915: use transcoder select bits on VGA and HDMI on CPT 2011-10-20 15:26:43 -07:00
intel_display.c drm/i915: add SNB and IVB video sprite support v6 2012-01-03 09:31:09 -08:00
intel_dp.c drm/i915: DisplayPort hot remove notification to audio driver 2011-12-19 19:15:48 -08:00
intel_drv.h drm/i915: add SNB and IVB video sprite support v6 2012-01-03 09:31:09 -08:00
intel_dvo.c drm/i915: cleanup per-pipe reg usage 2011-02-07 21:17:15 +00:00
intel_fb.c drm/i915: add SNB and IVB video sprite support v6 2012-01-03 09:31:09 -08:00
intel_hdmi.c drm/i915: HDMI hot remove notification to audio driver 2011-12-19 19:15:48 -08:00
intel_i2c.c gpu: Add export.h as required to drivers/gpu files. 2011-10-31 19:32:03 -04:00
intel_lvds.c drm/i915: no-lvds quirk for ASUS AT5NM10T-I 2011-12-16 08:49:54 -08:00
intel_modes.c drm/i915: pass ELD to HDMI/DP audio driver 2011-09-21 14:52:41 -07:00
intel_opregion.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
intel_overlay.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
intel_panel.c drm/i915: Treat pre-gen4 backlight duty cycle value consistently 2011-11-23 13:07:13 -08:00
intel_ringbuffer.c drm/i915: Force sync command ordering (Gen6+) 2012-01-03 09:09:44 -08:00
intel_ringbuffer.h drm/i915: Dumb down the semaphore logic 2011-09-21 14:52:41 -07:00
intel_sdvo_regs.h Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
intel_sdvo.c drm/i915/sdvo: Include LVDS panels for the IS_DIGITAL check 2011-12-16 08:49:56 -08:00
intel_sprite.c drm/i915: add SNB and IVB video sprite support v6 2012-01-03 09:31:09 -08:00
intel_tv.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
Makefile drm/i915: add SNB and IVB video sprite support v6 2012-01-03 09:31:09 -08:00