All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915: don't enable autosuspend on platforms without RPM support
@ 2015-12-17 17:04 Imre Deak
  2015-12-17 17:19 ` Chris Wilson
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Imre Deak @ 2015-12-17 17:04 UTC (permalink / raw)
  To: intel-gfx

Since

commit 357597e51dd1aa3cf764d322abf89217e3dcd7bb
Author: Imre Deak <imre.deak@intel.com>
Date:   Tue Nov 10 06:12:22 2015 +0200

    drm/i915: remove HAS_RUNTIME_PM check from RPM get/put/assert helpers

this file is writeable also on platforms without RPM support, but
userspace (at least IGT) depends on this file being unchangable to
determine whether the device supports autosuspend. So restore the old
behavior.

This gets rid of igt/pm_rpm failures on old platforms without RPM
support, where the test should be skipped.

Testcase: igt/pm_rpm/basic-rte
Signed-off-by: Imre Deak <imre.deak@intel.com>
---
 drivers/gpu/drm/i915/intel_runtime_pm.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c b/drivers/gpu/drm/i915/intel_runtime_pm.c
index a0b9eaf..ddbdbff 100644
--- a/drivers/gpu/drm/i915/intel_runtime_pm.c
+++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
@@ -2309,18 +2309,21 @@ void intel_runtime_pm_enable(struct drm_i915_private *dev_priv)
 	struct drm_device *dev = dev_priv->dev;
 	struct device *device = &dev->pdev->dev;
 
+	pm_runtime_set_autosuspend_delay(device, 10000); /* 10s */
+	pm_runtime_mark_last_busy(device);
+
 	/*
 	 * Take a permanent reference to disable the RPM functionality and drop
 	 * it only when unloading the driver. Use the low level get/put helpers,
 	 * so the driver's own RPM reference tracking asserts also work on
 	 * platforms without RPM support.
 	 */
-	if (!HAS_RUNTIME_PM(dev))
+	if (!HAS_RUNTIME_PM(dev)) {
+		pm_runtime_dont_use_autosuspend(device);
 		pm_runtime_get_sync(device);
-
-	pm_runtime_set_autosuspend_delay(device, 10000); /* 10s */
-	pm_runtime_mark_last_busy(device);
-	pm_runtime_use_autosuspend(device);
+	} else {
+		pm_runtime_use_autosuspend(device);
+	}
 
 	/*
 	 * The core calls the driver load handler with an RPM reference held.
-- 
2.5.0

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

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

* Re: [PATCH] drm/i915: don't enable autosuspend on platforms without RPM support
  2015-12-17 17:04 [PATCH] drm/i915: don't enable autosuspend on platforms without RPM support Imre Deak
@ 2015-12-17 17:19 ` Chris Wilson
  2015-12-17 17:24   ` Imre Deak
  2015-12-17 17:49 ` ✗ warning: Fi.CI.BAT Patchwork
  2015-12-18 10:32 ` [PATCH] drm/i915: don't enable autosuspend on platforms without RPM support David Weinehall
  2 siblings, 1 reply; 6+ messages in thread
From: Chris Wilson @ 2015-12-17 17:19 UTC (permalink / raw)
  To: Imre Deak; +Cc: intel-gfx

On Thu, Dec 17, 2015 at 07:04:33PM +0200, Imre Deak wrote:
> Since
> 
> commit 357597e51dd1aa3cf764d322abf89217e3dcd7bb
> Author: Imre Deak <imre.deak@intel.com>
> Date:   Tue Nov 10 06:12:22 2015 +0200
> 
>     drm/i915: remove HAS_RUNTIME_PM check from RPM get/put/assert helpers
> 
> this file is writeable also on platforms without RPM support, but

Which file?

> userspace (at least IGT) depends on this file being unchangable to
> determine whether the device supports autosuspend. So restore the old
> behavior.
> 
> This gets rid of igt/pm_rpm failures on old platforms without RPM
> support, where the test should be skipped.
> 
> Testcase: igt/pm_rpm/basic-rte
> Signed-off-by: Imre Deak <imre.deak@intel.com>
> ---
>  drivers/gpu/drm/i915/intel_runtime_pm.c | 13 ++++++++-----
>  1 file changed, 8 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c b/drivers/gpu/drm/i915/intel_runtime_pm.c
> index a0b9eaf..ddbdbff 100644
> --- a/drivers/gpu/drm/i915/intel_runtime_pm.c
> +++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
> @@ -2309,18 +2309,21 @@ void intel_runtime_pm_enable(struct drm_i915_private *dev_priv)
>  	struct drm_device *dev = dev_priv->dev;
>  	struct device *device = &dev->pdev->dev;
>  
> +	pm_runtime_set_autosuspend_delay(device, 10000); /* 10s */
> +	pm_runtime_mark_last_busy(device);
> +
>  	/*
>  	 * Take a permanent reference to disable the RPM functionality and drop
>  	 * it only when unloading the driver. Use the low level get/put helpers,
>  	 * so the driver's own RPM reference tracking asserts also work on
>  	 * platforms without RPM support.
>  	 */
> -	if (!HAS_RUNTIME_PM(dev))
> +	if (!HAS_RUNTIME_PM(dev)) {
> +		pm_runtime_dont_use_autosuspend(device);
>  		pm_runtime_get_sync(device);
> -
> -	pm_runtime_set_autosuspend_delay(device, 10000); /* 10s */
> -	pm_runtime_mark_last_busy(device);
> -	pm_runtime_use_autosuspend(device);
> +	} else {
> +		pm_runtime_use_autosuspend(device);
> +	}

This seems to make sense to me.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH] drm/i915: don't enable autosuspend on platforms without RPM support
  2015-12-17 17:19 ` Chris Wilson
