diff mbox series

drm/i915/bdw: Increase IPS disable timeout to 100ms

Message ID 20180905100005.7663-1-imre.deak@intel.com (mailing list archive)
State New, archived
Headers show
Series drm/i915/bdw: Increase IPS disable timeout to 100ms | expand

Commit Message

Imre Deak Sept. 5, 2018, 10 a.m. UTC
During IPS disabling the current 42ms timeout value leads to occasional
timeouts, increase it to 100ms which seems to get rid of the problem.

References: https://bugs.freedesktop.org/show_bug.cgi?id=107494
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107562
Reported-by: Diego Viola <diego.viola@gmail.com>
Tested-by: Diego Viola <diego.viola@gmail.com>
Cc: Diego Viola <diego.viola@gmail.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Imre Deak <imre.deak@intel.com>
---
 drivers/gpu/drm/i915/intel_display.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

Comments

Ville Syrjälä Sept. 5, 2018, 10:26 a.m. UTC | #1
On Wed, Sep 05, 2018 at 01:00:05PM +0300, Imre Deak wrote:
> During IPS disabling the current 42ms timeout value leads to occasional
> timeouts, increase it to 100ms which seems to get rid of the problem.
> 
> References: https://bugs.freedesktop.org/show_bug.cgi?id=107494
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107562
> Reported-by: Diego Viola <diego.viola@gmail.com>
> Tested-by: Diego Viola <diego.viola@gmail.com>
> Cc: Diego Viola <diego.viola@gmail.com>
> Cc: <stable@vger.kernel.org>
> Signed-off-by: Imre Deak <imre.deak@intel.com>

Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

> ---
>  drivers/gpu/drm/i915/intel_display.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index a85a83f31979..1bd14c61dab5 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -5082,10 +5082,14 @@ void hsw_disable_ips(const struct intel_crtc_state *crtc_state)
>  		mutex_lock(&dev_priv->pcu_lock);
>  		WARN_ON(sandybridge_pcode_write(dev_priv, DISPLAY_IPS_CONTROL, 0));
>  		mutex_unlock(&dev_priv->pcu_lock);
> -		/* wait for pcode to finish disabling IPS, which may take up to 42ms */
> +		/*
> +		 * Wait for PCODE to finish disabling IPS. The BSpec specified
> +		 * 42ms timeout value leads to occasional timeouts so use 100ms
> +		 * instead.
> +		 */
>  		if (intel_wait_for_register(dev_priv,
>  					    IPS_CTL, IPS_ENABLE, 0,
> -					    42))
> +					    100))
>  			DRM_ERROR("Timed out waiting for IPS disable\n");
>  	} else {
>  		I915_WRITE(IPS_CTL, 0);
> -- 
> 2.13.2
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Imre Deak Sept. 5, 2018, 5:27 p.m. UTC | #2
On Wed, Sep 05, 2018 at 12:44:37PM +0000, Patchwork wrote:
> == Series Details ==
> 
> Series: drm/i915/bdw: Increase IPS disable timeout to 100ms
> URL   : https://patchwork.freedesktop.org/series/49175/
> State : success

Pushed, thanks for the review.

> 
> == Summary ==
> 
> = CI Bug Log - changes from CI_DRM_4770_full -> Patchwork_10091_full =
> 
> == Summary - SUCCESS ==
> 
>   No regressions found.
> 
>   
> 
> == Known issues ==
> 
>   Here are the changes found in Patchwork_10091_full that come from known issues:
> 
>   === IGT changes ===
> 
>     ==== Issues hit ====
> 
>     igt@gem_exec_big:
>       shard-hsw:          PASS -> INCOMPLETE (fdo#103540)
> 
>     igt@kms_cursor_legacy@cursor-vs-flip-toggle:
>       shard-hsw:          PASS -> FAIL (fdo#103355)
> 
>     igt@kms_flip@2x-flip-vs-expired-vblank:
>       shard-glk:          PASS -> FAIL (fdo#105363)
> 
>     igt@kms_frontbuffer_tracking@fbc-rgb565-draw-mmap-gtt:
>       shard-glk:          PASS -> FAIL (fdo#103167)
> 
>     igt@perf@blocking:
>       shard-hsw:          PASS -> FAIL (fdo#102252)
> 
>     
>     ==== Possible fixes ====
> 
>     igt@drv_suspend@shrink:
>       shard-snb:          FAIL (fdo#106886) -> PASS
> 
>     igt@kms_busy@extended-modeset-hang-newfb-render-b:
>       shard-glk:          INCOMPLETE (k.org#198133, fdo#103359) -> PASS
> 
>     igt@kms_flip@flip-vs-expired-vblank:
>       shard-glk:          FAIL (fdo#105363) -> PASS
> 
>     
>   fdo#102252 https://bugs.freedesktop.org/show_bug.cgi?id=102252
>   fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
>   fdo#103355 https://bugs.freedesktop.org/show_bug.cgi?id=103355
>   fdo#103359 https://bugs.freedesktop.org/show_bug.cgi?id=103359
>   fdo#103540 https://bugs.freedesktop.org/show_bug.cgi?id=103540
>   fdo#105363 https://bugs.freedesktop.org/show_bug.cgi?id=105363
>   fdo#106886 https://bugs.freedesktop.org/show_bug.cgi?id=106886
>   k.org#198133 https://bugzilla.kernel.org/show_bug.cgi?id=198133
> 
> 
> == Participating hosts (5 -> 5) ==
> 
>   No changes in participating hosts
> 
> 
> == Build changes ==
> 
>     * Linux: CI_DRM_4770 -> Patchwork_10091
> 
>   CI_DRM_4770: 0c3535cf60140d017a5df73d84d06e8b1a5b5d3b @ git://anongit.freedesktop.org/gfx-ci/linux
>   IGT_4627: e0c3033a57d85c0d2eb33af0451afa16edc79f10 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
>   Patchwork_10091: 6745896fef66c4282e347efd2270d6c0d5739ed3 @ git://anongit.freedesktop.org/gfx-ci/linux
>   piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit
> 
> == Logs ==
> 
> For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_10091/shards.html
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index a85a83f31979..1bd14c61dab5 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -5082,10 +5082,14 @@  void hsw_disable_ips(const struct intel_crtc_state *crtc_state)
 		mutex_lock(&dev_priv->pcu_lock);
 		WARN_ON(sandybridge_pcode_write(dev_priv, DISPLAY_IPS_CONTROL, 0));
 		mutex_unlock(&dev_priv->pcu_lock);
-		/* wait for pcode to finish disabling IPS, which may take up to 42ms */
+		/*
+		 * Wait for PCODE to finish disabling IPS. The BSpec specified
+		 * 42ms timeout value leads to occasional timeouts so use 100ms
+		 * instead.
+		 */
 		if (intel_wait_for_register(dev_priv,
 					    IPS_CTL, IPS_ENABLE, 0,
-					    42))
+					    100))
 			DRM_ERROR("Timed out waiting for IPS disable\n");
 	} else {
 		I915_WRITE(IPS_CTL, 0);