summaryrefslogtreecommitdiffstats
path: root/sys/dev/drm2
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2012-09-25 10:52:49 +0000
committermav <mav@FreeBSD.org>2012-09-25 10:52:49 +0000
commit34732ca830cdb88299b81a21db8d8b6e75efbce2 (patch)
tree2df22a1cb6d369a77bb011e118f0a879a9a08a3f /sys/dev/drm2
parent8df6c6b408f95a518f5b2a43ce694f1410669b1b (diff)
downloadFreeBSD-src-34732ca830cdb88299b81a21db8d8b6e75efbce2.zip
FreeBSD-src-34732ca830cdb88299b81a21db8d8b6e75efbce2.tar.gz
Reduce delays in several wait loops from 10ms to 10us, same is it is done
in Linux. This substantially increases graphics performance on Ivy Bridge. Submitted by: avg@ Reviewed by: kib@
Diffstat (limited to 'sys/dev/drm2')
-rw-r--r--sys/dev/drm2/i915/i915_drv.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/sys/dev/drm2/i915/i915_drv.c b/sys/dev/drm2/i915/i915_drv.c
index 79ab6d5..c90d1d1 100644
--- a/sys/dev/drm2/i915/i915_drv.c
+++ b/sys/dev/drm2/i915/i915_drv.c
@@ -486,14 +486,14 @@ __gen6_gt_force_wake_get(struct drm_i915_private *dev_priv)
count = 0;
while (count++ < 50 && (I915_READ_NOTRACE(FORCEWAKE_ACK) & 1))
- DELAY(10000);
+ DELAY(10);
I915_WRITE_NOTRACE(FORCEWAKE, 1);
POSTING_READ(FORCEWAKE);
count = 0;
while (count++ < 50 && (I915_READ_NOTRACE(FORCEWAKE_ACK) & 1) == 0)
- DELAY(10000);
+ DELAY(10);
}
void
@@ -503,14 +503,14 @@ __gen6_gt_force_wake_mt_get(struct drm_i915_private *dev_priv)
count = 0;
while (count++ < 50 && (I915_READ_NOTRACE(FORCEWAKE_MT_ACK) & 1))
- DELAY(10000);
+ DELAY(10);
I915_WRITE_NOTRACE(FORCEWAKE_MT, (1<<16) | 1);
POSTING_READ(FORCEWAKE_MT);
count = 0;
while (count++ < 50 && (I915_READ_NOTRACE(FORCEWAKE_MT_ACK) & 1) == 0)
- DELAY(10000);
+ DELAY(10);
}
void
@@ -572,7 +572,7 @@ __gen6_gt_wait_for_fifo(struct drm_i915_private *dev_priv)
int loop = 500;
u32 fifo = I915_READ_NOTRACE(GT_FIFO_FREE_ENTRIES);
while (fifo <= GT_FIFO_NUM_RESERVED_ENTRIES && loop--) {
- DELAY(10000);
+ DELAY(10);
fifo = I915_READ_NOTRACE(GT_FIFO_FREE_ENTRIES);
}
if (loop < 0 && fifo <= GT_FIFO_NUM_RESERVED_ENTRIES) {
OpenPOWER on IntegriCloud