Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Francois Dugast <francois.dugast@intel.com>
To: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: <igt-dev@lists.freedesktop.org>,
	Badal Nilawar <badal.nilawar@intel.com>,
	 Anshuman Gupta <anshuman.gupta@intel.com>
Subject: Re: [PATCH i-g-t 5/5] tests/intel/xe_pm: Convert mmap tests to use existing d3 helpers
Date: Thu, 16 May 2024 18:52:52 +0200	[thread overview]
Message-ID: <ZkY55C4hX-PI5aGN@fdugast-desk> (raw)
In-Reply-To: <20240513185518.772398-5-rodrigo.vivi@intel.com>

Hi Rodrigo,

I have not checked the patch in detail yet but it seems it needs to be
rebased. Also we should probably trigger CI?

Francois

On Mon, May 13, 2024 at 02:55:18PM -0400, Rodrigo Vivi wrote:
> Standardize d3 setup and ensure that it tests with D3cold and
> D3hot.
> 
> Cc: Badal Nilawar <badal.nilawar@intel.com>
> Cc: Anshuman Gupta <anshuman.gupta@intel.com>
> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> ---
>  tests/intel/xe_pm.c | 80 ++++++++++++++++++++++++---------------------
>  1 file changed, 42 insertions(+), 38 deletions(-)
> 
> diff --git a/tests/intel/xe_pm.c b/tests/intel/xe_pm.c
> index 81226a910..4aeddaea8 100644
> --- a/tests/intel/xe_pm.c
> +++ b/tests/intel/xe_pm.c
> @@ -519,19 +519,25 @@ static void test_vram_d3cold_threshold(device_t device, int sysfs_fd)
>  }
>  
>  /**
> - * SUBTEST: d3-mmap-%s
> + * SUBTEST: %s-mmap-%s
>   * Description:
>   *	Validate mmap memory mapping with d3 state, for %arg[1] region,
>   *	if supported by device.
> + *
>   * arg[1]:
>   *
> + * @d3hot:	d3hot
> + * @d3cold:	d3cold
> + *
> + * arg[2]:
> + *
>   * @vram:	vram region
>   * @system:	system region
>   *
>   * Functionality: pm-d3
>   */
>  static void test_mmap(device_t device, uint32_t placement, uint32_t flags,
> -		      enum mem_op first_op)
> +		      enum mem_op first_op, enum igt_acpi_d_state d_state)
>  {
>  	size_t bo_size = 8192;
>  	uint32_t *map = NULL;
> @@ -540,7 +546,7 @@ static void test_mmap(device_t device, uint32_t placement, uint32_t flags,
>  
>  	igt_require_f(placement, "Device doesn't support such memory region\n");
>  
> -	igt_assert(igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_SUSPENDED));
> +	igt_assert(in_d3(device, d_state));
>  	active_time = igt_pm_get_runtime_active_time(device.pci_xe);
>  
>  	bo_size = ALIGN(bo_size, xe_get_default_alignment(device.fd_xe));
> @@ -566,7 +572,7 @@ static void test_mmap(device_t device, uint32_t placement, uint32_t flags,
>  	close(fw_handle);
>  	sleep(1);
>  
> -	igt_assert(igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_SUSPENDED));
> +	igt_assert(in_d3(device, d_state));
>  	active_time = igt_pm_get_runtime_active_time(device.pci_xe);
>  
>  	for (i = 0; i < bo_size / sizeof(*map); i++) {
> @@ -581,7 +587,7 @@ static void test_mmap(device_t device, uint32_t placement, uint32_t flags,
>  		igt_assert(igt_pm_get_runtime_active_time(device.pci_xe) >
>  			   active_time);
>  
> -	igt_assert(igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_SUSPENDED));
> +	igt_assert(in_d3(device, d_state));
>  	active_time = igt_pm_get_runtime_active_time(device.pci_xe);
>  
>  	for (i = 0; i < bo_size / sizeof(*map); i++) {
> @@ -591,7 +597,7 @@ static void test_mmap(device_t device, uint32_t placement, uint32_t flags,
>  			igt_assert(map[i] == MAGIC_2);
>  	}
>  
> -	igt_assert(igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_SUSPENDED));
> +	igt_assert(in_d3(device, d_state));
>  
>  	/* Runtime resume and check the pattern */
>  	fw_handle = igt_debugfs_open(device.fd_xe, "forcewake_all", O_RDONLY);
> @@ -772,6 +778,36 @@ igt_main
>  					  NO_SUSPEND, d->state, 0);
>  			cleanup_d3(device);
>  		}
> +
> +		igt_describe_f("Validate mmap memory mappings with system region,"
> +			       "when device along with parent bridge in %s", d->name);
> +		igt_subtest_f("%s-mmap-system", d->name) {
> +			igt_assert(setup_d3(device, d->state));
> +			test_mmap(device, system_memory(device.fd_xe), 0,
> +				  READ, d->state);
> +			test_mmap(device, system_memory(device.fd_xe), 0,
> +				  WRITE, d->state);
> +			cleanup_d3(device);
> +		}
> +
> +		igt_describe_f("Validate mmap memory mappings with vram region,"
> +			     "when device along with parent bridge in %s", d->name);
> +		igt_subtest_f("%s-mmap-vram", d->name) {
> +			int delay_ms = igt_pm_get_autosuspend_delay(device.pci_xe);
> +
> +			/* Give some auto suspend delay to validate rpm active during page fault */
> +			igt_pm_set_autosuspend_delay(device.pci_xe, 1000);
> +			igt_assert(setup_d3(device, d->state));
> +			test_mmap(device, vram_memory(device.fd_xe, 0),
> +				  DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM,
> +				  READ, d->state);
> +			test_mmap(device, vram_memory(device.fd_xe, 0),
> +				  DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM,
> +				  WRITE, d->state);
> +			cleanup_d3(device);
> +
> +			igt_pm_set_autosuspend_delay(device.pci_xe, delay_ms);
> +		}
>  	}
>  
>  	igt_subtest_group {
> @@ -787,38 +823,6 @@ igt_main
>  			test_vram_d3cold_threshold(device, sysfs_fd);
>  		}
>  
> -		igt_describe("Validate mmap memory mappings with system region,"
> -			     "when device along with parent bridge in d3");
> -		igt_subtest("d3-mmap-system") {
> -			dpms_on_off(device, DRM_MODE_DPMS_OFF);
> -			test_mmap(device, system_memory(device.fd_xe), 0, READ);
> -			test_mmap(device, system_memory(device.fd_xe), 0, WRITE);
> -			dpms_on_off(device, DRM_MODE_DPMS_ON);
> -		}
> -
> -		igt_describe("Validate mmap memory mappings with vram region,"
> -			     "when device along with parent bridge in d3");
> -		igt_subtest("d3-mmap-vram") {
> -			int delay_ms;
> -
> -			if (device.pci_root != device.pci_xe) {
> -				igt_pm_enable_pci_card_runtime_pm(device.pci_root, NULL);
> -				igt_pm_set_d3cold_allowed(device.pci_slot_name, 1);
> -			}
> -
> -			delay_ms = igt_pm_get_autosuspend_delay(device.pci_xe);
> -
> -			/* Give some auto suspend delay to validate rpm active during page fault */
> -			igt_pm_set_autosuspend_delay(device.pci_xe, 1000);
> -			dpms_on_off(device, DRM_MODE_DPMS_OFF);
> -			test_mmap(device, vram_memory(device.fd_xe, 0),
> -				  DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM, READ);
> -			test_mmap(device, vram_memory(device.fd_xe, 0),
> -				  DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM, WRITE);
> -			dpms_on_off(device, DRM_MODE_DPMS_ON);
> -			igt_pm_set_autosuspend_delay(device.pci_xe, delay_ms);
> -		}
> -
>  		igt_subtest("mocs_suspend_resume")
>  			test_mocs_suspend_resume(device, 1, 0);
>  	}
> -- 
> 2.44.0
> 

  reply	other threads:[~2024-05-16 16:53 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-13 18:55 [PATCH i-g-t 1/5] tests/intel/xe_pm: Update runtime pm conditions Rodrigo Vivi
2024-05-13 18:55 ` [PATCH i-g-t 2/5] lib/igt_pm: Fix and standardize IGT PM library documentation Rodrigo Vivi
2024-05-14  6:49   ` Riana Tauro
2024-05-13 18:55 ` [PATCH i-g-t 3/5] tests/intel/xe_pm: Also disable display for mmap_system test Rodrigo Vivi
2024-05-14  6:12   ` Gupta, Anshuman
2024-05-14  6:46   ` Nilawar, Badal
2024-05-13 18:55 ` [PATCH i-g-t 4/5] tests/intel/xe_pm: Only check the rpm resume after the first mmap operation Rodrigo Vivi
2024-05-14 15:19   ` Nilawar, Badal
2024-05-14 16:39     ` Nilawar, Badal
2024-05-13 18:55 ` [PATCH i-g-t 5/5] tests/intel/xe_pm: Convert mmap tests to use existing d3 helpers Rodrigo Vivi
2024-05-16 16:52   ` Francois Dugast [this message]
2024-05-13 22:59 ` ✓ CI.xeBAT: success for series starting with [i-g-t,1/5] tests/intel/xe_pm: Update runtime pm conditions Patchwork
2024-05-13 23:00 ` ✗ Fi.CI.BAT: failure " Patchwork
2024-05-14  1:38 ` ✗ CI.xeFULL: " Patchwork
2024-05-16 16:49 ` [PATCH i-g-t 1/5] " Francois Dugast
  -- strict thread matches above, loose matches on Subject: below --
2024-05-15 17:13 Rodrigo Vivi
2024-05-15 17:13 ` [PATCH i-g-t 5/5] tests/intel/xe_pm: Convert mmap tests to use existing d3 helpers Rodrigo Vivi
2024-05-16 18:10 [PATCH i-g-t 1/5] tests/intel/xe_pm: Update runtime pm conditions Rodrigo Vivi
2024-05-16 18:10 ` [PATCH i-g-t 5/5] tests/intel/xe_pm: Convert mmap tests to use existing d3 helpers Rodrigo Vivi
2024-05-17 12:47   ` Francois Dugast
2024-05-20 18:35 [PATCH i-g-t 1/5] tests/intel/xe_pm: Update runtime pm conditions Rodrigo Vivi
2024-05-20 18:35 ` [PATCH i-g-t 5/5] tests/intel/xe_pm: Convert mmap tests to use existing d3 helpers Rodrigo Vivi
2024-05-22  7:58   ` Nilawar, Badal

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZkY55C4hX-PI5aGN@fdugast-desk \
    --to=francois.dugast@intel.com \
    --cc=anshuman.gupta@intel.com \
    --cc=badal.nilawar@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=rodrigo.vivi@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox