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@xxxxxxxxxxxxxxx> > > > > 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@xxxxxxxxxxxxxxx> > > Reviewed-by: Stanislav Lisovskiy <stanislav.lisovskiy@xxxxxxxxx> Thanks. Sprinkled on some cc:stable and pushed. -- Ville Syrjälä Intel