diff options
author | Dave Airlie <airlied@redhat.com> | 2014-09-12 05:04:53 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2014-09-12 05:04:53 -0400 |
commit | edbaae5a5cab89de0e64b8c03ebd9a8d5d266550 (patch) | |
tree | 97844f26ad675a37a74c70ea715f42b891827fa4 /Documentation | |
parent | a9d6dd2554e35c0213382fff19f5dbf151707955 (diff) | |
parent | 336879b1da97fffc097f77c6d6f818660f2826f0 (diff) |
Merge tag 'topic/vblank-rework-2014-09-12' of git://anongit.freedesktop.org/drm-intel into drm-next
So updated vblank-rework pull request, now with the polish that Mario
requested applied (and reviewed by him). Also with backmerge like you've
requested for easier merging.
The neat thing this finally allows is to immediately disable the vblank
interrupt on the last drm_vblank_put if the hardware has perfectly
accurate vblank counter and timestamp readout support. On i915 that
required piles of small adjustements from Ville since depending upon the
platform and port the vblank happens at different scanout lines.
Of course this is fully opt-in and per-device (we need that since gen2
doesn't have a hw vblank counter).
* tag 'topic/vblank-rework-2014-09-12' of git://anongit.freedesktop.org/drm-intel: (22 commits)
drm: Clarify vblank ts/scanoutpos sampling #defines
drm: Simplify return value of drm_get_last_vbltimestamp
drm: Only update final vblank count when precise ts is available
drm: Really never disable vblank irqs for offdelay==0
drm: Use vblank_disable_and_save in drm_vblank_cleanup()
drm: Remove drm_vblank_cleanup from drm_vblank_init error path.
drm: Store the vblank timestamp when adjusting the counter during disable
drm: Fix confusing debug message in drm_update_vblank_count()
drm/i915: Update scanline_offset only for active crtcs
drm: Kick start vblank interrupts at drm_vblank_on()
drm/i915: Opt out of vblank disable timer on >gen2
drm: Add dev->vblank_disable_immediate flag
drm: Disable vblank interrupt immediately when drm_vblank_offdelay<0
drm: Fix race between drm_vblank_off() and drm_queue_vblank_event()
drm: Fix deadlock between event_lock and vbl_lock/vblank_time_lock
drm: Reduce the amount of dev->vblank[crtc] in the code
drm: Avoid random vblank counter jumps if the hardware counter has been reset
drm: Have the vblank counter account for the time between vblank irq disable and drm_vblank_off()
drm: Move drm_update_vblank_count()
drm: Don't clear vblank timestamps when vblank interrupt is disabled
...
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/DocBook/drm.tmpl | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/Documentation/DocBook/drm.tmpl b/Documentation/DocBook/drm.tmpl index 1fce7dc46d87..ca44d9fe7d7d 100644 --- a/Documentation/DocBook/drm.tmpl +++ b/Documentation/DocBook/drm.tmpl | |||
@@ -3385,6 +3385,13 @@ void (*disable_vblank) (struct drm_device *dev, int crtc);</synopsis> | |||
3385 | by scheduling a timer. The delay is accessible through the vblankoffdelay | 3385 | by scheduling a timer. The delay is accessible through the vblankoffdelay |
3386 | module parameter or the <varname>drm_vblank_offdelay</varname> global | 3386 | module parameter or the <varname>drm_vblank_offdelay</varname> global |
3387 | variable and expressed in milliseconds. Its default value is 5000 ms. | 3387 | variable and expressed in milliseconds. Its default value is 5000 ms. |
3388 | Zero means never disable, and a negative value means disable immediately. | ||
3389 | Drivers may override the behaviour by setting the | ||
3390 | <structname>drm_device</structname> | ||
3391 | <structfield>vblank_disable_immediate</structfield> flag, which when set | ||
3392 | causes vblank interrupts to be disabled immediately regardless of the | ||
3393 | drm_vblank_offdelay value. The flag should only be set if there's a | ||
3394 | properly working hardware vblank counter present. | ||
3388 | </para> | 3395 | </para> |
3389 | <para> | 3396 | <para> |
3390 | When a vertical blanking interrupt occurs drivers only need to call the | 3397 | When a vertical blanking interrupt occurs drivers only need to call the |