@ 2015-12-17 17:24   ` Imre Deak
  0 siblings, 0 replies; 6+ messages in thread
From: Imre Deak @ 2015-12-17 17:24 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

On to, 2015-12-17 at 17:19 +0000, Chris Wilson wrote:
> On Thu, Dec 17, 2015 at 07:04:33PM +0200, Imre Deak wrote:
> > Since
> > 
> > commit 357597e51dd1aa3cf764d322abf89217e3dcd7bb
> > Author: Imre Deak <imre.deak@intel.com>
> > Date:   Tue Nov 10 06:12:22 2015 +0200
> > 
> >     drm/i915: remove HAS_RUNTIME_PM check from RPM get/put/assert
> > helpers
> > 
> > this file is writeable also on platforms without RPM support, but
> 
> Which file?

sysfs power/autosuspend_delay_ms is only writeable by userspace if we
call pm_runtime_use_autosuspend().

> 
> > userspace (at least IGT) depends on this file being unchangable to
> > determine whether the device supports autosuspend. So restore the
> > old
> > behavior.
> > 
> > This gets rid of igt/pm_rpm failures on old platforms without RPM
> > support, where the test should be skipped.
> > 
> > Testcase: igt/pm_rpm/basic-rte
> > Signed-off-by: Imre Deak <imre.deak@intel.com>
> > ---
> >  drivers/gpu/drm/i915/intel_runtime_pm.c | 13 ++++++++-----
> >  1 file changed, 8 insertions(+), 5 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c
> > b/drivers/gpu/drm/i915/intel_runtime_pm.c
> > index a0b9eaf..ddbdbff 100644
> > --- a/drivers/gpu/drm/i915/intel_runtime_pm.c
> > +++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
> > @@ -2309,18 +2309,21 @@ void intel_runtime_pm_enable(struct
> > drm_i915_private *dev_priv)
> >  	struct drm_device *dev = dev_priv->dev;
> >  	struct device *device = &dev->pdev->dev;
> >  
> > +	pm_runtime_set_autosuspend_delay(device, 10000); /* 10s */
> > +	pm_runtime_mark_last_busy(device);
> > +
> >  	/*
> >  	 * Take a permanent reference to disable the RPM
> > functionality and drop
> >  	 * it only when unloading the driver. Use the low level
> > get/put helpers,
> >  	 * so the driver's own RPM reference tracking asserts also
> > work on
> >  	 * platforms without RPM support.
> >  	 */
> > -	if (!HAS_RUNTIME_PM(dev))
> > +	if (!HAS_RUNTIME_PM(dev)) {
> > +		pm_runtime_dont_use_autosuspend(device);
> >  		pm_runtime_get_sync(device);
> > -
> > -	pm_runtime_set_autosuspend_delay(device, 10000); /* 10s */
> > -	pm_runtime_mark_last_busy(device);
> > -	pm_runtime_use_autosuspend(device);
> > +	} else {
> > +		pm_runtime_use_autosuspend(device);
> > +	}
> 
> This seems to make sense to me.
> -Chris
> 
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* ✗ warning: Fi.CI.BAT
  2015-12-17 17:04 [PATCH] drm/i915: don't enable autosuspend on platforms without RPM support Imre Deak
  2015-12-17 17:19 ` Chris Wilson
@ 2015-12-17 17:49 ` Patchwork
  2015-12-18 10:32 ` [PATCH] drm/i915: don't enable autosuspend on platforms without RPM support David Weinehall
  2 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2015-12-17 17:49 UTC (permalink / raw)
  To: Imre Deak; +Cc: intel-gfx

== Summary ==

Built on ac2305b6c91b9a84cc12566016ece257c3ebcba3 drm-intel-nightly: 2015y-12m-17d-16h-19m-23s UTC integration manifest

