Thread (2 messages) flat view 2 messages, 2 authors, 2017-06-16

Re: [PATCH 2/7] drm/vc4: Fix vblank handling

From: Boris Brezillon <hidden>
Date: 2017-06-16 07:47:58
Also in: dri-devel

On Thu, 15 Jun 2017 16:30:58 -0700
Eric Anholt [off-list ref] wrote:
Boris Brezillon [off-list ref] writes:
quoted
There are two problems related to VBLANK handling in the current CRTC
driver:

* VBLANK events are missed when the CRTC is being disabled because the
  driver does not wait till the end of the frame before stopping the
  HVS and PV blocks. In this case, we should explicitly issue a VBLANK
  event if there's one waiting
* when we are enabling a CRTC, drm_crtc_vblank_get() is called before
  drm_crtc_vblank_on(), which is not supposed to happen (hence the
  WARN_ON() in the code). To solve the problem, we delay the 'update
  display list' operation after the CRTC is actually enabled.  
Does drm_crtc_vblank_get() actually fail when drm_crtc_vblank_on()
hasn't been called?  The code is a bit twisty, but it looked like we
would track the get refcount and then turn on the interrupt once
drm_crtc_vblank_on() was called.
I thought I had faced the WARN_ON() backtrace while developing the TXP
block, but I can't reproduce it (even after reverting these changes),
so it was probably caused by something else.
The first change of the two seems straightforward and good, though (and
possible to separate, right?).
I'll prepare a new patch containing only the first change.

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help