Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/nv50/disp: disconnect encoders before reprogramming them

Fixes a case where we don't get separate supervisor interrupt sequences for
disconnect and modeset events.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>

+2 -6
+1 -6
drivers/gpu/drm/nouveau/nv50_dac.c
··· 200 200 } 201 201 202 202 static void 203 - nv50_dac_prepare(struct drm_encoder *encoder) 204 - { 205 - } 206 - 207 - static void 208 203 nv50_dac_commit(struct drm_encoder *encoder) 209 204 { 210 205 } ··· 261 266 .save = nv50_dac_save, 262 267 .restore = nv50_dac_restore, 263 268 .mode_fixup = nv50_dac_mode_fixup, 264 - .prepare = nv50_dac_prepare, 269 + .prepare = nv50_dac_disconnect, 265 270 .commit = nv50_dac_commit, 266 271 .mode_set = nv50_dac_mode_set, 267 272 .get_crtc = nv50_dac_crtc_get,
+1
drivers/gpu/drm/nouveau/nv50_sor.c
··· 174 174 static void 175 175 nv50_sor_prepare(struct drm_encoder *encoder) 176 176 { 177 + nv50_sor_disconnect(encoder); 177 178 } 178 179 179 180 static void