* [igt-dev] [PATCH i-g-t 0/5] RFC Enable kms_frontbuffer_tracking on XE
@ 2023-06-09 10:12 Kunal Joshi
2023-06-09 10:12 ` [igt-dev] [PATCH i-g-t 1/5] RFC tests/i915/kms_frontbuffer_tracking: Add xe support Kunal Joshi
` (6 more replies)
0 siblings, 7 replies; 18+ messages in thread
From: Kunal Joshi @ 2023-06-09 10:12 UTC (permalink / raw)
To: igt-dev; +Cc: kunal1.joshi
This series is intended to extend kms_frontbuffer_tracking
test to be supported on xe driver
Kunal Joshi (5):
RFC tests/i915/kms_frontbuffer_tracking: Add xe support
RFC tests/i915/kms_frontbuffer_tracking: xe doesn't support tiling as
of now
tests/i915/kms_frontbuffer_tracking: all gem ioctls are not supported
for xe as of now
RFC lib/ioctl_wrappers: GEM_SET_DOMAIN ioctl not supported on xe
RFC tests/i915/kms_frontbuffer_tracking: xe only supports MMAP_WC,
BLT, RENDER
tests/i915/kms_frontbuffer_tracking.c | 84 +++++++++++++++++++--------
1 file changed, 61 insertions(+), 23 deletions(-)
--
2.34.1
^ permalink raw reply [flat|nested] 18+ messages in thread* [igt-dev] [PATCH i-g-t 1/5] RFC tests/i915/kms_frontbuffer_tracking: Add xe support 2023-06-09 10:12 [igt-dev] [PATCH i-g-t 0/5] RFC Enable kms_frontbuffer_tracking on XE Kunal Joshi @ 2023-06-09 10:12 ` Kunal Joshi 2023-06-12 5:23 ` Modem, Bhanuprakash 2023-06-09 10:12 ` [igt-dev] [PATCH i-g-t 2/5] RFC tests/i915/kms_frontbuffer_tracking: xe doesn't support tiling as of now Kunal Joshi ` (5 subsequent siblings) 6 siblings, 1 reply; 18+ messages in thread From: Kunal Joshi @ 2023-06-09 10:12 UTC (permalink / raw) To: igt-dev; +Cc: kunal1.joshi Add support for DRIVER_XE Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com> --- tests/i915/kms_frontbuffer_tracking.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/i915/kms_frontbuffer_tracking.c b/tests/i915/kms_frontbuffer_tracking.c index 650e14a7..c2b99670 100644 --- a/tests/i915/kms_frontbuffer_tracking.c +++ b/tests/i915/kms_frontbuffer_tracking.c @@ -1338,7 +1338,7 @@ static void init_crcs(enum pixel_format format, enum tiling_type tiling, static void setup_drm(void) { - drm.fd = drm_open_driver_master(DRIVER_INTEL); + drm.fd = drm_open_driver_master(DRIVER_INTEL | DRIVER_XE); drm.debugfs = igt_debugfs_dir(drm.fd); kmstest_set_vt_graphics_mode(); -- 2.34.1 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 1/5] RFC tests/i915/kms_frontbuffer_tracking: Add xe support 2023-06-09 10:12 ` [igt-dev] [PATCH i-g-t 1/5] RFC tests/i915/kms_frontbuffer_tracking: Add xe support Kunal Joshi @ 2023-06-12 5:23 ` Modem, Bhanuprakash 0 siblings, 0 replies; 18+ messages in thread From: Modem, Bhanuprakash @ 2023-06-12 5:23 UTC (permalink / raw) To: Kunal Joshi, igt-dev On Fri-09-06-2023 03:42 pm, Kunal Joshi wrote: > Add support for DRIVER_XE > > Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com> > --- > tests/i915/kms_frontbuffer_tracking.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tests/i915/kms_frontbuffer_tracking.c b/tests/i915/kms_frontbuffer_tracking.c > index 650e14a7..c2b99670 100644 > --- a/tests/i915/kms_frontbuffer_tracking.c > +++ b/tests/i915/kms_frontbuffer_tracking.c > @@ -1338,7 +1338,7 @@ static void init_crcs(enum pixel_format format, enum tiling_type tiling, > > static void setup_drm(void) > { > - drm.fd = drm_open_driver_master(DRIVER_INTEL); > + drm.fd = drm_open_driver_master(DRIVER_INTEL | DRIVER_XE); LGTM Reviewed-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> > drm.debugfs = igt_debugfs_dir(drm.fd); > > kmstest_set_vt_graphics_mode(); ^ permalink raw reply [flat|nested] 18+ messages in thread
* [igt-dev] [PATCH i-g-t 2/5] RFC tests/i915/kms_frontbuffer_tracking: xe doesn't support tiling as of now 2023-06-09 10:12 [igt-dev] [PATCH i-g-t 0/5] RFC Enable kms_frontbuffer_tracking on XE Kunal Joshi 2023-06-09 10:12 ` [igt-dev] [PATCH i-g-t 1/5] RFC tests/i915/kms_frontbuffer_tracking: Add xe support Kunal Joshi @ 2023-06-09 10:12 ` Kunal Joshi 2023-06-12 5:26 ` Modem, Bhanuprakash 2023-06-09 10:12 ` [igt-dev] [PATCH i-g-t 3/5] tests/i915/kms_frontbuffer_tracking: all gem ioctls are not supported for xe " Kunal Joshi ` (4 subsequent siblings) 6 siblings, 1 reply; 18+ messages in thread From: Kunal Joshi @ 2023-06-09 10:12 UTC (permalink / raw) To: igt-dev; +Cc: kunal1.joshi XE doesn't support tiling as of now, so set tiling to linear v2: use is_xe_device() instead of static variable (Jouni) assert if xe device and unsupported tiling method specified in opt handler (Jouni) v3: Fix condition in igt_assert v4: Keep tiling check in igt_require (Bhanu) Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com> --- tests/i915/kms_frontbuffer_tracking.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/tests/i915/kms_frontbuffer_tracking.c b/tests/i915/kms_frontbuffer_tracking.c index c2b99670..45a601fe 100644 --- a/tests/i915/kms_frontbuffer_tracking.c +++ b/tests/i915/kms_frontbuffer_tracking.c @@ -1341,6 +1341,19 @@ static void setup_drm(void) drm.fd = drm_open_driver_master(DRIVER_INTEL | DRIVER_XE); drm.debugfs = igt_debugfs_dir(drm.fd); + /* + * Assert if xe device and tiling method specified + * in opt_handler + */ + igt_assert(is_i915_device(drm.fd) || (is_xe_device(drm.fd) && (opt.tiling == TILING_DEFAULT || + opt.tiling == TILING_LINEAR))); + + /* + * XE only support linear tiling + */ + if (is_xe_device(drm.fd)) + opt.tiling = TILING_LINEAR; + kmstest_set_vt_graphics_mode(); igt_display_require(&drm.display, drm.fd); @@ -3634,6 +3647,7 @@ igt_main_args("", long_options, help_str, opt_handler, NULL) for (t.tiling = TILING_LINEAR; t.tiling < TILING_COUNT; t.tiling++) { + if (t.tiling == TILING_X) continue; @@ -3646,6 +3660,9 @@ igt_main_args("", long_options, help_str, opt_handler, NULL) feature_str(t.feature), tiling_str(t.tiling)) { + if (is_xe_device(drm.fd)) + igt_require(t.tiling == TILING_LINEAR); + /* Tiling Y is only supported on GEN9+ */ if (t.tiling == TILING_Y) { igt_require(AT_LEAST_GEN(devid, 9)); -- 2.34.1 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 2/5] RFC tests/i915/kms_frontbuffer_tracking: xe doesn't support tiling as of now 2023-06-09 10:12 ` [igt-dev] [PATCH i-g-t 2/5] RFC tests/i915/kms_frontbuffer_tracking: xe doesn't support tiling as of now Kunal Joshi @ 2023-06-12 5:26 ` Modem, Bhanuprakash 0 siblings, 0 replies; 18+ messages in thread From: Modem, Bhanuprakash @ 2023-06-12 5:26 UTC (permalink / raw) To: Kunal Joshi, igt-dev Hi Kunal, On Fri-09-06-2023 03:42 pm, Kunal Joshi wrote: > XE doesn't support tiling as of now, so set tiling to linear > > v2: use is_xe_device() instead of static variable (Jouni) > assert if xe device and unsupported tiling method specified > in opt handler (Jouni) > v3: Fix condition in igt_assert > v4: Keep tiling check in igt_require (Bhanu) > > Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com> > --- > tests/i915/kms_frontbuffer_tracking.c | 17 +++++++++++++++++ > 1 file changed, 17 insertions(+) > > diff --git a/tests/i915/kms_frontbuffer_tracking.c b/tests/i915/kms_frontbuffer_tracking.c > index c2b99670..45a601fe 100644 > --- a/tests/i915/kms_frontbuffer_tracking.c > +++ b/tests/i915/kms_frontbuffer_tracking.c > @@ -1341,6 +1341,19 @@ static void setup_drm(void) > drm.fd = drm_open_driver_master(DRIVER_INTEL | DRIVER_XE); > drm.debugfs = igt_debugfs_dir(drm.fd); > > + /* > + * Assert if xe device and tiling method specified > + * in opt_handler > + */ > + igt_assert(is_i915_device(drm.fd) || (is_xe_device(drm.fd) && (opt.tiling == TILING_DEFAULT || I think, TILING_DEFAULT is not allowed, because (TILING_DEFAULT == TILING_X) - Bhanu > + opt.tiling == TILING_LINEAR))); > + > + /* > + * XE only support linear tiling > + */ > + if (is_xe_device(drm.fd)) > + opt.tiling = TILING_LINEAR; > + > kmstest_set_vt_graphics_mode(); > igt_display_require(&drm.display, drm.fd); > > @@ -3634,6 +3647,7 @@ igt_main_args("", long_options, help_str, opt_handler, NULL) > > for (t.tiling = TILING_LINEAR; t.tiling < TILING_COUNT; > t.tiling++) { > + > if (t.tiling == TILING_X) > continue; > > @@ -3646,6 +3660,9 @@ igt_main_args("", long_options, help_str, opt_handler, NULL) > feature_str(t.feature), > tiling_str(t.tiling)) { > > + if (is_xe_device(drm.fd)) > + igt_require(t.tiling == TILING_LINEAR); > + > /* Tiling Y is only supported on GEN9+ */ > if (t.tiling == TILING_Y) { > igt_require(AT_LEAST_GEN(devid, 9)); ^ permalink raw reply [flat|nested] 18+ messages in thread
* [igt-dev] [PATCH i-g-t 3/5] tests/i915/kms_frontbuffer_tracking: all gem ioctls are not supported for xe as of now 2023-06-09 10:12 [igt-dev] [PATCH i-g-t 0/5] RFC Enable kms_frontbuffer_tracking on XE Kunal Joshi 2023-06-09 10:12 ` [igt-dev] [PATCH i-g-t 1/5] RFC tests/i915/kms_frontbuffer_tracking: Add xe support Kunal Joshi 2023-06-09 10:12 ` [igt-dev] [PATCH i-g-t 2/5] RFC tests/i915/kms_frontbuffer_tracking: xe doesn't support tiling as of now Kunal Joshi @ 2023-06-09 10:12 ` Kunal Joshi 2023-06-12 5:37 ` Modem, Bhanuprakash 2023-06-09 10:12 ` [igt-dev] [PATCH i-g-t 4/5] RFC lib/ioctl_wrappers: GEM_SET_DOMAIN ioctl not supported on xe Kunal Joshi ` (3 subsequent siblings) 6 siblings, 1 reply; 18+ messages in thread From: Kunal Joshi @ 2023-06-09 10:12 UTC (permalink / raw) To: igt-dev; +Cc: kunal1.joshi XE doesn't support all gem ioctls Open :- Find replacement for igt_require_gem() for xe Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com> --- tests/i915/kms_frontbuffer_tracking.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/i915/kms_frontbuffer_tracking.c b/tests/i915/kms_frontbuffer_tracking.c index 45a601fe..09bfd3c3 100644 --- a/tests/i915/kms_frontbuffer_tracking.c +++ b/tests/i915/kms_frontbuffer_tracking.c @@ -3701,7 +3701,8 @@ igt_main_args("", long_options, help_str, opt_handler, NULL) t.flip = FLIP_PAGEFLIP; t.tiling = opt.tiling; igt_subtest("basic") { - igt_require_gem(drm.fd); + if (!is_xe_device(drm.fd)) + igt_require_gem(drm.fd); basic_subtest(&t); } -- 2.34.1 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 3/5] tests/i915/kms_frontbuffer_tracking: all gem ioctls are not supported for xe as of now 2023-06-09 10:12 ` [igt-dev] [PATCH i-g-t 3/5] tests/i915/kms_frontbuffer_tracking: all gem ioctls are not supported for xe " Kunal Joshi @ 2023-06-12 5:37 ` Modem, Bhanuprakash 0 siblings, 0 replies; 18+ messages in thread From: Modem, Bhanuprakash @ 2023-06-12 5:37 UTC (permalink / raw) To: Kunal Joshi, igt-dev Hi Kunal, On Fri-09-06-2023 03:42 pm, Kunal Joshi wrote: > XE doesn't support all gem ioctls > Open :- Find replacement for igt_require_gem() for xe > > Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com> > --- > tests/i915/kms_frontbuffer_tracking.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/tests/i915/kms_frontbuffer_tracking.c b/tests/i915/kms_frontbuffer_tracking.c > index 45a601fe..09bfd3c3 100644 > --- a/tests/i915/kms_frontbuffer_tracking.c > +++ b/tests/i915/kms_frontbuffer_tracking.c > @@ -3701,7 +3701,8 @@ igt_main_args("", long_options, help_str, opt_handler, NULL) > t.flip = FLIP_PAGEFLIP; > t.tiling = opt.tiling; > igt_subtest("basic") { > - igt_require_gem(drm.fd); > + if (!is_xe_device(drm.fd)) > + igt_require_gem(drm.fd); > basic_subtest(&t); Patch LGTM Reviewed-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> Please address below comments: Due to the igt_fixture in Patch 5/5 of this series, "basic" test is getting skip [1] Maybe you can re-arrange the tests to handle this. Hint: subtest "basic" should be the first one in kms_frontbuffer_tracking.c [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9141/bat-dg2-8/igt@kms_frontbuffer_tracking@basic.html - Bhanu > } > ^ permalink raw reply [flat|nested] 18+ messages in thread
* [igt-dev] [PATCH i-g-t 4/5] RFC lib/ioctl_wrappers: GEM_SET_DOMAIN ioctl not supported on xe 2023-06-09 10:12 [igt-dev] [PATCH i-g-t 0/5] RFC Enable kms_frontbuffer_tracking on XE Kunal Joshi ` (2 preceding siblings ...) 2023-06-09 10:12 ` [igt-dev] [PATCH i-g-t 3/5] tests/i915/kms_frontbuffer_tracking: all gem ioctls are not supported for xe " Kunal Joshi @ 2023-06-09 10:12 ` Kunal Joshi 2023-06-12 5:38 ` Modem, Bhanuprakash 2023-06-09 10:12 ` [igt-dev] [PATCH i-g-t 5/5] RFC tests/i915/kms_frontbuffer_tracking: xe only supports MMAP_WC, BLT, RENDER Kunal Joshi ` (2 subsequent siblings) 6 siblings, 1 reply; 18+ messages in thread From: Kunal Joshi @ 2023-06-09 10:12 UTC (permalink / raw) To: igt-dev; +Cc: kunal1.joshi xe doesn't support GEM_SET_DOMAIN ioctl v2: Keep i915 specific check in test only Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com> --- tests/i915/kms_frontbuffer_tracking.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/i915/kms_frontbuffer_tracking.c b/tests/i915/kms_frontbuffer_tracking.c index 09bfd3c3..7159cd37 100644 --- a/tests/i915/kms_frontbuffer_tracking.c +++ b/tests/i915/kms_frontbuffer_tracking.c @@ -1573,7 +1573,8 @@ static void do_flush(const struct test_mode *t) struct modeset_params *params = pick_params(t); struct fb_region *target = pick_target(t, params); - gem_set_domain(drm.fd, target->fb->gem_handle, I915_GEM_DOMAIN_GTT, 0); + if (is_i915_device(drm.fd)) + gem_set_domain(drm.fd, target->fb->gem_handle, I915_GEM_DOMAIN_GTT, 0); } #define DONT_ASSERT_CRC (1 << 0) -- 2.34.1 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 4/5] RFC lib/ioctl_wrappers: GEM_SET_DOMAIN ioctl not supported on xe 2023-06-09 10:12 ` [igt-dev] [PATCH i-g-t 4/5] RFC lib/ioctl_wrappers: GEM_SET_DOMAIN ioctl not supported on xe Kunal Joshi @ 2023-06-12 5:38 ` Modem, Bhanuprakash 0 siblings, 0 replies; 18+ messages in thread From: Modem, Bhanuprakash @ 2023-06-12 5:38 UTC (permalink / raw) To: Kunal Joshi, igt-dev On Fri-09-06-2023 03:42 pm, Kunal Joshi wrote: > xe doesn't support GEM_SET_DOMAIN ioctl > > v2: Keep i915 specific check in test only > > Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com> > --- > tests/i915/kms_frontbuffer_tracking.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/tests/i915/kms_frontbuffer_tracking.c b/tests/i915/kms_frontbuffer_tracking.c > index 09bfd3c3..7159cd37 100644 > --- a/tests/i915/kms_frontbuffer_tracking.c > +++ b/tests/i915/kms_frontbuffer_tracking.c > @@ -1573,7 +1573,8 @@ static void do_flush(const struct test_mode *t) > struct modeset_params *params = pick_params(t); > struct fb_region *target = pick_target(t, params); > > - gem_set_domain(drm.fd, target->fb->gem_handle, I915_GEM_DOMAIN_GTT, 0); > + if (is_i915_device(drm.fd)) > + gem_set_domain(drm.fd, target->fb->gem_handle, I915_GEM_DOMAIN_GTT, 0); Reviewed-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> > } > > #define DONT_ASSERT_CRC (1 << 0) ^ permalink raw reply [flat|nested] 18+ messages in thread
* [igt-dev] [PATCH i-g-t 5/5] RFC tests/i915/kms_frontbuffer_tracking: xe only supports MMAP_WC, BLT, RENDER 2023-06-09 10:12 [igt-dev] [PATCH i-g-t 0/5] RFC Enable kms_frontbuffer_tracking on XE Kunal Joshi ` (3 preceding siblings ...) 2023-06-09 10:12 ` [igt-dev] [PATCH i-g-t 4/5] RFC lib/ioctl_wrappers: GEM_SET_DOMAIN ioctl not supported on xe Kunal Joshi @ 2023-06-09 10:12 ` Kunal Joshi 2023-06-12 5:40 ` Modem, Bhanuprakash 2023-06-09 17:39 ` [igt-dev] ✗ Fi.CI.BAT: failure for RFC Enable kms_frontbuffer_tracking on XE (rev5) Patchwork 2023-06-12 5:44 ` [igt-dev] [PATCH i-g-t 0/5] RFC Enable kms_frontbuffer_tracking on XE Modem, Bhanuprakash 6 siblings, 1 reply; 18+ messages in thread From: Kunal Joshi @ 2023-06-09 10:12 UTC (permalink / raw) To: igt-dev; +Cc: kunal1.joshi xe only supports MMAP_WC, BLT and RENDER methods, Open :- does draw method give guarantee for fb to be rendered on return, if not how to assure, ex for RENDER we have intel_bb_sync v2: use igt_draw_supports_method (Bhanu) Remove check from macro and put it in igt_require at test level (Bhanu) Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com> --- tests/i915/kms_frontbuffer_tracking.c | 59 ++++++++++++++++++--------- 1 file changed, 39 insertions(+), 20 deletions(-) diff --git a/tests/i915/kms_frontbuffer_tracking.c b/tests/i915/kms_frontbuffer_tracking.c index 7159cd37..b8dd5cd5 100644 --- a/tests/i915/kms_frontbuffer_tracking.c +++ b/tests/i915/kms_frontbuffer_tracking.c @@ -1307,11 +1307,13 @@ static void init_crcs(enum pixel_format format, enum tiling_type tiling, for (r = 0; r < pattern->n_rects; r++) for (r_ = 0; r_ <= r; r_++) draw_rect_igt_fb(pattern, &tmp_fbs[r], - IGT_DRAW_PWRITE, r_); + igt_draw_supports_method(drm.fd, IGT_DRAW_PWRITE) ? + IGT_DRAW_PWRITE : IGT_DRAW_RENDER, + r_); } else { for (r = 0; r < pattern->n_rects; r++) - draw_rect_igt_fb(pattern, &tmp_fbs[r], IGT_DRAW_PWRITE, - r); + draw_rect_igt_fb(pattern, &tmp_fbs[r], igt_draw_supports_method(drm.fd, IGT_DRAW_PWRITE) ? + IGT_DRAW_PWRITE : IGT_DRAW_RENDER, r); } igt_output_set_pipe(prim_mode_params.output, prim_mode_params.pipe); @@ -2048,9 +2050,6 @@ static void draw_subtest(const struct test_mode *t) struct modeset_params *params = pick_params(t); struct fb_region *target; - igt_skip_on(t->method == IGT_DRAW_MMAP_GTT && - !gem_has_mappable_ggtt(drm.fd)); - switch (t->screen) { case SCREEN_PRIM: if (t->method != IGT_DRAW_MMAP_GTT && t->plane == PLANE_PRI) @@ -2150,9 +2149,8 @@ static void multidraw_subtest(const struct test_mode *t) igt_draw_get_method_name(m1), igt_draw_get_method_name(m2)); - if ((m1 == IGT_DRAW_MMAP_GTT || - m2 == IGT_DRAW_MMAP_GTT) && - !gem_has_mappable_ggtt(drm.fd)) + if (!igt_draw_supports_method(drm.fd, m1) || + !igt_draw_supports_method(drm.fd, m2)) continue; for (r = 0; r < pattern->n_rects; r++) { @@ -2421,9 +2419,6 @@ static void flip_subtest(const struct test_mode *t) struct draw_pattern_info *pattern = &pattern1; enum color bg_color; - igt_skip_on(t->method == IGT_DRAW_MMAP_GTT && - !gem_has_mappable_ggtt(drm.fd)); - switch (t->screen) { case SCREEN_PRIM: assertions |= ASSERT_LAST_ACTION_CHANGED; @@ -2483,9 +2478,6 @@ static void fliptrack_subtest(const struct test_mode *t, enum flip_type type) struct modeset_params *params = pick_params(t); struct draw_pattern_info *pattern = &pattern1; - igt_skip_on(t->method == IGT_DRAW_MMAP_GTT && - !gem_has_mappable_ggtt(drm.fd)); - prepare_subtest(t, pattern); create_fb(t->format, params->primary.fb->width, params->primary.fb->height, @@ -2895,9 +2887,6 @@ static void farfromfence_subtest(const struct test_mode *t) int max_height, assertions = 0; int gen = intel_display_ver(intel_get_drm_devid(drm.fd)); - igt_skip_on(t->method == IGT_DRAW_MMAP_GTT && - !gem_has_mappable_ggtt(drm.fd)); - switch (gen) { case 2: max_height = 2048; @@ -3181,8 +3170,7 @@ static void basic_subtest(const struct test_mode *t) fb1 = params->primary.fb; for (r = 0, method = 0; method < IGT_DRAW_METHOD_COUNT; method++) { - if (method == IGT_DRAW_MMAP_GTT && - !gem_has_mappable_ggtt(drm.fd)) + if (!igt_draw_supports_method(drm.fd, method)) continue; if (r == pattern->n_rects) { @@ -3487,6 +3475,9 @@ igt_main_args("", long_options, help_str, opt_handler, NULL) } TEST_MODE_ITER_BEGIN(t) + igt_fixture + igt_require(igt_draw_supports_method(drm.fd, t.method)); + igt_subtest_f("%s-%s-%s-%s-%s-draw-%s", feature_str(t.feature), pipes_str(t.pipes), @@ -3503,6 +3494,9 @@ igt_main_args("", long_options, help_str, opt_handler, NULL) (!opt.show_hidden && t.method != IGT_DRAW_BLT)) continue; + igt_fixture + igt_require(igt_draw_supports_method(drm.fd, t.method)); + for (t.flip = 0; t.flip < FLIP_COUNT; t.flip++) igt_subtest_f("%s-%s-%s-%s-%sflip-%s", feature_str(t.feature), @@ -3521,6 +3515,9 @@ igt_main_args("", long_options, help_str, opt_handler, NULL) (t.feature & FEATURE_FBC) == 0) continue; + igt_fixture + igt_require(igt_draw_supports_method(drm.fd, t.method)); + igt_subtest_f("%s-%s-%s-fliptrack-%s", feature_str(t.feature), pipes_str(t.pipes), @@ -3535,6 +3532,9 @@ igt_main_args("", long_options, help_str, opt_handler, NULL) t.plane == PLANE_PRI) continue; + igt_fixture + igt_require(igt_draw_supports_method(drm.fd, t.method)); + igt_subtest_f("%s-%s-%s-%s-%s-move", feature_str(t.feature), pipes_str(t.pipes), @@ -3558,6 +3558,9 @@ igt_main_args("", long_options, help_str, opt_handler, NULL) t.plane != PLANE_SPR) continue; + igt_fixture + igt_require(igt_draw_supports_method(drm.fd, t.method)); + igt_subtest_f("%s-%s-%s-%s-%s-fullscreen", feature_str(t.feature), pipes_str(t.pipes), @@ -3574,6 +3577,9 @@ igt_main_args("", long_options, help_str, opt_handler, NULL) (!opt.show_hidden && t.fbs != FBS_INDIVIDUAL)) continue; + igt_fixture + igt_require(igt_draw_supports_method(drm.fd, t.method)); + igt_subtest_f("%s-%s-%s-%s-multidraw", feature_str(t.feature), pipes_str(t.pipes), @@ -3590,6 +3596,9 @@ igt_main_args("", long_options, help_str, opt_handler, NULL) t.method != IGT_DRAW_MMAP_GTT) continue; + igt_fixture + igt_require(igt_draw_supports_method(drm.fd, t.method)); + igt_subtest_f("%s-farfromfence-%s", feature_str(t.feature), igt_draw_get_method_name(t.method)) @@ -3603,6 +3612,9 @@ igt_main_args("", long_options, help_str, opt_handler, NULL) t.fbs != FBS_INDIVIDUAL) continue; + igt_fixture + igt_require(igt_draw_supports_method(drm.fd, t.method)); + for (t.format = 0; t.format < FORMAT_COUNT; t.format++) { /* Skip what we already tested. */ if (t.format == FORMAT_DEFAULT) @@ -3622,6 +3634,10 @@ igt_main_args("", long_options, help_str, opt_handler, NULL) t.plane != PLANE_PRI || t.method != IGT_DRAW_BLT) continue; + + igt_fixture + igt_require(igt_draw_supports_method(drm.fd, t.method)); + igt_subtest_f("%s-%s-scaledprimary", feature_str(t.feature), fbs_str(t.fbs)) @@ -3636,6 +3652,9 @@ igt_main_args("", long_options, help_str, opt_handler, NULL) t.method != IGT_DRAW_BLT) continue; + igt_fixture + igt_require(igt_draw_supports_method(drm.fd, t.method)); + igt_subtest_f("%s-modesetfrombusy", feature_str(t.feature)) modesetfrombusy_subtest(&t); -- 2.34.1 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 5/5] RFC tests/i915/kms_frontbuffer_tracking: xe only supports MMAP_WC, BLT, RENDER 2023-06-09 10:12 ` [igt-dev] [PATCH i-g-t 5/5] RFC tests/i915/kms_frontbuffer_tracking: xe only supports MMAP_WC, BLT, RENDER Kunal Joshi @ 2023-06-12 5:40 ` Modem, Bhanuprakash 0 siblings, 0 replies; 18+ messages in thread From: Modem, Bhanuprakash @ 2023-06-12 5:40 UTC (permalink / raw) To: Kunal Joshi, igt-dev Hi Kunal, Please check the comments in Patch 3/5 in this series. Otherwise this patch LGTM. - Bhanu On Fri-09-06-2023 03:42 pm, Kunal Joshi wrote: > xe only supports MMAP_WC, BLT and RENDER methods, > > Open :- does draw method give guarantee for fb to be rendered > on return, if not how to assure, ex for RENDER we have intel_bb_sync > > v2: use igt_draw_supports_method (Bhanu) > Remove check from macro and put it in igt_require at test level > (Bhanu) > > Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com> > --- > tests/i915/kms_frontbuffer_tracking.c | 59 ++++++++++++++++++--------- > 1 file changed, 39 insertions(+), 20 deletions(-) > > diff --git a/tests/i915/kms_frontbuffer_tracking.c b/tests/i915/kms_frontbuffer_tracking.c > index 7159cd37..b8dd5cd5 100644 > --- a/tests/i915/kms_frontbuffer_tracking.c > +++ b/tests/i915/kms_frontbuffer_tracking.c > @@ -1307,11 +1307,13 @@ static void init_crcs(enum pixel_format format, enum tiling_type tiling, > for (r = 0; r < pattern->n_rects; r++) > for (r_ = 0; r_ <= r; r_++) > draw_rect_igt_fb(pattern, &tmp_fbs[r], > - IGT_DRAW_PWRITE, r_); > + igt_draw_supports_method(drm.fd, IGT_DRAW_PWRITE) ? > + IGT_DRAW_PWRITE : IGT_DRAW_RENDER, > + r_); > } else { > for (r = 0; r < pattern->n_rects; r++) > - draw_rect_igt_fb(pattern, &tmp_fbs[r], IGT_DRAW_PWRITE, > - r); > + draw_rect_igt_fb(pattern, &tmp_fbs[r], igt_draw_supports_method(drm.fd, IGT_DRAW_PWRITE) ? > + IGT_DRAW_PWRITE : IGT_DRAW_RENDER, r); > } > > igt_output_set_pipe(prim_mode_params.output, prim_mode_params.pipe); > @@ -2048,9 +2050,6 @@ static void draw_subtest(const struct test_mode *t) > struct modeset_params *params = pick_params(t); > struct fb_region *target; > > - igt_skip_on(t->method == IGT_DRAW_MMAP_GTT && > - !gem_has_mappable_ggtt(drm.fd)); > - > switch (t->screen) { > case SCREEN_PRIM: > if (t->method != IGT_DRAW_MMAP_GTT && t->plane == PLANE_PRI) > @@ -2150,9 +2149,8 @@ static void multidraw_subtest(const struct test_mode *t) > igt_draw_get_method_name(m1), > igt_draw_get_method_name(m2)); > > - if ((m1 == IGT_DRAW_MMAP_GTT || > - m2 == IGT_DRAW_MMAP_GTT) && > - !gem_has_mappable_ggtt(drm.fd)) > + if (!igt_draw_supports_method(drm.fd, m1) || > + !igt_draw_supports_method(drm.fd, m2)) > continue; > > for (r = 0; r < pattern->n_rects; r++) { > @@ -2421,9 +2419,6 @@ static void flip_subtest(const struct test_mode *t) > struct draw_pattern_info *pattern = &pattern1; > enum color bg_color; > > - igt_skip_on(t->method == IGT_DRAW_MMAP_GTT && > - !gem_has_mappable_ggtt(drm.fd)); > - > switch (t->screen) { > case SCREEN_PRIM: > assertions |= ASSERT_LAST_ACTION_CHANGED; > @@ -2483,9 +2478,6 @@ static void fliptrack_subtest(const struct test_mode *t, enum flip_type type) > struct modeset_params *params = pick_params(t); > struct draw_pattern_info *pattern = &pattern1; > > - igt_skip_on(t->method == IGT_DRAW_MMAP_GTT && > - !gem_has_mappable_ggtt(drm.fd)); > - > prepare_subtest(t, pattern); > > create_fb(t->format, params->primary.fb->width, params->primary.fb->height, > @@ -2895,9 +2887,6 @@ static void farfromfence_subtest(const struct test_mode *t) > int max_height, assertions = 0; > int gen = intel_display_ver(intel_get_drm_devid(drm.fd)); > > - igt_skip_on(t->method == IGT_DRAW_MMAP_GTT && > - !gem_has_mappable_ggtt(drm.fd)); > - > switch (gen) { > case 2: > max_height = 2048; > @@ -3181,8 +3170,7 @@ static void basic_subtest(const struct test_mode *t) > fb1 = params->primary.fb; > > for (r = 0, method = 0; method < IGT_DRAW_METHOD_COUNT; method++) { > - if (method == IGT_DRAW_MMAP_GTT && > - !gem_has_mappable_ggtt(drm.fd)) > + if (!igt_draw_supports_method(drm.fd, method)) > continue; > > if (r == pattern->n_rects) { > @@ -3487,6 +3475,9 @@ igt_main_args("", long_options, help_str, opt_handler, NULL) > } > > TEST_MODE_ITER_BEGIN(t) > + igt_fixture > + igt_require(igt_draw_supports_method(drm.fd, t.method)); > + > igt_subtest_f("%s-%s-%s-%s-%s-draw-%s", > feature_str(t.feature), > pipes_str(t.pipes), > @@ -3503,6 +3494,9 @@ igt_main_args("", long_options, help_str, opt_handler, NULL) > (!opt.show_hidden && t.method != IGT_DRAW_BLT)) > continue; > > + igt_fixture > + igt_require(igt_draw_supports_method(drm.fd, t.method)); > + > for (t.flip = 0; t.flip < FLIP_COUNT; t.flip++) > igt_subtest_f("%s-%s-%s-%s-%sflip-%s", > feature_str(t.feature), > @@ -3521,6 +3515,9 @@ igt_main_args("", long_options, help_str, opt_handler, NULL) > (t.feature & FEATURE_FBC) == 0) > continue; > > + igt_fixture > + igt_require(igt_draw_supports_method(drm.fd, t.method)); > + > igt_subtest_f("%s-%s-%s-fliptrack-%s", > feature_str(t.feature), > pipes_str(t.pipes), > @@ -3535,6 +3532,9 @@ igt_main_args("", long_options, help_str, opt_handler, NULL) > t.plane == PLANE_PRI) > continue; > > + igt_fixture > + igt_require(igt_draw_supports_method(drm.fd, t.method)); > + > igt_subtest_f("%s-%s-%s-%s-%s-move", > feature_str(t.feature), > pipes_str(t.pipes), > @@ -3558,6 +3558,9 @@ igt_main_args("", long_options, help_str, opt_handler, NULL) > t.plane != PLANE_SPR) > continue; > > + igt_fixture > + igt_require(igt_draw_supports_method(drm.fd, t.method)); > + > igt_subtest_f("%s-%s-%s-%s-%s-fullscreen", > feature_str(t.feature), > pipes_str(t.pipes), > @@ -3574,6 +3577,9 @@ igt_main_args("", long_options, help_str, opt_handler, NULL) > (!opt.show_hidden && t.fbs != FBS_INDIVIDUAL)) > continue; > > + igt_fixture > + igt_require(igt_draw_supports_method(drm.fd, t.method)); > + > igt_subtest_f("%s-%s-%s-%s-multidraw", > feature_str(t.feature), > pipes_str(t.pipes), > @@ -3590,6 +3596,9 @@ igt_main_args("", long_options, help_str, opt_handler, NULL) > t.method != IGT_DRAW_MMAP_GTT) > continue; > > + igt_fixture > + igt_require(igt_draw_supports_method(drm.fd, t.method)); > + > igt_subtest_f("%s-farfromfence-%s", > feature_str(t.feature), > igt_draw_get_method_name(t.method)) > @@ -3603,6 +3612,9 @@ igt_main_args("", long_options, help_str, opt_handler, NULL) > t.fbs != FBS_INDIVIDUAL) > continue; > > + igt_fixture > + igt_require(igt_draw_supports_method(drm.fd, t.method)); > + > for (t.format = 0; t.format < FORMAT_COUNT; t.format++) { > /* Skip what we already tested. */ > if (t.format == FORMAT_DEFAULT) > @@ -3622,6 +3634,10 @@ igt_main_args("", long_options, help_str, opt_handler, NULL) > t.plane != PLANE_PRI || > t.method != IGT_DRAW_BLT) > continue; > + > + igt_fixture > + igt_require(igt_draw_supports_method(drm.fd, t.method)); > + > igt_subtest_f("%s-%s-scaledprimary", > feature_str(t.feature), > fbs_str(t.fbs)) > @@ -3636,6 +3652,9 @@ igt_main_args("", long_options, help_str, opt_handler, NULL) > t.method != IGT_DRAW_BLT) > continue; > > + igt_fixture > + igt_require(igt_draw_supports_method(drm.fd, t.method)); > + > igt_subtest_f("%s-modesetfrombusy", feature_str(t.feature)) > modesetfrombusy_subtest(&t); > ^ permalink raw reply [flat|nested] 18+ messages in thread
* [igt-dev] ✗ Fi.CI.BAT: failure for RFC Enable kms_frontbuffer_tracking on XE (rev5) 2023-06-09 10:12 [igt-dev] [PATCH i-g-t 0/5] RFC Enable kms_frontbuffer_tracking on XE Kunal Joshi ` (4 preceding siblings ...) 2023-06-09 10:12 ` [igt-dev] [PATCH i-g-t 5/5] RFC tests/i915/kms_frontbuffer_tracking: xe only supports MMAP_WC, BLT, RENDER Kunal Joshi @ 2023-06-09 17:39 ` Patchwork 2023-06-12 5:44 ` [igt-dev] [PATCH i-g-t 0/5] RFC Enable kms_frontbuffer_tracking on XE Modem, Bhanuprakash 6 siblings, 0 replies; 18+ messages in thread From: Patchwork @ 2023-06-09 17:39 UTC (permalink / raw) To: Kunal Joshi; +Cc: igt-dev [-- Attachment #1: Type: text/plain, Size: 7750 bytes --] == Series Details == Series: RFC Enable kms_frontbuffer_tracking on XE (rev5) URL : https://patchwork.freedesktop.org/series/118648/ State : failure == Summary == CI Bug Log - changes from CI_DRM_13256 -> IGTPW_9141 ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with IGTPW_9141 absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in IGTPW_9141, please notify your bug team to allow them to document this new failure mode, which will reduce false positives in CI. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9141/index.html Participating hosts (36 -> 36) ------------------------------ No changes in participating hosts Possible new issues ------------------- Here are the unknown changes that may have been introduced in IGTPW_9141: ### IGT changes ### #### Possible regressions #### * igt@kms_frontbuffer_tracking@basic: - bat-dg2-8: [PASS][1] -> [SKIP][2] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13256/bat-dg2-8/igt@kms_frontbuffer_tracking@basic.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9141/bat-dg2-8/igt@kms_frontbuffer_tracking@basic.html - bat-dg1-5: [PASS][3] -> [SKIP][4] [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13256/bat-dg1-5/igt@kms_frontbuffer_tracking@basic.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9141/bat-dg1-5/igt@kms_frontbuffer_tracking@basic.html - bat-dg2-11: [PASS][5] -> [SKIP][6] [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13256/bat-dg2-11/igt@kms_frontbuffer_tracking@basic.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9141/bat-dg2-11/igt@kms_frontbuffer_tracking@basic.html - bat-dg2-9: [PASS][7] -> [SKIP][8] [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13256/bat-dg2-9/igt@kms_frontbuffer_tracking@basic.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9141/bat-dg2-9/igt@kms_frontbuffer_tracking@basic.html #### Suppressed #### The following results come from untrusted machines, tests, or statuses. They do not affect the overall result. * igt@kms_frontbuffer_tracking@basic: - {bat-mtlp-8}: [PASS][9] -> [SKIP][10] [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13256/bat-mtlp-8/igt@kms_frontbuffer_tracking@basic.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9141/bat-mtlp-8/igt@kms_frontbuffer_tracking@basic.html Known issues ------------ Here are the changes found in IGTPW_9141 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@i915_selftest@live@requests: - bat-rpls-2: [PASS][11] -> [ABORT][12] ([i915#4983] / [i915#7913]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13256/bat-rpls-2/igt@i915_selftest@live@requests.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9141/bat-rpls-2/igt@i915_selftest@live@requests.html * igt@i915_selftest@live@slpc: - bat-rpls-1: NOTRUN -> [DMESG-WARN][13] ([i915#6367]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9141/bat-rpls-1/igt@i915_selftest@live@slpc.html * igt@i915_suspend@basic-s3-without-i915: - bat-rpls-1: NOTRUN -> [ABORT][14] ([i915#6687] / [i915#7978]) [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9141/bat-rpls-1/igt@i915_suspend@basic-s3-without-i915.html * igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence: - bat-adlp-9: NOTRUN -> [SKIP][15] ([i915#3546]) +2 similar issues [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9141/bat-adlp-9/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html * igt@kms_pipe_crc_basic@nonblocking-crc@pipe-c-dp-1: - bat-dg2-8: [PASS][16] -> [FAIL][17] ([i915#7932]) [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13256/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc@pipe-c-dp-1.html [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9141/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc@pipe-c-dp-1.html #### Possible fixes #### * igt@i915_selftest@live@gem_contexts: - {bat-mtlp-8}: [ABORT][18] -> [PASS][19] [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13256/bat-mtlp-8/igt@i915_selftest@live@gem_contexts.html [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9141/bat-mtlp-8/igt@i915_selftest@live@gem_contexts.html * igt@i915_selftest@live@gt_mocs: - {bat-mtlp-6}: [DMESG-FAIL][20] ([i915#7059]) -> [PASS][21] [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13256/bat-mtlp-6/igt@i915_selftest@live@gt_mocs.html [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9141/bat-mtlp-6/igt@i915_selftest@live@gt_mocs.html * igt@i915_selftest@live@reset: - bat-rpls-1: [ABORT][22] ([i915#4983] / [i915#7461] / [i915#7981] / [i915#8347] / [i915#8384]) -> [PASS][23] [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13256/bat-rpls-1/igt@i915_selftest@live@reset.html [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9141/bat-rpls-1/igt@i915_selftest@live@reset.html * igt@i915_selftest@live@slpc: - {bat-mtlp-6}: [DMESG-WARN][24] ([i915#6367]) -> [PASS][25] [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13256/bat-mtlp-6/igt@i915_selftest@live@slpc.html [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9141/bat-mtlp-6/igt@i915_selftest@live@slpc.html * igt@kms_pipe_crc_basic@suspend-read-crc@pipe-c-dp-1: - fi-cfl-8109u: [ABORT][26] -> [PASS][27] [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13256/fi-cfl-8109u/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-c-dp-1.html [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9141/fi-cfl-8109u/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-c-dp-1.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [i915#3546]: https://gitlab.freedesktop.org/drm/intel/issues/3546 [i915#4423]: https://gitlab.freedesktop.org/drm/intel/issues/4423 [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983 [i915#6367]: https://gitlab.freedesktop.org/drm/intel/issues/6367 [i915#6645]: https://gitlab.freedesktop.org/drm/intel/issues/6645 [i915#6687]: https://gitlab.freedesktop.org/drm/intel/issues/6687 [i915#7059]: https://gitlab.freedesktop.org/drm/intel/issues/7059 [i915#7269]: https://gitlab.freedesktop.org/drm/intel/issues/7269 [i915#7461]: https://gitlab.freedesktop.org/drm/intel/issues/7461 [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828 [i915#7913]: https://gitlab.freedesktop.org/drm/intel/issues/7913 [i915#7932]: https://gitlab.freedesktop.org/drm/intel/issues/7932 [i915#7978]: https://gitlab.freedesktop.org/drm/intel/issues/7978 [i915#7981]: https://gitlab.freedesktop.org/drm/intel/issues/7981 [i915#8011]: https://gitlab.freedesktop.org/drm/intel/issues/8011 [i915#8347]: https://gitlab.freedesktop.org/drm/intel/issues/8347 [i915#8384]: https://gitlab.freedesktop.org/drm/intel/issues/8384 Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_7322 -> IGTPW_9141 CI-20190529: 20190529 CI_DRM_13256: be85dc2d44c075230eec4366e27bc1fe75ee59ff @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_9141: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9141/index.html IGT_7322: 2dd77d6d827a308caae49ce3eba759c2bab394ed @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git Testlist changes ---------------- -igt@xe_gt_idle@idle-residency == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9141/index.html [-- Attachment #2: Type: text/html, Size: 8512 bytes --] ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 0/5] RFC Enable kms_frontbuffer_tracking on XE 2023-06-09 10:12 [igt-dev] [PATCH i-g-t 0/5] RFC Enable kms_frontbuffer_tracking on XE Kunal Joshi ` (5 preceding siblings ...) 2023-06-09 17:39 ` [igt-dev] ✗ Fi.CI.BAT: failure for RFC Enable kms_frontbuffer_tracking on XE (rev5) Patchwork @ 2023-06-12 5:44 ` Modem, Bhanuprakash 2023-06-12 5:52 ` Joshi, Kunal1 6 siblings, 1 reply; 18+ messages in thread From: Modem, Bhanuprakash @ 2023-06-12 5:44 UTC (permalink / raw) To: Kunal Joshi, igt-dev Hi Kunal, Apart from the minor comments, this series looks good to me. As pre-merge IGT testing is not enabled for XE, please try to have one round of local execution. Also, make sure it not breaking the i915 testing. - Bhanu On Fri-09-06-2023 03:42 pm, Kunal Joshi wrote: > This series is intended to extend kms_frontbuffer_tracking > test to be supported on xe driver > > Kunal Joshi (5): > RFC tests/i915/kms_frontbuffer_tracking: Add xe support > RFC tests/i915/kms_frontbuffer_tracking: xe doesn't support tiling as > of now > tests/i915/kms_frontbuffer_tracking: all gem ioctls are not supported > for xe as of now > RFC lib/ioctl_wrappers: GEM_SET_DOMAIN ioctl not supported on xe > RFC tests/i915/kms_frontbuffer_tracking: xe only supports MMAP_WC, > BLT, RENDER > > tests/i915/kms_frontbuffer_tracking.c | 84 +++++++++++++++++++-------- > 1 file changed, 61 insertions(+), 23 deletions(-) > ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 0/5] RFC Enable kms_frontbuffer_tracking on XE 2023-06-12 5:44 ` [igt-dev] [PATCH i-g-t 0/5] RFC Enable kms_frontbuffer_tracking on XE Modem, Bhanuprakash @ 2023-06-12 5:52 ` Joshi, Kunal1 0 siblings, 0 replies; 18+ messages in thread From: Joshi, Kunal1 @ 2023-06-12 5:52 UTC (permalink / raw) To: Modem, Bhanuprakash, igt-dev, Hogander, Jouni On 6/12/2023 11:14 AM, Modem, Bhanuprakash wrote: > Hi Kunal, > > Apart from the minor comments, this series looks good to me. > As pre-merge IGT testing is not enabled for XE, please try to have one > round of local execution. Also, make sure it not breaking the i915 > testing. > > - Bhanu > > On Fri-09-06-2023 03:42 pm, Kunal Joshi wrote: >> This series is intended to extend kms_frontbuffer_tracking >> test to be supported on xe driver >> >> Kunal Joshi (5): >> RFC tests/i915/kms_frontbuffer_tracking: Add xe support >> RFC tests/i915/kms_frontbuffer_tracking: xe doesn't support tiling as >> of now >> tests/i915/kms_frontbuffer_tracking: all gem ioctls are not supported >> for xe as of now >> RFC lib/ioctl_wrappers: GEM_SET_DOMAIN ioctl not supported on xe >> RFC tests/i915/kms_frontbuffer_tracking: xe only supports MMAP_WC, >> BLT, RENDER >> >> tests/i915/kms_frontbuffer_tracking.c | 84 +++++++++++++++++++-------- >> 1 file changed, 61 insertions(+), 23 deletions(-) >> Thanks Bhanu, Jouni for the reviews, will float the required changes in next revision, Also will provide local execution result for each combination and check on i915 nothing is breaking. Regards Kunal Joshi ^ permalink raw reply [flat|nested] 18+ messages in thread
* [igt-dev] [PATCH i-g-t 0/5] RFC Enable kms_frontbuffer_tracking on XE
@ 2023-06-06 8:02 Kunal Joshi
2023-06-06 8:02 ` [igt-dev] [PATCH i-g-t 5/5] RFC tests/i915/kms_frontbuffer_tracking: xe only supports MMAP_WC, BLT, RENDER Kunal Joshi
0 siblings, 1 reply; 18+ messages in thread
From: Kunal Joshi @ 2023-06-06 8:02 UTC (permalink / raw)
To: igt-dev; +Cc: kunal1.joshi
This series is intended to extend kms_frontbuffer_tracking
test to be supported on xe driver
Kunal Joshi (5):
RFC tests/i915/kms_frontbuffer_tracking: Add xe support
RFC tests/i915/kms_frontbuffer_tracking: xe doesn't support tiling as
of now
tests/i915/kms_frontbuffer_tracking: all gem ioctls are not supported
for xe as of now
RFC lib/ioctl_wrappers: GEM_SET_DOMAIN ioctl not supported on xe
RFC tests/i915/kms_frontbuffer_tracking: xe only supports MMAP_WC,
BLT, RENDER
lib/ioctl_wrappers.c | 7 ++-
tests/i915/kms_frontbuffer_tracking.c | 83 +++++++++++++++++++--------
2 files changed, 64 insertions(+), 26 deletions(-)
--
2.34.1
^ permalink raw reply [flat|nested] 18+ messages in thread* [igt-dev] [PATCH i-g-t 5/5] RFC tests/i915/kms_frontbuffer_tracking: xe only supports MMAP_WC, BLT, RENDER 2023-06-06 8:02 Kunal Joshi @ 2023-06-06 8:02 ` Kunal Joshi 2023-06-08 11:46 ` Modem, Bhanuprakash 0 siblings, 1 reply; 18+ messages in thread From: Kunal Joshi @ 2023-06-06 8:02 UTC (permalink / raw) To: igt-dev; +Cc: kunal1.joshi xe only supports MMAP_WC, BLT and RENDER methods, Open :- does draw method give guarantee for fb to be rendered on return, if not how to assure, ex for RENDER we have intel_bb_sync Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com> --- tests/i915/kms_frontbuffer_tracking.c | 62 +++++++++++++++++---------- 1 file changed, 39 insertions(+), 23 deletions(-) diff --git a/tests/i915/kms_frontbuffer_tracking.c b/tests/i915/kms_frontbuffer_tracking.c index 9561abef..17aed191 100644 --- a/tests/i915/kms_frontbuffer_tracking.c +++ b/tests/i915/kms_frontbuffer_tracking.c @@ -309,6 +309,16 @@ struct { .stop = true, }; +/* + * returns true if draw method is supported on XE + * Currently xe supports on MMAP_WC, BLT and RENDER + */ +static bool supported_xe_draw_method(enum igt_draw_method method) +{ + return method == IGT_DRAW_MMAP_WC || method == IGT_DRAW_BLT + || method == IGT_DRAW_RENDER; +} + static drmModeModeInfo *get_connector_smallest_mode(igt_output_t *output) { drmModeConnector *c = output->config.connector; @@ -1307,10 +1317,12 @@ static void init_crcs(enum pixel_format format, enum tiling_type tiling, for (r = 0; r < pattern->n_rects; r++) for (r_ = 0; r_ <= r; r_++) draw_rect_igt_fb(pattern, &tmp_fbs[r], - IGT_DRAW_PWRITE, r_); + is_xe_device(drm.fd)?IGT_DRAW_RENDER:IGT_DRAW_PWRITE, + r_); } else { for (r = 0; r < pattern->n_rects; r++) - draw_rect_igt_fb(pattern, &tmp_fbs[r], IGT_DRAW_PWRITE, + draw_rect_igt_fb(pattern, &tmp_fbs[r], + is_xe_device(drm.fd)?IGT_DRAW_RENDER:IGT_DRAW_PWRITE, r); } @@ -3180,6 +3192,9 @@ static void basic_subtest(const struct test_mode *t) fb1 = params->primary.fb; for (r = 0, method = 0; method < IGT_DRAW_METHOD_COUNT; method++) { + if (is_xe_device(drm.fd) && !supported_xe_draw_method(method)) + continue; + if (method == IGT_DRAW_MMAP_GTT && !gem_has_mappable_ggtt(drm.fd)) continue; @@ -3413,29 +3428,30 @@ static const char *tiling_str(enum tiling_type tiling) } #define TEST_MODE_ITER_BEGIN(t) \ - t.format = FORMAT_DEFAULT; \ - t.flip = FLIP_PAGEFLIP; \ - t.tiling = opt.tiling;; \ - for (t.feature = 0; t.feature < FEATURE_COUNT; t.feature++) { \ - for (t.pipes = 0; t.pipes < PIPE_COUNT; t.pipes++) { \ - for (t.screen = 0; t.screen < SCREEN_COUNT; t.screen++) { \ - for (t.plane = 0; t.plane < PLANE_COUNT; t.plane++) { \ - for (t.fbs = 0; t.fbs < FBS_COUNT; t.fbs++) { \ - for (t.method = 0; t.method < IGT_DRAW_METHOD_COUNT; t.method++) { \ - if (t.pipes == PIPE_SINGLE && t.screen == SCREEN_SCND) \ - continue; \ - if (t.screen == SCREEN_OFFSCREEN && t.plane != PLANE_PRI) \ - continue; \ - if (!opt.show_hidden && t.pipes == PIPE_DUAL && \ - t.screen == SCREEN_OFFSCREEN) \ - continue; \ - if (!opt.show_hidden && t.feature == FEATURE_NONE) \ - continue; \ - if (!opt.show_hidden && t.fbs == FBS_SHARED && \ - (t.plane == PLANE_CUR || t.plane == PLANE_SPR)) \ + t.format = FORMAT_DEFAULT; \ + t.flip = FLIP_PAGEFLIP; \ + t.tiling = opt.tiling;; \ + for (t.feature = 0; t.feature < FEATURE_COUNT; t.feature++) { \ + for (t.pipes = 0; t.pipes < PIPE_COUNT; t.pipes++) { \ + for (t.screen = 0; t.screen < SCREEN_COUNT; t.screen++) { \ + for (t.plane = 0; t.plane < PLANE_COUNT; t.plane++) { \ + for (t.fbs = 0; t.fbs < FBS_COUNT; t.fbs++) { \ + for (t.method = 0; t.method < IGT_DRAW_METHOD_COUNT; t.method++) { \ + if (is_xe_device(drm.fd) && !supported_xe_draw_method(t.method)) \ + continue; \ + if (t.pipes == PIPE_SINGLE && t.screen == SCREEN_SCND) \ + continue; \ + if (t.screen == SCREEN_OFFSCREEN && t.plane != PLANE_PRI) \ + continue; \ + if (!opt.show_hidden && t.pipes == PIPE_DUAL && \ + t.screen == SCREEN_OFFSCREEN) \ + continue; \ + if (!opt.show_hidden && t.feature == FEATURE_NONE) \ + continue; \ + if (!opt.show_hidden && t.fbs == FBS_SHARED && \ + (t.plane == PLANE_CUR || t.plane == PLANE_SPR)) \ continue; - #define TEST_MODE_ITER_END } } } } } } struct option long_options[] = { -- 2.34.1 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 5/5] RFC tests/i915/kms_frontbuffer_tracking: xe only supports MMAP_WC, BLT, RENDER 2023-06-06 8:02 ` [igt-dev] [PATCH i-g-t 5/5] RFC tests/i915/kms_frontbuffer_tracking: xe only supports MMAP_WC, BLT, RENDER Kunal Joshi @ 2023-06-08 11:46 ` Modem, Bhanuprakash 2023-06-09 5:47 ` Joshi, Kunal1 0 siblings, 1 reply; 18+ messages in thread From: Modem, Bhanuprakash @ 2023-06-08 11:46 UTC (permalink / raw) To: Kunal Joshi, igt-dev On Tue-06-06-2023 01:32 pm, Kunal Joshi wrote: > xe only supports MMAP_WC, BLT and RENDER methods, > > Open :- does draw method give guarantee for fb to be rendered > on return, if not how to assure, ex for RENDER we have intel_bb_sync > > Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com> > --- > tests/i915/kms_frontbuffer_tracking.c | 62 +++++++++++++++++---------- > 1 file changed, 39 insertions(+), 23 deletions(-) > > diff --git a/tests/i915/kms_frontbuffer_tracking.c b/tests/i915/kms_frontbuffer_tracking.c > index 9561abef..17aed191 100644 > --- a/tests/i915/kms_frontbuffer_tracking.c > +++ b/tests/i915/kms_frontbuffer_tracking.c > @@ -309,6 +309,16 @@ struct { > .stop = true, > }; > > +/* > + * returns true if draw method is supported on XE > + * Currently xe supports on MMAP_WC, BLT and RENDER > + */ > +static bool supported_xe_draw_method(enum igt_draw_method method) > +{ > + return method == IGT_DRAW_MMAP_WC || method == IGT_DRAW_BLT > + || method == IGT_DRAW_RENDER; > +} Please use igt_draw_supports_method() instead of writing your own wrapper. > + > static drmModeModeInfo *get_connector_smallest_mode(igt_output_t *output) > { > drmModeConnector *c = output->config.connector; > @@ -1307,10 +1317,12 @@ static void init_crcs(enum pixel_format format, enum tiling_type tiling, > for (r = 0; r < pattern->n_rects; r++) > for (r_ = 0; r_ <= r; r_++) > draw_rect_igt_fb(pattern, &tmp_fbs[r], > - IGT_DRAW_PWRITE, r_); > + is_xe_device(drm.fd)?IGT_DRAW_RENDER:IGT_DRAW_PWRITE, > + r_); > } else { > for (r = 0; r < pattern->n_rects; r++) > - draw_rect_igt_fb(pattern, &tmp_fbs[r], IGT_DRAW_PWRITE, > + draw_rect_igt_fb(pattern, &tmp_fbs[r], > + is_xe_device(drm.fd)?IGT_DRAW_RENDER:IGT_DRAW_PWRITE, > r); > } > > @@ -3180,6 +3192,9 @@ static void basic_subtest(const struct test_mode *t) > fb1 = params->primary.fb; > > for (r = 0, method = 0; method < IGT_DRAW_METHOD_COUNT; method++) { > + if (is_xe_device(drm.fd) && !supported_xe_draw_method(method)) > + continue; > + > if (method == IGT_DRAW_MMAP_GTT && > !gem_has_mappable_ggtt(drm.fd)) > continue; > @@ -3413,29 +3428,30 @@ static const char *tiling_str(enum tiling_type tiling) > } > > #define TEST_MODE_ITER_BEGIN(t) \ > - t.format = FORMAT_DEFAULT; \ > - t.flip = FLIP_PAGEFLIP; \ > - t.tiling = opt.tiling;; \ > - for (t.feature = 0; t.feature < FEATURE_COUNT; t.feature++) { \ > - for (t.pipes = 0; t.pipes < PIPE_COUNT; t.pipes++) { \ > - for (t.screen = 0; t.screen < SCREEN_COUNT; t.screen++) { \ > - for (t.plane = 0; t.plane < PLANE_COUNT; t.plane++) { \ > - for (t.fbs = 0; t.fbs < FBS_COUNT; t.fbs++) { \ > - for (t.method = 0; t.method < IGT_DRAW_METHOD_COUNT; t.method++) { \ > - if (t.pipes == PIPE_SINGLE && t.screen == SCREEN_SCND) \ > - continue; \ > - if (t.screen == SCREEN_OFFSCREEN && t.plane != PLANE_PRI) \ > - continue; \ > - if (!opt.show_hidden && t.pipes == PIPE_DUAL && \ > - t.screen == SCREEN_OFFSCREEN) \ > - continue; \ > - if (!opt.show_hidden && t.feature == FEATURE_NONE) \ > - continue; \ > - if (!opt.show_hidden && t.fbs == FBS_SHARED && \ > - (t.plane == PLANE_CUR || t.plane == PLANE_SPR)) \ > + t.format = FORMAT_DEFAULT; \ > + t.flip = FLIP_PAGEFLIP; \ > + t.tiling = opt.tiling;; \ > + for (t.feature = 0; t.feature < FEATURE_COUNT; t.feature++) { \ > + for (t.pipes = 0; t.pipes < PIPE_COUNT; t.pipes++) { \ > + for (t.screen = 0; t.screen < SCREEN_COUNT; t.screen++) { \ > + for (t.plane = 0; t.plane < PLANE_COUNT; t.plane++) { \ > + for (t.fbs = 0; t.fbs < FBS_COUNT; t.fbs++) { \ > + for (t.method = 0; t.method < IGT_DRAW_METHOD_COUNT; t.method++) { \ > + if (is_xe_device(drm.fd) && !supported_xe_draw_method(t.method)) \ > + continue; Changes in this macro are irrelevant except above 2 lines. - Bhanu \ > + if (t.pipes == PIPE_SINGLE && t.screen == SCREEN_SCND) \ > + continue; \ > + if (t.screen == SCREEN_OFFSCREEN && t.plane != PLANE_PRI) \ > + continue; \ > + if (!opt.show_hidden && t.pipes == PIPE_DUAL && \ > + t.screen == SCREEN_OFFSCREEN) \ > + continue; \ > + if (!opt.show_hidden && t.feature == FEATURE_NONE) \ > + continue; \ > + if (!opt.show_hidden && t.fbs == FBS_SHARED && \ > + (t.plane == PLANE_CUR || t.plane == PLANE_SPR)) \ > continue; > > - > #define TEST_MODE_ITER_END } } } } } } > > struct option long_options[] = { ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [igt-dev] [PATCH i-g-t 5/5] RFC tests/i915/kms_frontbuffer_tracking: xe only supports MMAP_WC, BLT, RENDER 2023-06-08 11:46 ` Modem, Bhanuprakash @ 2023-06-09 5:47 ` Joshi, Kunal1 0 siblings, 0 replies; 18+ messages in thread From: Joshi, Kunal1 @ 2023-06-09 5:47 UTC (permalink / raw) To: Modem, Bhanuprakash, igt-dev Hello Bhanu, On 6/8/2023 5:16 PM, Modem, Bhanuprakash wrote: > > > On Tue-06-06-2023 01:32 pm, Kunal Joshi wrote: >> xe only supports MMAP_WC, BLT and RENDER methods, >> >> Open :- does draw method give guarantee for fb to be rendered >> on return, if not how to assure, ex for RENDER we have intel_bb_sync >> >> Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com> >> >> +static bool supported_xe_draw_method(enum igt_draw_method method) >> +{ >> + return method == IGT_DRAW_MMAP_WC || method == IGT_DRAW_BLT >> + || method == IGT_DRAW_RENDER; >> +} > > Please use igt_draw_supports_method() instead of writing your own > wrapper. Sure bhanu, thanks for pointing it out, will float next revision with this change > >> + >> static drmModeModeInfo *get_connector_smallest_mode(igt_output_t >> *output) >> { >> drmModeConnector *c = output->config.connector; >> @@ -1307,10 +1317,12 @@ static void init_crcs(enum pixel_format >> format, enum tiling_type tiling, >> for (r = 0; r < pattern->n_rects; r++) >> for (r_ = 0; r_ <= r; r_++) >> draw_rect_igt_fb(pattern, &tmp_fbs[r], >> - IGT_DRAW_PWRITE, r_); >> + is_xe_device(drm.fd)?IGT_DRAW_RENDER:IGT_DRAW_PWRITE, >> + r_); >> } else { >> for (r = 0; r < pattern->n_rects; r++) >> - draw_rect_igt_fb(pattern, &tmp_fbs[r], IGT_DRAW_PWRITE, >> + draw_rect_igt_fb(pattern, &tmp_fbs[r], >> + is_xe_device(drm.fd)?IGT_DRAW_RENDER:IGT_DRAW_PWRITE, >> r); >> } >> @@ -3180,6 +3192,9 @@ static void basic_subtest(const struct >> test_mode *t) >> fb1 = params->primary.fb; >> for (r = 0, method = 0; method < IGT_DRAW_METHOD_COUNT; >> method++) { >> + if (is_xe_device(drm.fd) && !supported_xe_draw_method(method)) >> + continue; >> + >> if (method == IGT_DRAW_MMAP_GTT && >> !gem_has_mappable_ggtt(drm.fd)) >> continue; >> @@ -3413,29 +3428,30 @@ static const char *tiling_str(enum >> tiling_type tiling) >> } >> #define TEST_MODE_ITER_BEGIN(t) \ >> - t.format = FORMAT_DEFAULT; \ >> - t.flip = FLIP_PAGEFLIP; \ >> - t.tiling = opt.tiling;; \ >> - for (t.feature = 0; t.feature < FEATURE_COUNT; t.feature++) >> { \ >> - for (t.pipes = 0; t.pipes < PIPE_COUNT; t.pipes++) { \ >> - for (t.screen = 0; t.screen < SCREEN_COUNT; t.screen++) { \ >> - for (t.plane = 0; t.plane < PLANE_COUNT; t.plane++) { \ >> - for (t.fbs = 0; t.fbs < FBS_COUNT; t.fbs++) { \ >> - for (t.method = 0; t.method < IGT_DRAW_METHOD_COUNT; t.method++) >> { \ >> - if (t.pipes == PIPE_SINGLE && t.screen == SCREEN_SCND) \ >> - continue; \ >> - if (t.screen == SCREEN_OFFSCREEN && t.plane != PLANE_PRI) \ >> - continue; \ >> - if (!opt.show_hidden && t.pipes == PIPE_DUAL && \ >> - t.screen == SCREEN_OFFSCREEN) \ >> - continue; \ >> - if (!opt.show_hidden && t.feature == FEATURE_NONE) \ >> - continue; \ >> - if (!opt.show_hidden && t.fbs == FBS_SHARED && \ >> - (t.plane == PLANE_CUR || t.plane == PLANE_SPR)) \ >> + t.format = >> FORMAT_DEFAULT; \ >> + t.flip = FLIP_PAGEFLIP; \ >> + t.tiling = >> opt.tiling;; \ >> + for (t.feature = 0; t.feature < FEATURE_COUNT; t.feature++) >> { \ >> + for (t.pipes = 0; t.pipes < PIPE_COUNT; t.pipes++) >> { \ >> + for (t.screen = 0; t.screen < SCREEN_COUNT; t.screen++) >> { \ >> + for (t.plane = 0; t.plane < PLANE_COUNT; t.plane++) >> { \ >> + for (t.fbs = 0; t.fbs < FBS_COUNT; t.fbs++) >> { \ >> + for (t.method = 0; t.method < IGT_DRAW_METHOD_COUNT; >> t.method++) { \ >> + if (is_xe_device(drm.fd) && >> !supported_xe_draw_method(t.method)) \ >> + continue; > > Changes in this macro are irrelevant except above 2 lines. Bhanu for the other line i have placed the \ at the end of the line So it looks nice, let me know if its not required > > - Bhanu > \ >> + if (t.pipes == PIPE_SINGLE && t.screen == >> SCREEN_SCND) \ >> + continue; \ >> + if (t.screen == SCREEN_OFFSCREEN && t.plane != >> PLANE_PRI) \ >> + continue; \ >> + if (!opt.show_hidden && t.pipes == PIPE_DUAL >> && \ >> + t.screen == >> SCREEN_OFFSCREEN) \ >> + continue; \ >> + if (!opt.show_hidden && t.feature == >> FEATURE_NONE) \ >> + continue; \ >> + if (!opt.show_hidden && t.fbs == FBS_SHARED >> && \ >> + (t.plane == PLANE_CUR || t.plane == >> PLANE_SPR)) \ >> continue; >> - >> #define TEST_MODE_ITER_END } } } } } } >> struct option long_options[] = { Thanks and Regards Kunal Joshi ^ permalink raw reply [flat|nested] 18+ messages in thread
* [igt-dev] [PATCH i-g-t 0/5] RFC Enable kms_frontbuffer_tracking on XE
@ 2023-06-01 11:48 Kunal Joshi
2023-06-01 11:48 ` [igt-dev] [PATCH i-g-t 5/5] RFC tests/i915/kms_frontbuffer_tracking: xe only supports MMAP_WC, BLT, RENDER Kunal Joshi
0 siblings, 1 reply; 18+ messages in thread
From: Kunal Joshi @ 2023-06-01 11:48 UTC (permalink / raw)
To: igt-dev; +Cc: Kunal Joshi
This series is intended to extend kms_frontbuffer_tracking
test to be supported on xe driver
Kunal Joshi (5):
RFC tests/i915/kms_frontbuffer_tracking: Add xe support
RFC tests/i915/kms_frontbuffer_tracking: xe doesn't support tiling as
of now
tests/i915/kms_frontbuffer_tracking: all gem ioctls are not supported
for xe as of now
RFC lib/ioctl_wrappers: GEM_SET_DOMAIN ioctl not supported on xe
RFC tests/i915/kms_frontbuffer_tracking: xe only supports MMAP_WC,
BLT, RENDER
lib/ioctl_wrappers.c | 7 ++-
tests/i915/kms_frontbuffer_tracking.c | 83 +++++++++++++++++++--------
2 files changed, 64 insertions(+), 26 deletions(-)
--
2.25.1
^ permalink raw reply [flat|nested] 18+ messages in thread* [igt-dev] [PATCH i-g-t 5/5] RFC tests/i915/kms_frontbuffer_tracking: xe only supports MMAP_WC, BLT, RENDER 2023-06-01 11:48 [igt-dev] [PATCH i-g-t 0/5] RFC Enable kms_frontbuffer_tracking on XE Kunal Joshi @ 2023-06-01 11:48 ` Kunal Joshi 0 siblings, 0 replies; 18+ messages in thread From: Kunal Joshi @ 2023-06-01 11:48 UTC (permalink / raw) To: igt-dev; +Cc: Kunal Joshi xe only supports MMAP_WC, BLT and RENDER methods, Open :- does draw method give guarantee for fb to be rendered on return, if not how to assure, ex for RENDER we have intel_bb_sync Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com> --- tests/i915/kms_frontbuffer_tracking.c | 62 +++++++++++++++++---------- 1 file changed, 39 insertions(+), 23 deletions(-) diff --git a/tests/i915/kms_frontbuffer_tracking.c b/tests/i915/kms_frontbuffer_tracking.c index e31918e8..49260626 100644 --- a/tests/i915/kms_frontbuffer_tracking.c +++ b/tests/i915/kms_frontbuffer_tracking.c @@ -309,6 +309,16 @@ struct { .stop = true, }; +/* + * returns true if draw method is supported on XE + * Currently xe supports on MMAP_WC, BLT and RENDER + */ +static bool supported_xe_draw_method(enum igt_draw_method method) +{ + return method == IGT_DRAW_MMAP_WC || method == IGT_DRAW_BLT + || method == IGT_DRAW_RENDER; +} + static drmModeModeInfo *get_connector_smallest_mode(igt_output_t *output) { drmModeConnector *c = output->config.connector; @@ -1307,10 +1317,12 @@ static void init_crcs(enum pixel_format format, enum tiling_type tiling, for (r = 0; r < pattern->n_rects; r++) for (r_ = 0; r_ <= r; r_++) draw_rect_igt_fb(pattern, &tmp_fbs[r], - IGT_DRAW_PWRITE, r_); + is_xe_device(drm.fd)?IGT_DRAW_RENDER:IGT_DRAW_PWRITE, + r_); } else { for (r = 0; r < pattern->n_rects; r++) - draw_rect_igt_fb(pattern, &tmp_fbs[r], IGT_DRAW_PWRITE, + draw_rect_igt_fb(pattern, &tmp_fbs[r], + is_xe_device(drm.fd)?IGT_DRAW_RENDER:IGT_DRAW_PWRITE, r); } @@ -3180,6 +3192,9 @@ static void basic_subtest(const struct test_mode *t) fb1 = params->primary.fb; for (r = 0, method = 0; method < IGT_DRAW_METHOD_COUNT; method++) { + if (is_xe_device(drm.fd) && !supported_xe_draw_method(method)) + continue; + if (method == IGT_DRAW_MMAP_GTT && !gem_has_mappable_ggtt(drm.fd)) continue; @@ -3413,29 +3428,30 @@ static const char *tiling_str(enum tiling_type tiling) } #define TEST_MODE_ITER_BEGIN(t) \ - t.format = FORMAT_DEFAULT; \ - t.flip = FLIP_PAGEFLIP; \ - t.tiling = opt.tiling;; \ - for (t.feature = 0; t.feature < FEATURE_COUNT; t.feature++) { \ - for (t.pipes = 0; t.pipes < PIPE_COUNT; t.pipes++) { \ - for (t.screen = 0; t.screen < SCREEN_COUNT; t.screen++) { \ - for (t.plane = 0; t.plane < PLANE_COUNT; t.plane++) { \ - for (t.fbs = 0; t.fbs < FBS_COUNT; t.fbs++) { \ - for (t.method = 0; t.method < IGT_DRAW_METHOD_COUNT; t.method++) { \ - if (t.pipes == PIPE_SINGLE && t.screen == SCREEN_SCND) \ - continue; \ - if (t.screen == SCREEN_OFFSCREEN && t.plane != PLANE_PRI) \ - continue; \ - if (!opt.show_hidden && t.pipes == PIPE_DUAL && \ - t.screen == SCREEN_OFFSCREEN) \ - continue; \ - if (!opt.show_hidden && t.feature == FEATURE_NONE) \ - continue; \ - if (!opt.show_hidden && t.fbs == FBS_SHARED && \ - (t.plane == PLANE_CUR || t.plane == PLANE_SPR)) \ + t.format = FORMAT_DEFAULT; \ + t.flip = FLIP_PAGEFLIP; \ + t.tiling = opt.tiling;; \ + for (t.feature = 0; t.feature < FEATURE_COUNT; t.feature++) { \ + for (t.pipes = 0; t.pipes < PIPE_COUNT; t.pipes++) { \ + for (t.screen = 0; t.screen < SCREEN_COUNT; t.screen++) { \ + for (t.plane = 0; t.plane < PLANE_COUNT; t.plane++) { \ + for (t.fbs = 0; t.fbs < FBS_COUNT; t.fbs++) { \ + for (t.method = 0; t.method < IGT_DRAW_METHOD_COUNT; t.method++) { \ + if (is_xe_device(drm.fd) && !supported_xe_draw_method(t.method)) \ + continue; \ + if (t.pipes == PIPE_SINGLE && t.screen == SCREEN_SCND) \ + continue; \ + if (t.screen == SCREEN_OFFSCREEN && t.plane != PLANE_PRI) \ + continue; \ + if (!opt.show_hidden && t.pipes == PIPE_DUAL && \ + t.screen == SCREEN_OFFSCREEN) \ + continue; \ + if (!opt.show_hidden && t.feature == FEATURE_NONE) \ + continue; \ + if (!opt.show_hidden && t.fbs == FBS_SHARED && \ + (t.plane == PLANE_CUR || t.plane == PLANE_SPR)) \ continue; - #define TEST_MODE_ITER_END } } } } } } struct option long_options[] = { -- 2.25.1 ^ permalink raw reply related [flat|nested] 18+ messages in thread
end of thread, other threads:[~2023-06-12 5:52 UTC | newest] Thread overview: 18+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-06-09 10:12 [igt-dev] [PATCH i-g-t 0/5] RFC Enable kms_frontbuffer_tracking on XE Kunal Joshi 2023-06-09 10:12 ` [igt-dev] [PATCH i-g-t 1/5] RFC tests/i915/kms_frontbuffer_tracking: Add xe support Kunal Joshi 2023-06-12 5:23 ` Modem, Bhanuprakash 2023-06-09 10:12 ` [igt-dev] [PATCH i-g-t 2/5] RFC tests/i915/kms_frontbuffer_tracking: xe doesn't support tiling as of now Kunal Joshi 2023-06-12 5:26 ` Modem, Bhanuprakash 2023-06-09 10:12 ` [igt-dev] [PATCH i-g-t 3/5] tests/i915/kms_frontbuffer_tracking: all gem ioctls are not supported for xe " Kunal Joshi 2023-06-12 5:37 ` Modem, Bhanuprakash 2023-06-09 10:12 ` [igt-dev] [PATCH i-g-t 4/5] RFC lib/ioctl_wrappers: GEM_SET_DOMAIN ioctl not supported on xe Kunal Joshi 2023-06-12 5:38 ` Modem, Bhanuprakash 2023-06-09 10:12 ` [igt-dev] [PATCH i-g-t 5/5] RFC tests/i915/kms_frontbuffer_tracking: xe only supports MMAP_WC, BLT, RENDER Kunal Joshi 2023-06-12 5:40 ` Modem, Bhanuprakash 2023-06-09 17:39 ` [igt-dev] ✗ Fi.CI.BAT: failure for RFC Enable kms_frontbuffer_tracking on XE (rev5) Patchwork 2023-06-12 5:44 ` [igt-dev] [PATCH i-g-t 0/5] RFC Enable kms_frontbuffer_tracking on XE Modem, Bhanuprakash 2023-06-12 5:52 ` Joshi, Kunal1 -- strict thread matches above, loose matches on Subject: below -- 2023-06-06 8:02 Kunal Joshi 2023-06-06 8:02 ` [igt-dev] [PATCH i-g-t 5/5] RFC tests/i915/kms_frontbuffer_tracking: xe only supports MMAP_WC, BLT, RENDER Kunal Joshi 2023-06-08 11:46 ` Modem, Bhanuprakash 2023-06-09 5:47 ` Joshi, Kunal1 2023-06-01 11:48 [igt-dev] [PATCH i-g-t 0/5] RFC Enable kms_frontbuffer_tracking on XE Kunal Joshi 2023-06-01 11:48 ` [igt-dev] [PATCH i-g-t 5/5] RFC tests/i915/kms_frontbuffer_tracking: xe only supports MMAP_WC, BLT, RENDER Kunal Joshi
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox