Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 25 Sep 2012 10:52:49 +0000 (UTC)
From:      Alexander Motin <mav@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r240917 - head/sys/dev/drm2/i915
Message-ID:  <201209251052.q8PAqnZP017000@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mav
Date: Tue Sep 25 10:52:49 2012
New Revision: 240917
URL: http://svn.freebsd.org/changeset/base/240917

Log:
  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@

Modified:
  head/sys/dev/drm2/i915/i915_drv.c

Modified: head/sys/dev/drm2/i915/i915_drv.c
==============================================================================
--- head/sys/dev/drm2/i915/i915_drv.c	Tue Sep 25 10:42:13 2012	(r240916)
+++ head/sys/dev/drm2/i915/i915_drv.c	Tue Sep 25 10:52:49 2012	(r240917)
@@ -486,14 +486,14 @@ __gen6_gt_force_wake_get(struct drm_i915
 
 	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_i
 
 	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_
 		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) {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201209251052.q8PAqnZP017000>