linux/drivers/gpu/drm/i915
Chris Wilson 11be49eb4d drm/i915: Delay allocation of stolen space for FBC
As FBC is commonly disabled due to limitations of the chipset upon
output configurations, on many systems FBC is never enabled. For those
systems, it is advantageous to make use of the stolen memory for other
objects and so we defer allocation of the FBC chunk until we actually
require it. This increases the likelihood of that allocation failing,
but that in turns means that we are already taking advantage of the
stolen memory!

As well as delaying the allocation from driver initialisation until the
first use of FBC, we also return the stolen block after we finish using
it - allowing greater flexibility in our usage of stolen space. A side
effect of this is that we can then attempt to allocate only the required
amount of space (with a little slack to reduce reallocation rate and
avoid fragmentation).

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-11-30 23:29:59 +01:00
..
dvo_ch7xxx.c drm/i915/dvo-ch7xxx: fix get_hw_state 2012-10-12 10:59:11 +02:00
dvo_ch7017.c drm/i915/dvo: implement get_hw_state 2012-09-06 07:58:52 +02:00
dvo_ivch.c drm/i915/dvo: implement get_hw_state 2012-09-06 07:58:52 +02:00
dvo_ns2501.c drm/i915/dvo: implement get_hw_state 2012-09-06 07:58:52 +02:00
dvo_sil164.c drm/i915/dvo: implement get_hw_state 2012-09-06 07:58:52 +02:00
dvo_tfp410.c drm/i915/dvo: implement get_hw_state 2012-09-06 07:58:52 +02:00
dvo.h Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
i915_debugfs.c drm/i915/debugfs: Prune a couple of superfluous leading zeros from bo domains 2012-11-29 11:58:15 +01:00
i915_dma.c drm/i915: Rearrange code to only have a single method for waiting upon the ring 2012-11-29 11:43:53 +01:00
i915_drv.c drm/i915: force restore on lid open 2012-11-29 11:43:52 +01:00
i915_drv.h drm/i915: Delay allocation of stolen space for FBC 2012-11-30 23:29:59 +01:00
i915_gem_context.c drm/i915: Preallocate next seqno before touching the ring 2012-11-29 11:43:52 +01:00
i915_gem_debug.c UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
i915_gem_dmabuf.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
i915_gem_evict.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
i915_gem_execbuffer.c drm/i915: Kill i915_gem_execbuffer_wait_for_flips() 2012-11-29 11:58:15 +01:00
i915_gem_gtt.c drm/i915: Avoid clearing preallocated regions from the GTT 2012-11-30 23:24:49 +01:00
i915_gem_stolen.c drm/i915: Delay allocation of stolen space for FBC 2012-11-30 23:29:59 +01:00
i915_gem_tiling.c Merge branch 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel into drm-next 2012-10-07 21:13:54 +10:00
i915_gem.c drm/i915: optimize the shmem_pwrite slowpath handling 2012-11-29 13:49:08 +01:00
i915_ioc32.c UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
i915_irq.c drm/i915: optimize ilk/snb irq handler 2012-11-30 19:06:33 +01:00
i915_reg.h drm/i915: remove duplicate register #defines 2012-11-29 11:58:14 +01:00
i915_suspend.c drm/i915: Remove save/restore of physical HWS_PGA register 2012-11-21 17:45:02 +01:00
i915_sysfs.c drm/i915: protect RPS/RC6 related accesses (including PCU) with a new mutex 2012-11-11 23:51:41 +01:00
i915_trace_points.c drm/i915: [sparse] trivial sparse fixes 2012-04-18 10:34:49 +02:00
i915_trace.h drm/i915: Allow DRM_ROOT_ONLY|DRM_MASTER to submit privileged batchbuffers 2012-10-17 21:06:59 +02:00
intel_acpi.c UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
intel_bios.c drm/i915: Only check for valid PP_{ON, OFF}_DELAYS on pre ILK hardware 2012-11-21 17:45:01 +01:00
intel_bios.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
intel_crt.c drm/i915: add HAS_DDI check 2012-11-29 14:58:53 +01:00
intel_ddi.c drm/i915: invert the log inside intel_prepare_ddi 2012-11-29 14:59:12 +01:00
intel_display.c drm/i915: Delay allocation of stolen space for FBC 2012-11-30 23:29:59 +01:00
intel_dp.c drm/i915: kill intel_dp_link_clock() 2012-11-29 15:00:38 +01:00
intel_drv.h drm/i915: move is_dual_link_lvds to intel_lvds.c 2012-11-29 12:25:06 +01:00
intel_dvo.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
intel_fb.c UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
intel_hdmi.c drm/i915: add HAS_DDI check 2012-11-29 14:58:53 +01:00
intel_i2c.c drm/i915/i2c: Track users of GMBUS force-bit 2012-11-13 16:10:04 +01:00
intel_lvds.c drm/i915: enable intel_lvds->pre_pll_enable for ilk+, too 2012-11-29 12:51:37 +01:00
intel_modes.c drm/i915: drm_connector_property -> drm_object_property 2012-11-21 22:12:26 +01:00
intel_opregion.c Linux 3.7-rc2 2012-10-22 14:34:51 +02:00
intel_overlay.c drm/i915: fix overlay on i830M 2012-10-23 12:57:50 +02:00
intel_panel.c drm/i915: resurrect panel lid handling 2012-11-21 17:45:05 +01:00
intel_pm.c drm/i915: Delay allocation of stolen space for FBC 2012-11-30 23:29:59 +01:00
intel_ringbuffer.c drm/i915: Rearrange code to only have a single method for waiting upon the ring 2012-11-29 11:43:53 +01:00
intel_ringbuffer.h drm/i915: Rearrange code to only have a single method for waiting upon the ring 2012-11-29 11:43:53 +01:00
intel_sdvo_regs.h drm/i915: clear the entire sdvo infoframe buffer 2012-10-24 15:12:48 +02:00
intel_sdvo.c drm/i915: Increase the response time for slow SDVO devices 2012-11-29 11:42:38 +01:00
intel_sprite.c drm/i915: Bad pixel formats can't reach the sprite code 2012-11-11 23:51:14 +01:00
intel_tv.c drm/i915: drm_connector_property -> drm_object_property 2012-11-21 22:12:26 +01:00
Makefile drm/i915: Support for ns2501-DVO 2012-07-25 18:23:48 +02:00