[PATCH 0/9] drm: More vblank on/off work

ville.syrjala at linux.intel.com ville.syrjala at linux.intel.com
Mon May 26 04:46:23 PDT 2014

From: Ville Syrjälä <ville.syrjala at linux.intel.com>

Another vblank series with the following features:
- Plug a race between drm_vblank_off() and marking the crtc inactive
- Don't send zeroed vblank evens to userspace at drm_vblank_off()
- Have the user visible vblank counter account the entire time
  when the crtc was active, regardless of how long vblank interrupts
  were enabled
- Avoid random jumps in the user visible vblank counter if the hardware
  counter gets reset
- Allow disabling vblank interrupts immediately at drm_vblank_put()
- Some polish via coccinelle

While setting drm_vblank_offdelay to 0 is now possible, I'm not sure
if we should set it 0 automatically in the i915 driver. If there are
multiple GPUs in the system that setting will affect them all, which
might have bad consequences if the other GPU doesn't have a hardware
frame counter, or if it's just buggy. So perhaps we should move that
option to be per-driver?

Ville Syrjälä (9):
  drm: Always reject drm_vblank_get() after drm_vblank_off()
  drm/i915: Warn if drm_vblank_get() still works after drm_vblank_off()
  drm: Don't clear vblank timestamps when vblank interrupt is disabled
  drm: Move drm_update_vblank_count()
  drm: Have the vblank counter account for the time between vblank irq
    disable and drm_vblank_off()
  drm: Avoid random vblank counter jumps if the hardware counter has
    been reset
  drm: Disable vblank interrupt immediately when drm_vblank_offdelay==0
  drm: Reduce the amount of dev->vblank[crtc] in the code
  drm/i915: Leave interrupts enabled while disabling crtcs during

 Documentation/DocBook/drm.tmpl          |   1 +
 drivers/gpu/drm/drm_irq.c               | 285 +++++++++++++++++++-------------
 drivers/gpu/drm/drm_stub.c              |   4 +-
 drivers/gpu/drm/exynos/exynos_drm_drv.h |   2 +-
 drivers/gpu/drm/i915/i915_drv.c         |   3 +-
 drivers/gpu/drm/i915/intel_display.c    |  15 ++
 include/drm/drmP.h                      |   2 +-
 7 files changed, 192 insertions(+), 120 deletions(-)


More information about the dri-devel mailing list