Re: [git pull] drm next pull for 5.10-rc1

From: Kirill A. Shutemov
Date: Tue Nov 03 2020 - 17:20:19 EST


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