[Intel-gfx] [PATCH 07/16] drm/i915: disable FBC on FIFO underruns

Chris Wilson chris at chris-wilson.co.uk
Sat Aug 15 01:22:20 PDT 2015


On Fri, Aug 14, 2015 at 06:34:12PM -0300, Paulo Zanoni wrote:
> If we want to try to enable FBC by default on any platform we need to
> be on the safe side and disable it in case we get an underrun while
> FBC is enabled on the corresponding pipe. We currently already have
> other reasons for FIFO underruns on our driver, but the ones I saw
> with FBC lead to black screens that only go away when you disable FBC.
> 
> The current FIFO underrun I see happens when the CFB is using the top
> 8mb of stolen memory. This is reproducible with a 2560x1440 DP Monitor
> on a system with 32mb of stolen memory. On this case, all the IGT
> tests fail while checking the screen CRC. A later patch on this series
> will fix this problem for real.
> 
> With this patch, the tests will start failing while checking if FBC is
> enabled instead of failing while comparing the CRC of the black screen
> against the correct CRC. So this patch is not hiding any IGT bugs: the
> tests still fail, but now they fail with a different reason.
> 
> Signed-off-by: Paulo Zanoni <paulo.r.zanoni at intel.com>
> ---
>  drivers/gpu/drm/i915/i915_drv.h            |  5 +++
>  drivers/gpu/drm/i915/intel_drv.h           |  1 +
>  drivers/gpu/drm/i915/intel_fbc.c           | 61 ++++++++++++++++++++++++++++++
>  drivers/gpu/drm/i915/intel_fifo_underrun.c |  2 +
>  4 files changed, 69 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 4fd7858..e74a844 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -926,6 +926,11 @@ struct i915_fbc {
>  		struct drm_framebuffer *fb;
>  	} *fbc_work;
>  
> +	struct intel_fbc_underrun_work {
> +		struct work_struct work;
> +		struct intel_crtc *crtc;
> +	} underrun_work;

It's a singleshot (perhaps a couple in flight during the switch off), so
there's no need for a permanent allocation. Fight the bloat!
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the Intel-gfx mailing list