[Intel-gfx] [PATCH] drm/i915/fbc: enable FBC by default on HSW and BDW
Daniel Vetter
daniel at ffwll.ch
Wed Feb 17 16:23:23 UTC 2016
On Tue, Feb 16, 2016 at 06:47:21PM -0200, Paulo Zanoni wrote:
> These platforms should be fine now.
>
> FBC can allow very significant power savings for screen-on idle
> systems, but it is worth mentioning that a lot of people won't get
> significant power savings by enabling this feature because they may
> have something else preventing the system from getting into the
> deepest sleep states. Examples may include a hungry wifi device or a
> max_performance SATA link power management policy. You can check your
> PC state residencies on the powertop "Idle stats" tab. I recommend
> trying to run "sudo powertop --auto-tune" and then seeing if the
> residencies improve.
>
> Oh, and in case you - the person reading this commit message - found
> this commit through git bisect, please do the following:
> - Check your dmesg and see if there are error messages mentioning
> underruns around the time your problem started happening.
> - Download intel-gpu-tools, compile it, and run:
> $ sudo ./tests/kms_frontbuffer_tracking --run-subtest '*fbc-*' 2>&1 | tee fbc.txt
> Then send us the fbc.txt file, especially if you get a failure.
> This will really maximize your chances of getting the bug fixed
> quickly.
> - Try to find a reliable way to reproduce the problem, and tell us.
> - Boot with drm.debug=0xe, reproduce the problem, then send us the
> dmesg file.
>
> v2: Don't enable by default on SKL.
>
> Signed-off-by: Paulo Zanoni <paulo.r.zanoni at intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch>
> ---
> drivers/gpu/drm/i915/intel_fbc.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_fbc.c b/drivers/gpu/drm/i915/intel_fbc.c
> index 3614a95..0f0492f 100644
> --- a/drivers/gpu/drm/i915/intel_fbc.c
> +++ b/drivers/gpu/drm/i915/intel_fbc.c
> @@ -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 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)) {
> fbc->no_fbc_reason = "VGPU is active";
> return false;
> }
>
> - if (i915.enable_fbc < 0) {
> + if (i915.enable_fbc < 0 && !enable_by_default) {
> fbc->no_fbc_reason = "disabled per chip default";
> return false;
> }
> --
> 2.7.0
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
More information about the Intel-gfx
mailing list