[Intel-gfx] [PATCH 3/3] drm/i915: Workaround broken BIOS DBUF configuration on TGL/RKL

Ville Syrjälä ville.syrjala at linux.intel.com
Mon Feb 7 09:45:54 UTC 2022


On Mon, Feb 07, 2022 at 09:30:48AM +0200, Lisovskiy, Stanislav wrote:
> On Fri, Feb 04, 2022 at 04:18:18PM +0200, Ville Syrjala wrote:
> > From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> > 
> > On TGL/RKL the BIOS likes to use some kind of bogus DBUF layout
> > that doesn't match what the spec recommends. With a single active
> > pipe that is not going to be a problem, but with multiple pipes
> > active skl_commit_modeset_enables() goes into an infinite loop
> > since it can't figure out any order in which it can commit the
> > pipes without causing DBUF overlaps between the planes.
> > 
> > We'd need some kind of extra DBUF defrag stage in between to
> > make the transition possible. But that is clearly way too complex
> > a solution, so in the name of simplicity let's just sanitize the
> > DBUF state by simply turning off all planes when we detect a
> > pipe encroaching on its neighbours' DBUF slices. We only have
> > to disable the primary planes as all other planes should have
> > already been disabled (if they somehow were enabled) by
> > earlier sanitization steps.
> > 
> > And for good measure let's also sanitize in case the DBUF
> > allocations of the pipes already seem to overlap each other.
> > 
> > Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/4762
> > Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> 
> Reviewed-by: Stanislav Lisovskiy <stanislav.lisovskiy at intel.com>

Thanks. Sprinkled on some cc:stable and pushed.

-- 
Ville Syrjälä
Intel


More information about the Intel-gfx mailing list