[igt-dev] [PATCH i-g-t] lib/pm: Fail gracefully if CONFIG_PM is not built into the kernel

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Wed Sep 5 15:01:04 UTC 2018


On 05/09/2018 10:07, Chris Wilson wrote:
> We report the failure from igt_setup_runtime_pm() so that the caller can
> decide how they may proceed, so replace the hard assert with the error
> propagation.
> 
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> Cc: Imre Deak <imre.deak at intel.com>
> ---
>   lib/igt_pm.c | 15 ++++++++++-----
>   1 file changed, 10 insertions(+), 5 deletions(-)
> 
> diff --git a/lib/igt_pm.c b/lib/igt_pm.c
> index 615463a08..49027238b 100644
> --- a/lib/igt_pm.c
> +++ b/lib/igt_pm.c
> @@ -511,12 +511,16 @@ bool igt_setup_runtime_pm(void)
>   
>   	igt_pm_enable_audio_runtime_pm();
>   
> -	/* Our implementation uses autosuspend. Try to set it to 0ms so the test
> -	 * suite goes faster and we have a higher probability of triggering race
> -	 * conditions. */
> +	/*
> +	 * Our implementation uses autosuspend. Try to set it to 0ms so the
> +	 * test suite goes faster and we have a higher probability of
> +	 * triggering race conditions.
> +	 */
>   	fd = open(POWER_DIR "/autosuspend_delay_ms", O_RDWR);
> -	igt_assert_f(fd >= 0,
> -		     "Can't open " POWER_DIR "/autosuspend_delay_ms\n");
> +	if (fd < 0) {
> +		igt_pm_audio_restore_runtime_pm();
> +		return false;

Worth robustifying with an igt_assert_eq(errno, ENOENT) ?

Anyway a stretched concern:

Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>

Regards,

Tvrtko

> +	}
>   
>   	/*
>   	 * Save previous values to be able to  install exit handler to restore
> @@ -531,6 +535,7 @@ bool igt_setup_runtime_pm(void)
>   	 */
>   	if (size <= 0) {
>   		close(fd);
> +		igt_pm_audio_restore_runtime_pm();
>   		return false;
>   	}
>   
> 


More information about the igt-dev mailing list