public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
* [PATCH 1/2] drm/i915/vlv: use a lower RC6 timeout on VLV
@ 2013-11-15 17:32 Jesse Barnes
  2013-11-15 17:32 ` [PATCH 2/2] drm/i915/vlv: use parallel context restore when coming out of RC6 Jesse Barnes
       [not found] ` <CAOh5HuXbrDaOwzeOvO0QD4x7xEJuyWRmVzhE51DcrXGrow2dUg@mail.gmail.com>
  0 siblings, 2 replies; 5+ messages in thread
From: Jesse Barnes @ 2013-11-15 17:32 UTC (permalink / raw)
  To: intel-gfx

We use timeout mode, and we need to lower the timeout to get good RC6
residency when loads are running.  This gets me from 0% residency during
glxgears to 77%, which is a pretty good improvement.  This value also
matches the current BWG recommentations.

Tested-by: "Meng, Mengmeng" <mengmeng.meng@intel.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
---
 drivers/gpu/drm/i915/intel_pm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index 172efa0..5d3912a 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -4102,7 +4102,7 @@ static void valleyview_enable_rps(struct drm_device *dev)
 	for_each_ring(ring, dev_priv, i)
 		I915_WRITE(RING_MAX_IDLE(ring->mmio_base), 10);
 
-	I915_WRITE(GEN6_RC6_THRESHOLD, 0xc350);
+	I915_WRITE(GEN6_RC6_THRESHOLD, 0x557);
 
 	/* allows RC6 residency counter to work */
 	I915_WRITE(VLV_COUNTER_CONTROL,
-- 
1.8.4.2

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/2] drm/i915/vlv: use parallel context restore when coming out of RC6
  2013-11-15 17:32 [PATCH 1/2] drm/i915/vlv: use a lower RC6 timeout on VLV Jesse Barnes
@ 2013-11-15 17:32 ` Jesse Barnes
       [not found]   ` <CAOh5HuUMHUm0rqA3VbN00sOaae5qGgLzdAwHbMtEP3gKsQfdXg@mail.gmail.com>
       [not found] ` <CAOh5HuXbrDaOwzeOvO0QD4x7xEJuyWRmVzhE51DcrXGrow2dUg@mail.gmail.com>
  1 sibling, 1 reply; 5+ messages in thread
From: Jesse Barnes @ 2013-11-15 17:32 UTC (permalink / raw)
  To: intel-gfx

Setting this bit restores all ring contexts in parallel rather than
serially.  Matches current BWG recommendations.

Tested-by: "Meng, Mengmeng" <mengmeng.meng@intel.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
---
 drivers/gpu/drm/i915/i915_reg.h | 1 +
 drivers/gpu/drm/i915/intel_pm.c | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 849e595..40b1136 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -4891,6 +4891,7 @@
 #define   GEN6_RC_CTL_RC6_ENABLE		(1<<18)
 #define   GEN6_RC_CTL_RC1e_ENABLE		(1<<20)
 #define   GEN6_RC_CTL_RC7_ENABLE		(1<<22)
+#define   VLV_RC_CTL_CTX_RST_PARALLEL		(1<<24)
 #define   GEN7_RC_CTL_TO_MODE			(1<<28)
 #define   GEN6_RC_CTL_EI_MODE(x)		((x)<<27)
 #define   GEN6_RC_CTL_HW_ENABLE			(1<<31)
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index 5d3912a..6a21d11 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -4110,7 +4110,7 @@ static void valleyview_enable_rps(struct drm_device *dev)
 				      VLV_MEDIA_RC6_COUNT_EN |
 				      VLV_RENDER_RC6_COUNT_EN));
 	if (intel_enable_rc6(dev) & INTEL_RC6_ENABLE)
-		rc6_mode = GEN7_RC_CTL_TO_MODE;
+		rc6_mode = GEN7_RC_CTL_TO_MODE | VLV_RC_CTL_CTX_RST_PARALLEL;
 
 	intel_print_rc6_info(dev, rc6_mode);
 
-- 
1.8.4.2

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 2/2] drm/i915/vlv: use parallel context restore when coming out of RC6
       [not found]   ` <CAOh5HuUMHUm0rqA3VbN00sOaae5qGgLzdAwHbMtEP3gKsQfdXg@mail.gmail.com>
@ 2013-11-28  8:17     ` S, Deepak
  2013-11-28 10:03       ` Daniel Vetter
  0 siblings, 1 reply; 5+ messages in thread
From: S, Deepak @ 2013-11-28  8:17 UTC (permalink / raw)
  To: Jesse Barnes; +Cc: intel-gfx@lists.freedesktop.org


[-- Attachment #1.1: Type: text/plain, Size: 2327 bytes --]

Patches looks fine.

Reviewed-by: Deepak S <deepak.s@inel.com<mailto:jbarnes@virtuousgeek.org>>


From: Jesse Barnes <jbarnes@virtuousgeek.org<mailto:jbarnes@virtuousgeek.org>>
Date: Fri, Nov 15, 2013 at 11:02 PM
Subject: [Intel-gfx] [PATCH 2/2] drm/i915/vlv: use parallel context restore when coming out of RC6
To: intel-gfx@lists.freedesktop.org<mailto:intel-gfx@lists.freedesktop.org>


Setting this bit restores all ring contexts in parallel rather than
serially.  Matches current BWG recommendations.

Tested-by: "Meng, Mengmeng" <mengmeng.meng@intel.com<mailto:mengmeng.meng@intel.com>>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org<mailto:jbarnes@virtuousgeek.org>>
---
 drivers/gpu/drm/i915/i915_reg.h | 1 +
 drivers/gpu/drm/i915/intel_pm.c | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 849e595..40b1136 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -4891,6 +4891,7 @@
 #define   GEN6_RC_CTL_RC6_ENABLE               (1<<18)
 #define   GEN6_RC_CTL_RC1e_ENABLE              (1<<20)
 #define   GEN6_RC_CTL_RC7_ENABLE               (1<<22)
+#define   VLV_RC_CTL_CTX_RST_PARALLEL          (1<<24)
 #define   GEN7_RC_CTL_TO_MODE                  (1<<28)
 #define   GEN6_RC_CTL_EI_MODE(x)               ((x)<<27)
 #define   GEN6_RC_CTL_HW_ENABLE                        (1<<31)
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index 5d3912a..6a21d11 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -4110,7 +4110,7 @@ static void valleyview_enable_rps(struct drm_device *dev)
                                      VLV_MEDIA_RC6_COUNT_EN |
                                      VLV_RENDER_RC6_COUNT_EN));
        if (intel_enable_rc6(dev) & INTEL_RC6_ENABLE)
