On Thu, Oct 15, 2020 at 11:33:08AM +1000, Dave Airlie wrote: > drm/nouveau/kms: Search for encoders' connectors properly
This commit (09838c4efe9a) broke boot for me. These two hunks in particular: @ -2066,7 +2120,7 @@ nv50_disp_atomic_commit_tail(struct drm_atomic_state *state) outp->clr.mask, outp->set.mask); if (outp->clr.mask) { - help->disable(encoder); + help->atomic_disable(encoder, state); interlock[NV50_DISP_INTERLOCK_CORE] |= 1; if (outp->flush_disable) { nv50_disp_atomic_commit_wndw(state, interlock); @@ -2105,7 +2159,7 @@ nv50_disp_atomic_commit_tail(struct drm_atomic_state *state) outp->set.mask, outp->clr.mask); if (outp->set.mask) { - help->enable(encoder); + help->atomic_enable(encoder, state); interlock[NV50_DISP_INTERLOCK_CORE] = 1; } I hacked up patch to use help->disable/help->enable if atomic_ versions are NULL. It worked. In my setup I stepped onto nv50_msto_help->atomic_enable == NULL. But there are two more drm_encoder_helper_funcs in dispnv50/disp.c that don't have atomic_enable/disable set: nv50_dac_help, nv50_pior_help. -- Kirill A. Shutemov