Test igt@kms_flip@basic-flip-vs-wf_vblank on bsw-nuc-2 pass -> dmesg-warn
Test igt@kms_flip@basic-flip-vs-wf_vblank on skl-i7k-2 dmesg-fail -> dmesg-warn
Test igt@kms_pipe_crc_basic@read-crc-pipe-c-frame-sequence on bsw-nuc-2 dmesg-warn -> pass
Test igt@kms_flip@basic-flip-vs-dpms on ilk-hp8440p pass -> dmesg-warn
Test igt@pm_rpm@basic-rte on ilk-hp8440p fail -> skip
Test igt@pm_rpm@basic-rte on ivb-t430s dmesg-fail -> skip
Test igt@pm_rpm@basic-pci-d3-state on ilk-hp8440p fail -> skip
Test igt@pm_rpm@basic-pci-d3-state on ivb-t430s fail -> skip
Test igt@kms_flip@basic-plain-flip on ivb-t430s pass -> dmesg-warn
Test igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b on snb-x220t dmesg-warn -> pass
Test igt@kms_pipe_crc_basic@read-crc-pipe-a on snb-x220t pass -> dmesg-warn
Test igt@kms_pipe_crc_basic@read-crc-pipe-c on skl-i7k-2 dmesg-warn -> pass
Test igt@kms_flip@basic-flip-vs-modeset on bsw-nuc-2 dmesg-warn -> pass

bsw-nuc-2        total:135  pass:114  dwarn:1   dfail:0   fail:0   skip:20 
hsw-brixbox      total:135  pass:127  dwarn:1   dfail:0   fail:0   skip:7  
hsw-gt2          total:135  pass:130  dwarn:1   dfail:0   fail:0   skip:4  
ilk-hp8440p      total:135  pass:99   dwarn:1   dfail:0   fail:0   skip:35 
ivb-t430s        total:135  pass:127  dwarn:2   dfail:0   fail:0   skip:6  
skl-i5k-2        total:135  pass:122  dwarn:5   dfail:0   fail:0   skip:8  
skl-i7k-2        total:135  pass:123  dwarn:4   dfail:0   fail:0   skip:8  
snb-dellxps      total:135  pass:121  dwarn:2   dfail:0   fail:0   skip:12 
snb-x220t        total:135  pass:121  dwarn:2   dfail:0   fail:1   skip:11 

Results at /archive/results/CI_IGT_test/Patchwork_705/

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

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

* Re: [PATCH] drm/i915: don't enable autosuspend on platforms without RPM support
  2015-12-17 17:04 [PATCH] drm/i915: don't enable autosuspend on platforms without RPM support Imre Deak
  2015-12-17 17:19 ` Chris Wilson
  2015-12-17 17:49 ` ✗ warning: Fi.CI.BAT Patchwork
@ 2015-12-18 10:32 ` David Weinehall
  2015-12-18 13:58   ` Imre Deak
  2 siblings, 1 reply; 6+ messages in thread
From: David Weinehall @ 2015-12-18 10:32 UTC (permalink / raw)
  To: intel-gfx

