diff options
Diffstat (limited to 'drivers/gpu/drm/i915/intel_display.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index f0e5f9f32aa8..8230cf54cc8d 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c | |||
@@ -1800,6 +1800,7 @@ static void intel_update_fbc(struct drm_device *dev) | |||
1800 | struct drm_framebuffer *fb; | 1800 | struct drm_framebuffer *fb; |
1801 | struct intel_framebuffer *intel_fb; | 1801 | struct intel_framebuffer *intel_fb; |
1802 | struct drm_i915_gem_object *obj; | 1802 | struct drm_i915_gem_object *obj; |
1803 | int enable_fbc; | ||
1803 | 1804 | ||
1804 | DRM_DEBUG_KMS("\n"); | 1805 | DRM_DEBUG_KMS("\n"); |
1805 | 1806 | ||
@@ -1840,8 +1841,15 @@ static void intel_update_fbc(struct drm_device *dev) | |||
1840 | intel_fb = to_intel_framebuffer(fb); | 1841 | intel_fb = to_intel_framebuffer(fb); |
1841 | obj = intel_fb->obj; | 1842 | obj = intel_fb->obj; |
1842 | 1843 | ||
1843 | if (!i915_enable_fbc) { | 1844 | enable_fbc = i915_enable_fbc; |
1844 | DRM_DEBUG_KMS("fbc disabled per module param (default off)\n"); | 1845 | if (enable_fbc < 0) { |
1846 | DRM_DEBUG_KMS("fbc set to per-chip default\n"); | ||
1847 | enable_fbc = 1; | ||
1848 | if (INTEL_INFO(dev)->gen <= 5) | ||
1849 | enable_fbc = 0; | ||
1850 | } | ||
1851 | if (!enable_fbc) { | ||
1852 | DRM_DEBUG_KMS("fbc disabled per module param\n"); | ||
1845 | dev_priv->no_fbc_reason = FBC_MODULE_PARAM; | 1853 | dev_priv->no_fbc_reason = FBC_MODULE_PARAM; |
1846 | goto out_disable; | 1854 | goto out_disable; |
1847 | } | 1855 | } |