|
@@ -823,13 +823,15 @@ static bool intel_fbc_can_choose(struct intel_crtc *crtc)
|
|
{
|
|
{
|
|
struct drm_i915_private *dev_priv = crtc->base.dev->dev_private;
|
|
struct drm_i915_private *dev_priv = crtc->base.dev->dev_private;
|
|
struct intel_fbc *fbc = &dev_priv->fbc;
|
|
struct intel_fbc *fbc = &dev_priv->fbc;
|
|
|
|
+ bool enable_by_default = IS_HASWELL(dev_priv) ||
|
|
|
|
+ IS_BROADWELL(dev_priv);
|
|
|
|
|
|
if (intel_vgpu_active(dev_priv->dev)) {
|
|
if (intel_vgpu_active(dev_priv->dev)) {
|
|
fbc->no_fbc_reason = "VGPU is active";
|
|
fbc->no_fbc_reason = "VGPU is active";
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
|
|
|
|
- if (i915.enable_fbc < 0) {
|
|
|
|
|
|
+ if (i915.enable_fbc < 0 && !enable_by_default) {
|
|
fbc->no_fbc_reason = "disabled per chip default";
|
|
fbc->no_fbc_reason = "disabled per chip default";
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|