On Thu, Dec 17, 2015 at 07:04:33PM +0200, Imre Deak wrote:
> Since
> 
> commit 357597e51dd1aa3cf764d322abf89217e3dcd7bb
> Author: Imre Deak <imre.deak@intel.com>
> Date:   Tue Nov 10 06:12:22 2015 +0200
> 
>     drm/i915: remove HAS_RUNTIME_PM check from RPM get/put/assert helpers
> 
> this file is writeable also on platforms without RPM support, but
> userspace (at least IGT) depends on this file being unchangable to
> determine whether the device supports autosuspend. So restore the old
> behavior.
> 
> This gets rid of igt/pm_rpm failures on old platforms without RPM
> support, where the test should be skipped.
> 
> Testcase: igt/pm_rpm/basic-rte
> Signed-off-by: Imre Deak <imre.deak@intel.com>
> ---
>  drivers/gpu/drm/i915/intel_runtime_pm.c | 13 ++++++++-----
>  1 file changed, 8 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c b/drivers/gpu/drm/i915/intel_runtime_pm.c
> index a0b9eaf..ddbdbff 100644
> --- a/drivers/gpu/drm/i915/intel_runtime_pm.c
> +++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
> @@ -2309,18 +2309,21 @@ void intel_runtime_pm_enable(struct drm_i915_private *dev_priv)
>  	struct drm_device *dev = dev_priv->dev;
>  	struct device *device = &dev->pdev->dev;
>  
> +	pm_runtime_set_autosuspend_delay(device, 10000); /* 10s */
> +	pm_runtime_mark_last_busy(device);
> +
>  	/*
>  	 * Take a permanent reference to disable the RPM functionality and drop
>  	 * it only when unloading the driver. Use the low level get/put helpers,
>  	 * so the driver's own RPM reference tracking asserts also work on
>  	 * platforms without RPM support.
>  	 */
> -	if (!HAS_RUNTIME_PM(dev))
> +	if (!HAS_RUNTIME_PM(dev)) {
> +		pm_runtime_dont_use_autosuspend(device);
>  		pm_runtime_get_sync(device);
> -
> -	pm_runtime_set_autosuspend_delay(device, 10000); /* 10s */
> -	pm_runtime_mark_last_busy(device);
> -	pm_runtime_use_autosuspend(device);
> +	} else {
> +		pm_runtime_use_autosuspend(device);
> +	}
>  
>  	/*
>  	 * The core calls the driver load handler with an RPM reference held.

Reviewed-by: David Weinehall <david.weinehall@intel.com>


Kind regards, David Weinehall
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH] drm/i915: don't enable autosuspend on platforms without RPM support
  2015-12-18 10:32 ` [PATCH] drm/i915: don't enable autosuspend on platforms without RPM support David Weinehall
@ 2015-12-18 13:58   ` Imre Deak
  0 siblings, 0 replies; 6+ messages in thread
From: Imre Deak @ 2015-12-18 13:58 UTC (permalink / raw)
  To: David Weinehall, intel-gfx

On pe, 2015-12-18 at 12:32 +0200, David Weinehall wrote:
> On Thu, Dec 17, 2015 at 07:04:33PM +0200, Imre Deak wrote:
> > Since
> > 
> > commit 357597e51dd1aa3cf764d322abf89217e3dcd7bb
> > Author: Imre Deak <imre.deak@intel.com>
> > Date:   Tue Nov 10 06:12:22 2015 +0200
> > 
> >     drm/i915: remove HAS_RUNTIME_PM check from RPM get/put/assert
> > helpers
> > 
> > this file is writeable also on platforms without RPM support, but
> > userspace (at least IGT) depends on this file being unchangable to
> > determine whether the device supports autosuspend. So restore the
> > old
> > behavior.
> > 
> > This gets rid of igt/pm_rpm failures on old platforms without RPM
> > support, where the test should be skipped.
> > 
> > Testcase: igt/pm_rpm/basic-rte
> > Signed-off-by: Imre Deak <imre.deak@intel.com>
> > ---
> >  drivers/gpu/drm/i915/intel_runtime_pm.c | 13 ++++++++-----
> >  1 file changed, 8 insertions(+), 5 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c
> > b/drivers/gpu/drm/i915/intel_runtime_pm.c
> > index a0b9eaf..ddbdbff 100644
> > --- a/drivers/gpu/drm/i915/intel_runtime_pm.c
> > +++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
> > @@ -2309,18 +2309,21 @@ void intel_runtime_pm_enable(struct
> > drm_i915_private *dev_priv)
> >  	struct drm_device *dev = dev_priv->dev;
> >  	struct device *device = &dev->pdev->dev;
> >  
> > +	pm_runtime_set_autosuspend_delay(device, 10000); /* 10s */
> > +	pm_runtime_mark_last_busy(device);
> > +
> >  	/*
> >  	 * Take a permanent reference to disable the RPM
> > functionality and drop
> >  	 * it only when unloading the driver. Use the low level
> > get/put helpers,
> >  	 * so the driver's own RPM reference tracking asserts also
> > work on
> >  	 * platforms without RPM support.
> >  	 */
> > -	if (!HAS_RUNTIME_PM(dev))
> > +	if (!HAS_RUNTIME_PM(dev)) {
> > +		pm_runtime_dont_use_autosuspend(device);
> >  		pm_runtime_get_sync(device);
> > -
> > -	pm_runtime_set_autosuspend_delay(device, 10000); /* 10s */
> > -	pm_runtime_mark_last_busy(device);
> > -	pm_runtime_use_autosuspend(device);
> > +	} else {
> > +		pm_runtime_use_autosuspend(device);
> > +	}
> >  
> >  	/*
> >  	 * The core calls the driver load handler with an RPM
> > reference held.
> 
> Reviewed-by: David Weinehall <david.weinehall@intel.com>

Thanks for the review, I pushed the patch to dinq.
While applying I clarified the commit message about which sysfs file
this change is about and fixed the reference to the regressing commit,
it was one before the commit I mentioned.

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

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

end of thread, other threads:[~2015-12-18 13:58 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-12-17 17:04 [PATCH] drm/i915: don't enable autosuspend on platforms without RPM support Imre Deak
2015-12-17 17:19 ` Chris Wilson
2015-12-17 17:24   ` Imre Deak
2015-12-17 17:49 ` ✗ warning: Fi.CI.BAT Patchwork
2015-12-18 10:32 ` [PATCH] drm/i915: don't enable autosuspend on platforms without RPM support David Weinehall
2015-12-18 13:58   ` Imre Deak

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.