diff options
author | Mario Kleiner <mario.kleiner.de@gmail.com> | 2013-10-30 00:13:05 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2013-11-05 20:53:40 -0500 |
commit | 862cc8b4bba9381c1824a0b7ed6404ec2cfb21b1 (patch) | |
tree | ed295bdd9cf55bc644b81e3c7fe0dc70fcbab5be /drivers/gpu/drm/drm_irq.c | |
parent | bbf1f8bfef7fbe1ea5634d7559770b805510ad8d (diff) |
drm: Remove preempt_disable() from vblank timestamping code.
Preemption handling will get pushed into the kms
drivers in followup patches, to make timestamping
more robust and PREEMPT_RT friendly.
Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/drm_irq.c')
-rw-r--r-- | drivers/gpu/drm/drm_irq.c | 7 |
1 files changed, 0 insertions, 7 deletions
diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c index f9af048828ea..33ee515c9777 100644 --- a/drivers/gpu/drm/drm_irq.c +++ b/drivers/gpu/drm/drm_irq.c | |||
@@ -586,11 +586,6 @@ int drm_calc_vbltimestamp_from_scanoutpos(struct drm_device *dev, int crtc, | |||
586 | * code gets preempted or delayed for some reason. | 586 | * code gets preempted or delayed for some reason. |
587 | */ | 587 | */ |
588 | for (i = 0; i < DRM_TIMESTAMP_MAXRETRIES; i++) { | 588 | for (i = 0; i < DRM_TIMESTAMP_MAXRETRIES; i++) { |
589 | /* Disable preemption to make it very likely to | ||
590 | * succeed in the first iteration even on PREEMPT_RT kernel. | ||
591 | */ | ||
592 | preempt_disable(); | ||
593 | |||
594 | /* Get system timestamp before query. */ | 589 | /* Get system timestamp before query. */ |
595 | stime = ktime_get(); | 590 | stime = ktime_get(); |
596 | 591 | ||
@@ -602,8 +597,6 @@ int drm_calc_vbltimestamp_from_scanoutpos(struct drm_device *dev, int crtc, | |||
602 | if (!drm_timestamp_monotonic) | 597 | if (!drm_timestamp_monotonic) |
603 | mono_time_offset = ktime_get_monotonic_offset(); | 598 | mono_time_offset = ktime_get_monotonic_offset(); |
604 | 599 | ||
605 | preempt_enable(); | ||
606 | |||
607 | /* Return as no-op if scanout query unsupported or failed. */ | 600 | /* Return as no-op if scanout query unsupported or failed. */ |
608 | if (!(vbl_status & DRM_SCANOUTPOS_VALID)) { | 601 | if (!(vbl_status & DRM_SCANOUTPOS_VALID)) { |
609 | DRM_DEBUG("crtc %d : scanoutpos query failed [%d].\n", | 602 | DRM_DEBUG("crtc %d : scanoutpos query failed [%d].\n", |