]> www.infradead.org Git - users/hch/misc.git/commitdiff
drm/i915: Disable FBC if BIOS reserved memory (stolen) is unavailable
authorChris Wilson <chris@chris-wilson.co.uk>
Wed, 11 Sep 2019 17:59:26 +0000 (18:59 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Thu, 12 Sep 2019 10:43:48 +0000 (11:43 +0100)
The FBC requires a couple of contiguous buffers, which we allocate from
stolen memory. If stolen memory is unavailable, we cannot allocate those
buffers and so cannot support FBC. Mark it so.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190911175926.31365-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/display/intel_fbc.c

index dc34b23e23201f6128d5e615c8396175076418ff..3111ecaeabd0ef4717a01fe76e7488ad2b3fea6c 100644 (file)
@@ -1320,6 +1320,9 @@ void intel_fbc_init(struct drm_i915_private *dev_priv)
        fbc->enabled = false;
        fbc->active = false;
 
+       if (!drm_mm_initialized(&dev_priv->mm.stolen))
+               mkwrite_device_info(dev_priv)->display.has_fbc = false;
+
        if (need_fbc_vtd_wa(dev_priv))
                mkwrite_device_info(dev_priv)->display.has_fbc = false;