The CRTC's mode-setting code contains quite a bit of code that belongs to the planes or various encoder chips. This patchset refactors these bits and moves things to the correct places. With the patches applied, the remaining DPMS function will be gone and its content be moved. Several code duplications will be removed. There was also a bugfix wrt the VGA SCREEN_DISABLE bit, but it's unclear if the bug had any effect in practice. Tested with AST2100 and AST2600 with VGA and DP outputs. Thomas Zimmermann (8): drm/ast: Implement atomic enable/disable for encoders drm/ast: Program mode for AST DP in atomic_mode_set drm/ast: Move mode-setting code into mode_set_nofb CRTC helper drm/ast: Handle primary-plane format setup in atomic_update drm/ast: Remove gamma LUT updates from DPMS code drm/ast: Only set VGA SCREEN_DISABLE bit in CRTC code drm/ast: Inline ast_crtc_dpms() into callers drm/ast: Use drm_atomic_helper_commit_tail() helper drivers/gpu/drm/ast/ast_mode.c | 204 ++++++++++++++++++--------------- drivers/gpu/drm/ast/ast_reg.h | 10 +- 2 files changed, 112 insertions(+), 102 deletions(-) -- 2.45.2