[PATCH i-g-t 2/2] tests/intel/xe_mmap: Acquire rpm ref for all other pci-membarrier tests
Matthew Auld
matthew.auld at intel.com
Fri May 16 12:20:47 UTC 2025
On 16/05/2025 11:51, Kolanupaka Naveena wrote:
> To make sure the device is awake during the access. If not the read is
> getting a special value 0xffffffff thus leading to error.
>
Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/4784
> Suggested-by: Matthew Auld <matthew.auld at intel.com>
> Signed-off-by: Kolanupaka Naveena <kolanupaka.naveena at intel.com>
Probably just squash the patches together?
> ---
> tests/intel/xe_mmap.c | 11 ++++++++++-
> 1 file changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/tests/intel/xe_mmap.c b/tests/intel/xe_mmap.c
> index 51c27586f..061b3de0a 100644
> --- a/tests/intel/xe_mmap.c
> +++ b/tests/intel/xe_mmap.c
> @@ -406,6 +406,7 @@ static bool is_pci_membarrier_supported(int fd)
> igt_main
> {
> int fd;
> + int fw_handle = -1;
>
> igt_fixture
> fd = drm_open_driver(DRIVER_XE);
> @@ -423,14 +424,16 @@ igt_main
>
> igt_subtest("pci-membarrier") {
> igt_require(is_pci_membarrier_supported(fd));
> + fw_handle = igt_debugfs_open(fd, "forcewake_all", O_RDONLY);
> + igt_assert_lte(0, fw_handle);
> test_pci_membarrier(fd);
> + close(fw_handle);
> }
>
> igt_subtest("pci-membarrier-parallel") {
> int xe;
> unsigned int i;
> uint32_t *ptr;
> - int fw_handle = -1;
>
> igt_require(is_pci_membarrier_supported(fd));
> xe = drm_open_driver(DRIVER_XE);
> @@ -449,7 +452,10 @@ igt_main
>
> igt_subtest("pci-membarrier-bad-pagesize") {
> igt_require(is_pci_membarrier_supported(fd));
> + fw_handle = igt_debugfs_open(fd, "forcewake_all", O_RDONLY);
> + igt_assert_lte(0, fw_handle);
> test_bad_pagesize_for_pcimem(fd);
> + close(fw_handle);
> }
>
> igt_subtest("bad-flags")
> @@ -463,7 +469,10 @@ igt_main
>
> igt_subtest("pci-membarrier-bad-object") {
> igt_require(is_pci_membarrier_supported(fd));
> + fw_handle = igt_debugfs_open(fd, "forcewake_all", O_RDONLY);
> + igt_assert_lte(0, fw_handle);
> test_bad_object_for_pcimem(fd);
> + close(fw_handle);
> }
What about something like this, to tidy things up a bit?
+ igt_subtest_group {
+ int fw_handle;
+
+ igt_fixture {
+ igt_require(is_pci_membarrier_supported(fd));
+ fw_handle =
+ igt_debugfs_open(fd, "forcewake_all",
O_RDONLY);
+ igt_assert_lte(0, fw_handle);
+ }
+
+ igt_subtest("pci-membarrier")
+ test_pci_membarrier(fd);
+
+ igt_subtest("pci-membarrier-parallel") {
+ int xe;
+ unsigned int i;
+ uint32_t *ptr;
+
+ xe = drm_open_driver(DRIVER_XE);
+ srand(time(0));
+ i = rand() % (PAGE_SIZE / sizeof(*ptr));
+ igt_fork(child, 1)
+ test_pci_membarrier_parallel(xe, child, i);
+ test_pci_membarrier_parallel(fd, -1, i);
+ igt_waitchildren();
+
+ close(xe);
+ }
+
+ igt_subtest("pci-membarrier-bad-pagesize")
+ test_bad_pagesize_for_pcimem(fd);
+
+ igt_subtest("pci-membarrier-bad-object")
+ test_bad_object_for_pcimem(fd);
+
+ igt_fixture {
+ close(fw_handle);
+ }
+ }
+
>
> igt_subtest("small-bar") {
More information about the igt-dev
mailing list