[PATCH 1/3] drm/nouveau: Use drm_vblank_on/off consistently

Michel Dänzer michel at daenzer.net
Thu Jan 21 18:14:27 PST 2016


On 21.01.2016 19:08, Daniel Vetter wrote:
> In
> 
> commit 9cba5efab5a8145ae6c52ea273553f069c294482
> Author: Mario Kleiner <mario.kleiner.de at gmail.com>
> Date:   Tue Jul 29 02:36:44 2014 +0200
> 
>     drm/nouveau: Dis/Enable vblank irqs during suspend/resume
> 
> drm_vblank_on/off calls where added around suspend/resume to make sure
> vblank stay doesn't go boom over that transition. But nouveau already
> used drm_vblank_pre/post_modeset over modesets. Instead use
> drm_vblank_on/off everyhwere. The slight change here is that after
> _off drm_vblank_get will refuse to work right away, but nouveau
> doesn't seem to depend upon that anywhere outside of the pageflip
> paths.
> 
> The longer-term plan here is to switch all kms drivers to
> drm_vblank_on/off so that common code like pending event cleanup can
> be done there, while drm_vblank_pre/post_modeset will be purely
> drm internal for the old UMS ioctl.
> 
> Note that the drm_vblank_off still seems required in the suspend path
> since nouveau doesn't explicitly disable crtcs. But on the resume side
> drm_helper_resume_force_mode should end up calling drm_vblank_on
> through the nouveau crtc hooks already. Hence remove the call in the
> resume code.
> 
> v2: Don't forget about nv50+, reported by Mario.

I may be blind, but I can't see the DRI2 code in xf86-video-nouveau
dealing with DRM_IOCTL_WAIT_VBLANK returning an error during DPMS off /
modeset. Does it?

If not, AFAICT it would result in the xserver DRI2 code returning
protocol errors to clients, which I'm not sure they'll survive.


-- 
Earthling Michel Dänzer               |               http://www.amd.com
Libre software enthusiast             |             Mesa and X developer


More information about the dri-devel mailing list