[PATCH] drm/exynos: fix vblank handling during dpms off

Thierry Reding treding at nvidia.com
Thu Oct 9 02:58:52 PDT 2014


On Thu, Oct 09, 2014 at 09:52:58AM +0100, Russell King - ARM Linux wrote:
> On Thu, Oct 09, 2014 at 02:43:02PM +0900, Alexandre Courbot wrote:
> > But there might be another issue, which is that calls to  
> > drm_vblank_get() will return -EINVAL if invoked between drm_blank_off  
> > and drm_blank_on. Is this really the desired behavior? Can it at least  
> > happen? If so, how are drivers supposed to react to this situation?
> 
> I've not yet seen the commit which causes this problem, but I hope
> that drm_wait_vblank() isn't affected by this.  In current mainline,
> drm_vblank_get() is used inside drm_wait_vblank(), which is called as
> a result of userspace calling DRM_IOCTL_WAIT_VBLANK.
> 
> So, what is the effect of this change on user applications making use
> of the vblank wait ioctl - and is that change intended?

There's no effect on user applications if the driver behaves properly.
As far as I can tell, every driver that calls drm_vblank_off() but not
drm_vblank_on() will break. You can easily test this by running libdrm
modetest -s ... -v, which instead of toggling between the test pattern
and an all-gray framebuffer will switch to the gray one once and then
hang.

I guess that was probably not intended, but according to the new rules
all these drivers have now become buggy. So before merging this patch I
think we need to fix existing drivers to avoid regressions.

Thierry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20141009/630135f4/attachment.sig>


More information about the dri-devel mailing list