[Intel-gfx] [PATCH 00/13] drm/i915/fbc: Fix FBC for glk+

Daniel Drake drake at endlessm.com
Wed Nov 27 07:11:58 UTC 2019


Hi Ville,

It's great to see Intel putting attention into this, thanks!

On Wed, Nov 27, 2019 at 1:09 AM Ville Syrjala
<ville.syrjala at linux.intel.com> wrote:
> Implement the missing w/a for back to back FBC disable + plane
> update on glk+. The scariest part of this is that we now start
> to use flip nuke so that we can avoid the w/a (as it would cost
> us one extra frame for every plane update). Hopefully my "can
> we flip nuke safely?" check is good enough.

I tested on Asus E406MA which is one of the original platforms where
we were seeing the corruption at the top of the screen.

I first took your branch *without* your new patches applied, to
reconfirm the base case of FBC causing corruption.
However this didn't work as desired - FBC did not get enabled and
i915_fbc_status reported "no suitable CRTC fo FBC".
This must be a change in behaviour since we originally saw the
corruption bug a while back. I checked that skl_plane_has_fbc()
correctly marks the right plane (pipe A, primary plane) as has_fbc=1
however the loop inside intel_fbc_choose_crtc() was only considering
plane 7 (PLANE_CURSOR) and then deciding that there were no
FBC-capable planes.

I then applied your patch series and checked again. FBC still
disabled, but this time the reason is "CFB requirements changed".

I then booted with i915.fastboot=0 and now FBC is enabled. I'm unable
to reproduce the graphics corruption under this setup, so it looks
like your patches may have solved the original issue. However, it's
unfortunate that FBC will continue to remain disabled for users of
this platform, as fastboot defaults to on (and the fastboot associated
boot flicker reduction is very welcome). Do you think this point is
worth following up on?

Thanks,
Daniel


More information about the Intel-gfx mailing list