[igt-dev] [PATCH i-g-t v2 2/3] test/device_reset: Refactor initiate_device_reset

Rodrigo Vivi rodrigo.vivi at intel.com
Wed Nov 16 19:58:05 UTC 2022


On Wed, Nov 16, 2022 at 01:53:34PM +0530, Anshuman Gupta wrote:
> Added a reset type enum to support multiple types
> of reset like WARM, COLD and FLR reset.
> 
> No functional change.
> 
> v2:
> - Removed WARM_RESET enum as not used yet. [Badal]
> 
> Signed-off-by: Anshuman Gupta <anshuman.gupta at intel.com>

Reviewed-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
> ---
>  tests/device_reset.c | 20 ++++++++++++++------
>  1 file changed, 14 insertions(+), 6 deletions(-)
> 
> diff --git a/tests/device_reset.c b/tests/device_reset.c
> index e60d4c7fde..0c477a02c0 100644
> --- a/tests/device_reset.c
> +++ b/tests/device_reset.c
> @@ -19,6 +19,11 @@ IGT_TEST_DESCRIPTION("Examine behavior of a driver on device sysfs reset");
>  #define DEV_PATH_LEN 80
>  #define DEV_BUS_ADDR_LEN 13 /* addr has form 0000:00:00.0 */
>  
> +enum reset {
> +	COLD_RESET,
> +	FLR_RESET
> +};
> +
>  /**
>   * Helper structure containing file descriptors
>   * and bus address related to tested device
> @@ -222,10 +227,13 @@ static void driver_bind(struct device_fds *dev)
>  }
>  
>  /* Initiate device reset */
> -static void initiate_device_reset(struct device_fds *dev)
> +static void initiate_device_reset(struct device_fds *dev, enum reset type)
>  {
>  	igt_debug("reset device\n");
> -	igt_assert(igt_sysfs_set(dev->fds.dev_dir, "reset", "1"));
> +
> +	if (type == FLR_RESET)
> +		igt_assert(igt_sysfs_set(dev->fds.dev_dir, "reset", "1"));
> +
>  }
>  
>  static bool is_i915_wedged(int i915)
> @@ -274,14 +282,14 @@ static void set_device_filter(const char* dev_path)
>  	igt_assert_eq(igt_device_filter_add(filter), 1);
>  }
>  
> -static void unbind_reset_rebind(struct device_fds *dev)
> +static void unbind_reset_rebind(struct device_fds *dev, enum reset type)
>  {
>  	igt_debug("close the device\n");
>  	close_if_opened(&dev->fds.dev);
>  
>  	driver_unbind(dev);
>  
> -	initiate_device_reset(dev);
> +	initiate_device_reset(dev, type);
>  
>  	driver_bind(dev);
>  }
> @@ -306,13 +314,13 @@ igt_main
>  	igt_describe("Unbinds driver from device, initiates reset"
>  		     " then rebinds driver to device");
>  	igt_subtest("unbind-reset-rebind") {
> -		unbind_reset_rebind(&dev);
> +		unbind_reset_rebind(&dev, FLR_RESET);
>  		healthcheck(&dev);
>  	}
>  
>  	igt_describe("Resets device with bound driver");
>  	igt_subtest("reset-bound") {
> -		initiate_device_reset(&dev);
> +		initiate_device_reset(&dev, FLR_RESET);
>  		healthcheck(&dev);
>  	}
>  
> -- 
> 2.25.1
> 


More information about the igt-dev mailing list