[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