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

drm/nouveau: Call drm_vblank_pre/post_modeset() around mode setting.

Signed-off-by: Francisco Jerez <currojerez@riseup.net>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>

authored by

Francisco Jerez and committed by
Ben Skeggs
1c180fa5 332b242f

+4
+2
drivers/gpu/drm/nouveau/nv04_crtc.c
··· 672 672 if (nv_two_heads(dev)) 673 673 NVSetOwner(dev, nv_crtc->index); 674 674 675 + drm_vblank_pre_modeset(dev, nv_crtc->index); 675 676 funcs->dpms(crtc, DRM_MODE_DPMS_OFF); 676 677 677 678 NVBlankScreen(dev, nv_crtc->index, true); ··· 705 704 #endif 706 705 707 706 funcs->dpms(crtc, DRM_MODE_DPMS_ON); 707 + drm_vblank_post_modeset(dev, nv_crtc->index); 708 708 } 709 709 710 710 static void nv_crtc_destroy(struct drm_crtc *crtc)
+2
drivers/gpu/drm/nouveau/nv50_crtc.c
··· 454 454 455 455 NV_DEBUG_KMS(dev, "index %d\n", nv_crtc->index); 456 456 457 + drm_vblank_pre_modeset(dev, nv_crtc->index); 457 458 nv50_crtc_blank(nv_crtc, true); 458 459 } 459 460 ··· 470 469 NV_DEBUG_KMS(dev, "index %d\n", nv_crtc->index); 471 470 472 471 nv50_crtc_blank(nv_crtc, false); 472 + drm_vblank_post_modeset(dev, nv_crtc->index); 473 473 474 474 ret = RING_SPACE(evo, 2); 475 475 if (ret) {