[PATCH i-g-t, v4] tests/intel/xe_pm: Add tests for suspend without display

Kamil Konieczny kamil.konieczny at linux.intel.com
Thu Aug 22 16:52:43 UTC 2024


Hi Sujaritha,
On 2024-08-22 at 14:50:58 +0530, Sujaritha Sundaresan wrote:
> Add tests to validate basic execution suspend/resume cycle
> without display module to rule out display related issues
> from the suspend/resume stack.
> 
> v2: Add normal reload cycle after running test (Anshuman)
> 
> v3: Rebase
> 
> v4: Change commit name/header (Kamil)
> 
> Signed-off-by: Sujaritha Sundaresan <sujaritha.sundaresan at intel.com>
> Acked-by: Katarzyna Piecielska Katarzyna.piecielska at intel.com<Katarzyna.piecielska at intel.com>
> Reviewed-by: Anshuman Gupta <anshuman.gupta at intel.com>
> ---
>  tests/intel/xe_pm.c | 34 ++++++++++++++++++++++++++++++++++
>  1 file changed, 34 insertions(+)
> 
> diff --git a/tests/intel/xe_pm.c b/tests/intel/xe_pm.c
> index eee89428c..1623a56c7 100644
> --- a/tests/intel/xe_pm.c
> +++ b/tests/intel/xe_pm.c
> @@ -17,6 +17,7 @@
>  
>  #include "igt.h"
>  #include "lib/igt_device.h"
> +#include "lib/igt_kmod.h"
>  #include "lib/igt_pm.h"
>  #include "lib/igt_sysfs.h"
>  #include "lib/igt_syncobj.h"
> @@ -229,6 +230,10 @@ static void close_fw_handle(int sig)
>   * Description: suspend/autoresume on %arg[1] state and exec after RPM
>   * Functionality: pm - %arg[1]
>   *
> + * SUBTEST: %s-without-display
> + * Description: suspend/autoresume on %arg[1] state without display
> + * Functionality: pm - %arg[1]
> + *
>   * arg[1]:
>   *
>   * @s2idle:	s2idle
> @@ -681,6 +686,7 @@ igt_main
>  	struct drm_xe_engine_class_instance *hwe;
>  	device_t device;
>  	uint32_t d3cold_allowed;
> +	const char *opts;
>  	int sysfs_fd;
>  
>  	const struct s_state {
> @@ -757,6 +763,34 @@ igt_main
>  					  NO_RPM, 0);
>  		}
>  
> +		igt_subtest_f("%s-without-display", s->name) {
> +
> +			if (!drmModeGetResources(device.fd_xe))
> +				return;

This should be skip or save it (as global?) and run test on headless.

> +
> +			xe_for_each_engine(device.fd_xe, hwe) {
> +
> +				igt_debug("Reload w/o display\n");
> +
> +				igt_kmsg(KMSG_INFO "Unloading Xe\n");
> +				igt_assert_eq(igt_xe_driver_unload(), 0);
> +
> +				igt_kmsg(KMSG_INFO "Re-loading Xe without display\n");
> +				igt_assert_eq(igt_xe_driver_load("enable_display=0"), 0);

This param was renamed to probe_display, see
https://patchwork.freedesktop.org/series/137096/
tests/intel/xe_module_load: Rename enable_display module param
Submitted by Lucas De Marchi on Aug. 9, 2024, 5:30 p.m.

+Cc Lucas

Regards,
Kamil

> +
> +				test_exec(device, hwe, 1, 2, s->state,
> +					  NO_RPM, 0);
> +
> +				igt_debug("Reload as normal\n");
> +
> +				igt_kmsg(KMSG_INFO "Unloading Xe\n");
> +				igt_assert_eq(igt_xe_driver_unload(), 0);
> +
> +				igt_kmsg(KMSG_INFO "Re-loading Xe\n");
> +				igt_assert_eq(igt_xe_driver_load(opts), 0);
> +			}
> +		}
> +
>  		for (const struct vm_op *op = vm_op; op->name; op++) {
>  			igt_subtest_f("%s-vm-bind-%s", s->name, op->name) {
>  				xe_for_each_engine(device.fd_xe, hwe)
> -- 
> 2.34.1
> 


More information about the igt-dev mailing list