From: Rodrigo Vivi <rodrigo.vivi@intel.com>
To: <igt-dev@lists.freedesktop.org>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Subject: [PATCH i-g-t] tests/intel/xe_pm: Update runtime pm conditions
Date: Fri, 3 May 2024 15:13:51 -0400 [thread overview]
Message-ID: <20240503191351.7145-1-rodrigo.vivi@intel.com> (raw)
Xe is no longer holding a runtime pm reference for the life
of a VM. So we cannot guarantee the reference usage in these
points.
Also, IGT changes autosuspend time to a minimal time, so we
cannot guarantee that rpm is still suspended after the execution
has finished.
Hence, let's remove all of these conditions and check before and
after states and the results of the execution. That should be
enough for now.
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
---
tests/intel/xe_pm.c | 47 +--------------------------------------------
1 file changed, 1 insertion(+), 46 deletions(-)
diff --git a/tests/intel/xe_pm.c b/tests/intel/xe_pm.c
index 51442537b..1e0a9b282 100644
--- a/tests/intel/xe_pm.c
+++ b/tests/intel/xe_pm.c
@@ -184,34 +184,6 @@ static bool in_d3(device_t device, enum igt_acpi_d_state state)
return true;
}
-static bool out_of_d3(device_t device, enum igt_acpi_d_state state)
-{
- uint16_t val;
-
- /* Runtime resume needs to be immediate action without any wait */
- if (runtime_usage_available(device.pci_xe) &&
- igt_pm_get_runtime_usage(device.pci_xe) <= 0)
- return false;
-
- if (igt_get_runtime_pm_status() != IGT_RUNTIME_PM_STATUS_ACTIVE)
- return false;
-
- switch (state) {
- case IGT_ACPI_D3Hot:
- igt_assert_eq(pci_device_cfg_read_u16(device.pci_xe,
- &val, 0xd4), 0);
- return (val & 0x3) == 0;
- case IGT_ACPI_D3Cold:
- return igt_pm_get_acpi_real_d_state(device.pci_root) ==
- IGT_ACPI_D0;
- default:
- igt_info("Invalid D3 State\n");
- igt_assert(0);
- }
-
- return true;
-}
-
static void close_fw_handle(int sig)
{
if (fw_handle < 0)
@@ -322,7 +294,7 @@ test_exec(device_t device, struct drm_xe_engine_class_instance *eci,
uint64_t pad;
uint32_t data;
} *data;
- int i, b, rpm_usage;
+ int i, b;
bool check_rpm = (d_state == IGT_ACPI_D3Hot ||
d_state == IGT_ACPI_D3Cold);
@@ -334,15 +306,9 @@ test_exec(device_t device, struct drm_xe_engine_class_instance *eci,
vm = xe_vm_create(device.fd_xe, 0, 0);
- if (check_rpm)
- igt_assert(out_of_d3(device, d_state));
-
bo_size = sizeof(*data) * n_execs;
bo_size = xe_bb_size(device.fd_xe, bo_size);
- if (check_rpm && runtime_usage_available(device.pci_xe))
- rpm_usage = igt_pm_get_runtime_usage(device.pci_xe);
-
if (flags & USERPTR) {
data = aligned_alloc(xe_get_default_alignment(device.fd_xe), bo_size);
memset(data, 0, bo_size);
@@ -380,9 +346,6 @@ test_exec(device_t device, struct drm_xe_engine_class_instance *eci,
xe_vm_prefetch_async(device.fd_xe, vm, bind_exec_queues[0], 0, addr,
bo_size, sync, 1, 0);
- if (check_rpm && runtime_usage_available(device.pci_xe))
- igt_assert(igt_pm_get_runtime_usage(device.pci_xe) > rpm_usage);
-
for (i = 0; i < n_execs; i++) {
uint64_t batch_offset = (char *)&data[i].batch - (char *)data;
uint64_t batch_addr = addr + batch_offset;
@@ -422,9 +385,6 @@ test_exec(device_t device, struct drm_xe_engine_class_instance *eci,
igt_assert(syncobj_wait(device.fd_xe, &sync[0].handle, 1, INT64_MAX, 0,
NULL));
- if (check_rpm && runtime_usage_available(device.pci_xe))
- rpm_usage = igt_pm_get_runtime_usage(device.pci_xe);
-
sync[0].flags |= DRM_XE_SYNC_FLAG_SIGNAL;
if (n_vmas > 1)
xe_vm_unbind_all_async(device.fd_xe, vm, 0, bo, sync, 1);
@@ -452,11 +412,6 @@ NULL));
free(data);
}
- if (check_rpm && runtime_usage_available(device.pci_xe))
- igt_assert(igt_pm_get_runtime_usage(device.pci_xe) < rpm_usage);
- if (check_rpm)
- igt_assert(out_of_d3(device, d_state));
-
xe_vm_destroy(device.fd_xe, vm);
if (check_rpm)
--
2.44.0
next reply other threads:[~2024-05-03 19:14 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-03 19:13 Rodrigo Vivi [this message]
2024-05-03 19:54 ` ✓ CI.xeBAT: success for tests/intel/xe_pm: Update runtime pm conditions Patchwork
2024-05-03 20:01 ` ✓ Fi.CI.BAT: " Patchwork
2024-05-03 21:21 ` ✗ CI.xeFULL: failure " Patchwork
2024-05-04 6:48 ` ✓ Fi.CI.IGT: success " Patchwork
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=20240503191351.7145-1-rodrigo.vivi@intel.com \
--to=rodrigo.vivi@intel.com \
--cc=igt-dev@lists.freedesktop.org \
/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