Should say [PATCH v2 0/4] instead Am 05.08.20 um 12:54 schrieb Thomas Zimmermann: > Since converting the ast driver to atomic modesettting, modesetting > occationally locks up the graphics hardware and turns the display > permanently dark. This happens once or twice per 10 mode switches. > Investigation shows that the ast hardware presumably requires the HW > cursor to be disabled while the modeswitch takes place. > > This patchset fixes the problem by disabling planes before programming > the CRTC mode or format. After the switch, the planes gets re-enabled if > they were enabled before. For mere pageflip operations, nothing changes. > > Patches #1 makes format changes work as intended: format registers are > only updated if necessary. They used to be changed on each pageflip. > Patch #2 puts the modesetting code before the plane-update code. This > way, mode setting runs while planes are disabled. Patches #3 and #4 > add a commit-tail function that disables planes if the display's mode > or format is going to change. The active planes will later get re-enabled > by the plane-update handler. > > Tested on AST2100 HW. The issue is not 100% reproducible, but does not > show up after applying the patchset. I think the problem has been fixed. > > v2: > * rewrote the whole patchset > * dropped the cursor patches > * moved modesetting into atomic_begin() > * disable planes in commit-tail function > * don't require full modeset for format changes > > Thomas Zimmermann (4): > drm/ast: Only set format registers if primary plane's format changes > drm/ast: Set display mode in atomic_begin() > drm/ast: Add commit-tail function > drm/ast: Disable planes while switching display modes > > drivers/gpu/drm/ast/ast_drv.h | 2 + > drivers/gpu/drm/ast/ast_mode.c | 148 +++++++++++++++++++++++++-------- > 2 files changed, 114 insertions(+), 36 deletions(-) > > -- > 2.28.0 > -- Thomas Zimmermann Graphics Driver Developer SUSE Software Solutions Germany GmbH Maxfeldstr. 5, 90409 Nürnberg, Germany (HRB 36809, AG Nürnberg) Geschäftsführer: Felix Imendörffer