[PATCH] i915/fbc: Disable on HSW by default for now

Zanoni, Paulo R paulo.r.zanoni at intel.com
Thu Jun 9 19:04:40 UTC 2016


Em Qui, 2016-06-09 às 11:58 -0400, Lyude escreveu:
> From https://bugs.freedesktop.org/show_bug.cgi?id=96461 :
> 
> This was kind of a difficult bug to track down. If you're using a
> Haswell system running GNOME and you have fbc completely enabled and
> working, playing videos can result in video artifacts. Steps to
> reproduce:
> 
> - Run GNOME
> - Ensure FBC is enabled and active
> - Download a movie, I used the ogg version of Big Buck Bunny for this
> - Run `gst-launch-1.0 filesrc location='some_movie.ogg' ! decodebin !
>   glimagesink` in a terminal
> - Watch for about over a minute, you'll see small horizontal lines go
>   down the screen.

If you "dmesg | grep -i underrun", do you see anything (even if it
doesn't happen during the moments of corruption)?

Does the problem still happen if you apply these patches?
 - https://patchwork.freedesktop.org/patch/79567/
 - https://patchwork.freedesktop.org/patch/80857/
 - https://patchwork.freedesktop.org/patch/92634/

> 
> For the time being, disable FBC for Haswell by default.

In case we want to improve the commit message:

We also got reports from Steven Honeyman on openbox+roxterm, and from
Stefan Richter.

Anyway, there's a regression that needs to be fixed, so:

Reviewed-by: Paulo Zanoni <paulo.r.zanoni at intel.com>

We can always try again later.

> 
> Signed-off-by: Lyude <cpaul at redhat.com>
> Cc: stable at vger.kernel.org
> ---
>  drivers/gpu/drm/i915/intel_fbc.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_fbc.c
> b/drivers/gpu/drm/i915/intel_fbc.c
> index 0f0492f..28f4407 100644
> --- a/drivers/gpu/drm/i915/intel_fbc.c
> +++ b/drivers/gpu/drm/i915/intel_fbc.c
> @@ -823,8 +823,7 @@ 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);
> +	bool enable_by_default = IS_BROADWELL(dev_priv);
>  
>  	if (intel_vgpu_active(dev_priv->dev)) {
>  		fbc->no_fbc_reason = "VGPU is active";


More information about the dri-devel mailing list