diff options
author | Ramalingam C <ramalingam.c@intel.com> | 2020-03-11 18:17:14 -0700 |
---|---|---|
committer | Ramalingam C <ramalingam.c@intel.com> | 2020-03-16 22:57:11 +0530 |
commit | abbda1426424cf32c134107a0c892bfa61234d0b (patch) | |
tree | 7d134bae518cb18d8bd71dcacd0612a769b32d72 /tests/i915/i915_pm_rpm.c | |
parent | e100092d50105463f58db531fa953c70cc58bb10 (diff) |
tests/i915_pm_rpm: use device coherent mapping instead of mmap_gtt
Since on new discrete GPUs we dont have the mappable aperture, if that
is acceptable for the test purpose, we should use GEM_MMAP_OFFSET.
Hence using gem_mmap_device_coherent() which wraps the mmap options in
the order of gem_mmap_offset / gem_mmap / mmap_gtt
In case of fencing/gtt related tests, we mandate the existance of the
mmap_gtt.
v2:
3 tests are skipped based on mappable aperture and tiling support
v3: check for fences before enabling tiling (Ashutosh)
v4: s/gem_set_tiling/__gem_set_tiling/ (Chris)
Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Signed-off--by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
Diffstat (limited to 'tests/i915/i915_pm_rpm.c')
-rw-r--r-- | tests/i915/i915_pm_rpm.c | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/tests/i915/i915_pm_rpm.c b/tests/i915/i915_pm_rpm.c index 9118e8953..7c2ef3bf1 100644 --- a/tests/i915/i915_pm_rpm.c +++ b/tests/i915/i915_pm_rpm.c @@ -1559,7 +1559,7 @@ static void fill_igt_fb(struct igt_fb *fb, uint32_t color) int i; uint32_t *ptr; - ptr = gem_mmap__gtt(drm_fd, fb->gem_handle, fb->size, PROT_WRITE); + ptr = gem_mmap__device_coherent(drm_fd, fb->gem_handle, 0, fb->size, PROT_WRITE); for (i = 0; i < fb->size/sizeof(uint32_t); i++) ptr[i] = color; igt_assert(munmap(ptr, fb->size) == 0); @@ -1629,7 +1629,7 @@ static void cursor_subtest(bool dpms) * hopefully it has some fences around it. */ rc = drmModeRmFB(drm_fd, cursor_fb3.fb_id); igt_assert_eq(rc, 0); - gem_set_tiling(drm_fd, cursor_fb3.gem_handle, false, cursor_fb3.strides[0]); + __gem_set_tiling(drm_fd, cursor_fb3.gem_handle, false, cursor_fb3.strides[0]); igt_assert(wait_for_suspended()); rc = drmModeSetCursor(drm_fd, crtc_id, cursor_fb3.gem_handle, @@ -2051,8 +2051,10 @@ igt_main_args("", long_options, help_str, opt_handler, NULL) gem_execbuf_subtest(); igt_subtest("gem-idle") gem_idle_subtest(); - igt_subtest("gem-evict-pwrite") + igt_subtest("gem-evict-pwrite") { + gem_require_mappable_ggtt(drm_fd); gem_evict_pwrite_subtest(); + } /* Planes and cursors */ igt_subtest("cursor") @@ -2085,10 +2087,14 @@ igt_main_args("", long_options, help_str, opt_handler, NULL) dpms_mode_unset_subtest(SCREEN_TYPE_LPSP); igt_subtest("dpms-mode-unset-non-lpsp") dpms_mode_unset_subtest(SCREEN_TYPE_NON_LPSP); - igt_subtest("fences") + igt_subtest("fences") { + gem_require_mappable_ggtt(drm_fd); fences_subtest(false); - igt_subtest("fences-dpms") + } + igt_subtest("fences-dpms") { + gem_require_mappable_ggtt(drm_fd); fences_subtest(true); + } /* Modeset stress */ igt_subtest("modeset-lpsp-stress") @@ -2129,10 +2135,14 @@ igt_main_args("", long_options, help_str, opt_handler, NULL) gem_execbuf_stress_subtest(rounds, WAIT_STATUS | WAIT_EXTRA); /* power-wake reference tests */ - igt_subtest("pm-tiling") + igt_subtest("pm-tiling") { + gem_require_mappable_ggtt(drm_fd); pm_test_tiling(); - igt_subtest("pm-caching") + } + igt_subtest("pm-caching") { + gem_require_mappable_ggtt(drm_fd); pm_test_caching(); + } igt_fixture teardown_environment(); |