summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_display.c
diff options
context:
space:
mode:
authorChris Wilson2012-11-15 12:32:20 +0100
committerDaniel Vetter2012-11-30 23:29:59 +0100
commit11be49eb4db24c5e971edef160afb87788cc270c (patch)
treee06633e44d1cf4083e6dbcf39c5fc23dc0e39a28 /drivers/gpu/drm/i915/intel_display.c
parentdrm/i915: Avoid clearing preallocated regions from the GTT (diff)
downloadkernel-qcow2-linux-11be49eb4db24c5e971edef160afb87788cc270c.tar.gz
kernel-qcow2-linux-11be49eb4db24c5e971edef160afb87788cc270c.tar.xz
kernel-qcow2-linux-11be49eb4db24c5e971edef160afb87788cc270c.zip
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>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_display.c')
-rw-r--r--drivers/gpu/drm/i915/intel_display.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 52b6b0e811bc..d303f2a90e70 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -8655,6 +8655,9 @@ void intel_modeset_init(struct drm_device *dev)
/* Just disable it once at startup */
i915_disable_vga(dev);
intel_setup_outputs(dev);
+
+ /* Just in case the BIOS is doing something questionable. */
+ intel_disable_fbc(dev);
}
static void