From: Rodrigo Vivi <rodrigo.vivi@intel.com>
To: <sai.gowtham.ch@intel.com>
Cc: <igt-dev@lists.freedesktop.org>
Subject: Re: [PATCH i-g-t 3/3] tests/intel/xe_pm: Tests vm-unbind all flag functionality with S&R
Date: Wed, 3 Apr 2024 16:28:59 -0400 [thread overview]
Message-ID: <Zg28C66etc1960x7@intel.com> (raw)
In-Reply-To: <20240401184631.346-4-sai.gowtham.ch@intel.com>
On Tue, Apr 02, 2024 at 12:16:31AM +0530, sai.gowtham.ch@intel.com wrote:
> From: Sai Gowtham Ch <sai.gowtham.ch@intel.com>
>
> Test validates vm unbind all flag functionality with suspend and resume.
>
> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Signed-off-by: Sai Gowtham Ch <sai.gowtham.ch@intel.com>
> ---
> tests/intel/xe_pm.c | 19 +++++++++++++++----
> 1 file changed, 15 insertions(+), 4 deletions(-)
>
> diff --git a/tests/intel/xe_pm.c b/tests/intel/xe_pm.c
> index 839540f5c..6776f5505 100644
> --- a/tests/intel/xe_pm.c
> +++ b/tests/intel/xe_pm.c
> @@ -35,6 +35,7 @@
>
> #define USERPTR (0x1 << 0)
> #define PREFETCH (0x1 << 2)
> +#define UNBIND_ALL (0x1 << 3)
please be consistent here.
>
> typedef struct {
> int fd_xe;
> @@ -219,6 +220,7 @@ static void close_fw_handle(int sig)
> close(fw_handle);
> }
>
> +#define MAX_VMAS 2
> /**
> * SUBTEST: %s-basic
> * Description: set GPU state to %arg[1] and test suspend/autoresume
> @@ -291,6 +293,7 @@ static void close_fw_handle(int sig)
> *
> * @usrptr: usrptr
> * @prefetch: prefetch
> + * @unbind-all: unbind-all
> */
> static void
> test_exec(device_t device, struct drm_xe_engine_class_instance *eci,
> @@ -308,6 +311,7 @@ test_exec(device_t device, struct drm_xe_engine_class_instance *eci,
> .num_syncs = 2,
> .syncs = to_user_pointer(sync),
> };
> + int n_vmas = flags & UNBIND_ALL ? MAX_VMAS : 1;
> uint32_t exec_queues[MAX_N_EXEC_QUEUES];
> uint32_t bind_exec_queues[MAX_N_EXEC_QUEUES];
> uint32_t syncobjs[MAX_N_EXEC_QUEUES];
> @@ -358,8 +362,9 @@ test_exec(device_t device, struct drm_xe_engine_class_instance *eci,
> sync[0].handle = syncobj_create(device.fd_xe, 0);
>
> if (bo)
> - xe_vm_bind_async(device.fd_xe, vm, bind_exec_queues[0], bo, 0, addr,
> - bo_size, sync, 1);
> + for (i = 0; i < n_vmas; i++)
> + xe_vm_bind_async(device.fd_xe, vm, bind_exec_queues[0], bo, 0,
> + addr + i * bo_size, bo_size, sync, 1);
> else
> xe_vm_bind_userptr_async(device.fd_xe, vm, bind_exec_queues[0],
> to_user_pointer(data), addr, bo_size, sync, 1);
> @@ -414,8 +419,13 @@ test_exec(device_t device, struct drm_xe_engine_class_instance *eci,
> rpm_usage = igt_pm_get_runtime_usage(device.pci_xe);
>
> sync[0].flags |= DRM_XE_SYNC_FLAG_SIGNAL;
> - xe_vm_unbind_async(device.fd_xe, vm, bind_exec_queues[0], 0, addr,
> - bo_size, sync, 1);
> +
> + if (n_vmas == MAX_VMAS)
if (n_vmas > 1)
would sound better here.
> + xe_vm_unbind_all_async(device.fd_xe, vm, 0, bo, sync, 1);
> + else
> + xe_vm_unbind_async(device.fd_xe, vm, bind_exec_queues[0], 0, addr,
> + bo_size, sync, 1);
> +
> igt_assert(syncobj_wait(device.fd_xe, &sync[0].handle, 1, INT64_MAX, 0,
> NULL));
>
> @@ -624,6 +634,7 @@ igt_main
> } vm_op[] = {
> { "usrptr", USERPTR },
> { "prefetch", PREFETCH },
> + { "unbind-all", UNBIND_ALL },
> { NULL },
> };
>
> --
> 2.39.1
>
next prev parent reply other threads:[~2024-04-03 20:29 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-01 18:46 [PATCH i-g-t 0/3] tests/intel/xe_pm: Tests to validate vm-bind with S&R sai.gowtham.ch
2024-04-01 18:46 ` [PATCH i-g-t 1/3] tests/intel/xe_pm: Test validates vm-bind userptr flag with suspend and resume sai.gowtham.ch
2024-04-03 20:26 ` Rodrigo Vivi
2024-04-01 18:46 ` [PATCH i-g-t 2/3] tests/intel/xe_pm: Validate vm-bind prefetch " sai.gowtham.ch
2024-04-03 20:27 ` Rodrigo Vivi
2024-04-01 18:46 ` [PATCH i-g-t 3/3] tests/intel/xe_pm: Tests vm-unbind all flag functionality with S&R sai.gowtham.ch
2024-04-03 20:28 ` Rodrigo Vivi [this message]
2024-04-01 19:29 ` ✓ Fi.CI.BAT: success for tests/intel/xe_pm: Tests to validate vm-bind " Patchwork
2024-04-01 19:34 ` ✓ CI.xeBAT: " Patchwork
2024-04-01 21:18 ` ✗ Fi.CI.IGT: failure " Patchwork
-- strict thread matches above, loose matches on Subject: below --
2024-04-15 8:40 [PATCH i-g-t 0/3] " sai.gowtham.ch
2024-04-15 8:40 ` [PATCH i-g-t 3/3] tests/intel/xe_pm: Tests vm-unbind all flag functionality " sai.gowtham.ch
2024-04-16 20:58 ` Rodrigo Vivi
2024-03-25 20:10 [PATCH i-g-t 0/3] tests/intel/xe_pm: Tests to validate vm-bind sai.gowtham.ch
2024-03-25 20:10 ` [PATCH i-g-t 3/3] tests/intel/xe_pm: Tests vm-unbind all flag functionality with s&R sai.gowtham.ch
2024-03-28 18:16 ` Rodrigo Vivi
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=Zg28C66etc1960x7@intel.com \
--to=rodrigo.vivi@intel.com \
--cc=igt-dev@lists.freedesktop.org \
--cc=sai.gowtham.ch@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.