-               rc6_mode = GEN7_RC_CTL_TO_MODE;
+               rc6_mode = GEN7_RC_CTL_TO_MODE | VLV_RC_CTL_CTX_RST_PARALLEL;

        intel_print_rc6_info(dev, rc6_mode);

--
1.8.4.2

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org<mailto:Intel-gfx@lists.freedesktop.org>
http://lists.freedesktop.org/mailman/listinfo/intel-gfx



--
Deepak S

[-- Attachment #1.2: Type: text/html, Size: 6290 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/2] drm/i915/vlv: use a lower RC6 timeout on VLV
       [not found] ` <CAOh5HuXbrDaOwzeOvO0QD4x7xEJuyWRmVzhE51DcrXGrow2dUg@mail.gmail.com>
@ 2013-11-28  8:17   ` S, Deepak
  0 siblings, 0 replies; 5+ messages in thread
From: S, Deepak @ 2013-11-28  8:17 UTC (permalink / raw)
  To: Jesse Barnes; +Cc: intel-gfx@lists.freedesktop.org


[-- Attachment #1.1: Type: text/plain, Size: 1723 bytes --]

Patches looks fine.

Reviewed-by: Deepak S <deepak.s@inel.com<mailto:jbarnes@virtuousgeek.org>>



From: Jesse Barnes <jbarnes@virtuousgeek.org<mailto:jbarnes@virtuousgeek.org>>
Date: Fri, Nov 15, 2013 at 11:02 PM
Subject: [Intel-gfx] [PATCH 1/2] drm/i915/vlv: use a lower RC6 timeout on VLV
To: intel-gfx@lists.freedesktop.org<mailto:intel-gfx@lists.freedesktop.org>


We use timeout mode, and we need to lower the timeout to get good RC6
residency when loads are running.  This gets me from 0% residency during
glxgears to 77%, which is a pretty good improvement.  This value also
matches the current BWG recommentations.

Tested-by: "Meng, Mengmeng" <mengmeng.meng@intel.com<mailto:mengmeng.meng@intel.com>>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org<mailto:jbarnes@virtuousgeek.org>>
---
 drivers/gpu/drm/i915/intel_pm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index 172efa0..5d3912a 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -4102,7 +4102,7 @@ static void valleyview_enable_rps(struct drm_device *dev)
        for_each_ring(ring, dev_priv, i)
                I915_WRITE(RING_MAX_IDLE(ring->mmio_base), 10);

-       I915_WRITE(GEN6_RC6_THRESHOLD, 0xc350);
+       I915_WRITE(GEN6_RC6_THRESHOLD, 0x557);

        /* allows RC6 residency counter to work */
        I915_WRITE(VLV_COUNTER_CONTROL,
--
1.8.4.2

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org<mailto:Intel-gfx@lists.freedesktop.org>
http://lists.freedesktop.org/mailman/listinfo/intel-gfx



--
Deepak S

[-- Attachment #1.2: Type: text/html, Size: 5256 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 2/2] drm/i915/vlv: use parallel context restore when coming out of RC6
  2013-11-28  8:17     ` S, Deepak
@ 2013-11-28 10:03       ` Daniel Vetter
  0 siblings, 0 replies; 5+ messages in thread
From: Daniel Vetter @ 2013-11-28 10:03 UTC (permalink / raw)
  To: S, Deepak; +Cc: intel-gfx@lists.freedesktop.org

On Thu, Nov 28, 2013 at 08:17:08AM +0000, S, Deepak wrote:
> Patches looks fine.
> 
> Reviewed-by: Deepak S <deepak.s@inel.com<mailto:jbarnes@virtuousgeek.org>>

Both merged, thanks for patches&review. Aside: Your mail is html
multipart formatted which creates some good fun with your r-b tag ;-)
Plain text preferrred.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2013-11-28 10:02 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-15 17:32 [PATCH 1/2] drm/i915/vlv: use a lower RC6 timeout on VLV Jesse Barnes
2013-11-15 17:32 ` [PATCH 2/2] drm/i915/vlv: use parallel context restore when coming out of RC6 Jesse Barnes
     [not found]   ` <CAOh5HuUMHUm0rqA3VbN00sOaae5qGgLzdAwHbMtEP3gKsQfdXg@mail.gmail.com>
2013-11-28  8:17     ` S, Deepak
2013-11-28 10:03       ` Daniel Vetter
     [not found] ` <CAOh5HuXbrDaOwzeOvO0QD4x7xEJuyWRmVzhE51DcrXGrow2dUg@mail.gmail.com>
2013-11-28  8:17   ` [PATCH 1/2] drm/i915/vlv: use a lower RC6 timeout on VLV S, Deepak

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox