* [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 1/5] RFC tests/i915/kms_frontbuffer_tracking: Add xe support Kunal Joshi
` (6 more replies)
0 siblings, 7 replies; 15+ 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] 15+ messages in thread* [igt-dev] [PATCH i-g-t 1/5] RFC tests/i915/kms_frontbuffer_tracking: Add xe support 2023-06-06 8:02 [igt-dev] [PATCH i-g-t 0/5] RFC Enable kms_frontbuffer_tracking on XE Kunal Joshi @ 2023-06-06 8:02 ` Kunal Joshi 2023-06-06 8:02 ` [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, 0 replies; 15+ messages in thread From: Kunal Joshi @ 2023-06-06 8:02 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] 15+ 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-06 8:02 [igt-dev] [PATCH i-g-t 0/5] RFC Enable kms_frontbuffer_tracking on XE Kunal Joshi 2023-06-06 8:02 ` [igt-dev] [PATCH i-g-t 1/5] RFC tests/i915/kms_frontbuffer_tracking: Add xe support Kunal Joshi @ 2023-06-06 8:02 ` Kunal Joshi 2023-06-06 8:02 ` [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, 0 replies; 15+ messages in thread From: Kunal Joshi @ 2023-06-06 8:02 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 Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com> --- tests/i915/kms_frontbuffer_tracking.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/tests/i915/kms_frontbuffer_tracking.c b/tests/i915/kms_frontbuffer_tracking.c index c2b99670..4bb4b2f5 100644 --- a/tests/i915/kms_frontbuffer_tracking.c +++ b/tests/i915/kms_frontbuffer_tracking.c @@ -1340,6 +1340,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,9 @@ igt_main_args("", long_options, help_str, opt_handler, NULL) for (t.tiling = TILING_LINEAR; t.tiling < TILING_COUNT; t.tiling++) { + if (is_xe_device(drm.fd) && t.tiling != TILING_LINEAR) + continue; + if (t.tiling == TILING_X) continue; -- 2.34.1 ^ permalink raw reply related [flat|nested] 15+ 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-06 8:02 [igt-dev] [PATCH i-g-t 0/5] RFC Enable kms_frontbuffer_tracking on XE Kunal Joshi 2023-06-06 8:02 ` [igt-dev] [PATCH i-g-t 1/5] RFC tests/i915/kms_frontbuffer_tracking: Add xe support Kunal Joshi 2023-06-06 8:02 ` [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-06 8:02 ` Kunal Joshi 2023-06-06 8:02 ` [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, 0 replies; 15+ messages in thread From: Kunal Joshi @ 2023-06-06 8:02 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 4bb4b2f5..9561abef 100644 --- a/tests/i915/kms_frontbuffer_tracking.c +++ b/tests/i915/kms_frontbuffer_tracking.c @@ -3700,7 +3700,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] 15+ 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-06 8:02 [igt-dev] [PATCH i-g-t 0/5] RFC Enable kms_frontbuffer_tracking on XE Kunal Joshi ` (2 preceding siblings ...) 2023-06-06 8:02 ` [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-06 8:02 ` Kunal Joshi 2023-06-08 11:42 ` Modem, Bhanuprakash 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 ` (2 subsequent siblings) 6 siblings, 1 reply; 15+ messages in thread From: Kunal Joshi @ 2023-06-06 8:02 UTC (permalink / raw) To: igt-dev; +Cc: kunal1.joshi xe doesn't support GEM_SET_DOMAIN ioctl Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com> --- lib/ioctl_wrappers.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/ioctl_wrappers.c b/lib/ioctl_wrappers.c index ebd8a2f3..1180d4c6 100644 --- a/lib/ioctl_wrappers.c +++ b/lib/ioctl_wrappers.c @@ -534,7 +534,12 @@ int __gem_set_domain(int fd, uint32_t handle, uint32_t read, uint32_t write) */ void gem_set_domain(int fd, uint32_t handle, uint32_t read, uint32_t write) { - int ret = __gem_set_domain(fd, handle, read, write); + int ret; + + if (is_xe_device(fd)) + return; + + ret = __gem_set_domain(fd, handle, read, write); if (ret == -ENODEV && gem_has_lmem(fd)) igt_assert_eq(gem_wait(fd, handle, 0), 0); -- 2.34.1 ^ permalink raw reply related [flat|nested] 15+ 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-06 8:02 ` [igt-dev] [PATCH i-g-t 4/5] RFC lib/ioctl_wrappers: GEM_SET_DOMAIN ioctl not supported on xe Kunal Joshi @ 2023-06-08 11:42 ` Modem, Bhanuprakash 2023-06-09 5:57 ` Joshi, Kunal1 0 siblings, 1 reply; 15+ messages in thread From: Modem, Bhanuprakash @ 2023-06-08 11:42 UTC (permalink / raw) To: Kunal Joshi, igt-dev Hi Kunal, On Tue-06-06-2023 01:32 pm, Kunal Joshi wrote: > xe doesn't support GEM_SET_DOMAIN ioctl > > Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com> > --- > lib/ioctl_wrappers.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/lib/ioctl_wrappers.c b/lib/ioctl_wrappers.c > index ebd8a2f3..1180d4c6 100644 > --- a/lib/ioctl_wrappers.c > +++ b/lib/ioctl_wrappers.c > @@ -534,7 +534,12 @@ int __gem_set_domain(int fd, uint32_t handle, uint32_t read, uint32_t write) > */ > void gem_set_domain(int fd, uint32_t handle, uint32_t read, uint32_t write) > { > - int ret = __gem_set_domain(fd, handle, read, write); > + int ret; > + > + if (is_xe_device(fd)) > + return; > + > + ret = __gem_set_domain(fd, handle, read, write); I think this must be handled in test level. Instead of modifying the helper don't call it in case of Xe. - Bhanu > > if (ret == -ENODEV && gem_has_lmem(fd)) > igt_assert_eq(gem_wait(fd, handle, 0), 0); ^ permalink raw reply [flat|nested] 15+ 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-08 11:42 ` Modem, Bhanuprakash @ 2023-06-09 5:57 ` Joshi, Kunal1 0 siblings, 0 replies; 15+ messages in thread From: Joshi, Kunal1 @ 2023-06-09 5:57 UTC (permalink / raw) To: Modem, Bhanuprakash, igt-dev On 6/8/2023 5:12 PM, Modem, Bhanuprakash wrote: > Hi Kunal, > > On Tue-06-06-2023 01:32 pm, Kunal Joshi wrote: >> xe doesn't support GEM_SET_DOMAIN ioctl >> >> Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com> >> --- >> lib/ioctl_wrappers.c | 7 ++++++- >> 1 file changed, 6 insertions(+), 1 deletion(-) >> >> diff --git a/lib/ioctl_wrappers.c b/lib/ioctl_wrappers.c >> index ebd8a2f3..1180d4c6 100644 >> --- a/lib/ioctl_wrappers.c >> +++ b/lib/ioctl_wrappers.c >> @@ -534,7 +534,12 @@ int __gem_set_domain(int fd, uint32_t handle, >> uint32_t read, uint32_t write) >> */ >> void gem_set_domain(int fd, uint32_t handle, uint32_t read, >> uint32_t write) >> { >> - int ret = __gem_set_domain(fd, handle, read, write); >> + int ret; >> + >> + if (is_xe_device(fd)) >> + return; >> + >> + ret = __gem_set_domain(fd, handle, read, write); > > I think this must be handled in test level. Instead of modifying the > helper don't call it in case of Xe. > igt_assert_eq(gem_wait(fd, handle, 0), 0); I think it will be good if we can place it here Also some library helpers calls this i think will have to place checks there too But let me know your thoughts Thanks and Regards Kunal Joshi ^ permalink raw reply [flat|nested] 15+ 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 [igt-dev] [PATCH i-g-t 0/5] RFC Enable kms_frontbuffer_tracking on XE Kunal Joshi ` (3 preceding siblings ...) 2023-06-06 8:02 ` [igt-dev] [PATCH i-g-t 4/5] RFC lib/ioctl_wrappers: GEM_SET_DOMAIN ioctl not supported on xe Kunal Joshi @ 2023-06-06 8:02 ` Kunal Joshi 2023-06-08 11:46 ` Modem, Bhanuprakash 2023-06-06 8:56 ` [igt-dev] ✓ Fi.CI.BAT: success for RFC Enable kms_frontbuffer_tracking on XE (rev4) Patchwork 2023-06-07 0:28 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork 6 siblings, 1 reply; 15+ 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] 15+ 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; 15+ 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] 15+ 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; 15+ 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] 15+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for RFC Enable kms_frontbuffer_tracking on XE (rev4) 2023-06-06 8:02 [igt-dev] [PATCH i-g-t 0/5] RFC Enable kms_frontbuffer_tracking on XE Kunal Joshi ` (4 preceding siblings ...) 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-06 8:56 ` Patchwork 2023-06-07 0:28 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork 6 siblings, 0 replies; 15+ messages in thread From: Patchwork @ 2023-06-06 8:56 UTC (permalink / raw) To: Kunal Joshi; +Cc: igt-dev [-- Attachment #1: Type: text/plain, Size: 5759 bytes --] == Series Details == Series: RFC Enable kms_frontbuffer_tracking on XE (rev4) URL : https://patchwork.freedesktop.org/series/118648/ State : success == Summary == CI Bug Log - changes from CI_DRM_13234 -> IGTPW_9111 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9111/index.html Participating hosts (38 -> 36) ------------------------------ Missing (2): fi-kbl-soraka fi-snb-2520m Possible new issues ------------------- Here are the unknown changes that may have been introduced in IGTPW_9111: ### IGT changes ### #### Suppressed #### The following results come from untrusted machines, tests, or statuses. They do not affect the overall result. * igt@kms_pipe_crc_basic@read-crc@pipe-d-dp-5: - {bat-adlp-11}: NOTRUN -> [FAIL][1] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9111/bat-adlp-11/igt@kms_pipe_crc_basic@read-crc@pipe-d-dp-5.html Known issues ------------ Here are the changes found in IGTPW_9111 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@i915_selftest@live@migrate: - bat-dg2-11: [PASS][2] -> [DMESG-WARN][3] ([i915#7699]) [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13234/bat-dg2-11/igt@i915_selftest@live@migrate.html [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9111/bat-dg2-11/igt@i915_selftest@live@migrate.html * igt@i915_selftest@live@reset: - bat-rpls-1: [PASS][4] -> [ABORT][5] ([i915#4983] / [i915#7461] / [i915#7981] / [i915#8347] / [i915#8384]) [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13234/bat-rpls-1/igt@i915_selftest@live@reset.html [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9111/bat-rpls-1/igt@i915_selftest@live@reset.html * igt@i915_suspend@basic-s2idle-without-i915: - bat-rpls-2: NOTRUN -> [ABORT][6] ([i915#6687]) [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9111/bat-rpls-2/igt@i915_suspend@basic-s2idle-without-i915.html * igt@kms_pipe_crc_basic@nonblocking-crc@pipe-c-dp-1: - bat-dg2-8: [PASS][7] -> [FAIL][8] ([i915#7932]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13234/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc@pipe-c-dp-1.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9111/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc@pipe-c-dp-1.html #### Possible fixes #### * igt@i915_pm_rpm@basic-pci-d3-state: - {bat-mtlp-8}: [ABORT][9] ([i915#7953]) -> [PASS][10] [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13234/bat-mtlp-8/igt@i915_pm_rpm@basic-pci-d3-state.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9111/bat-mtlp-8/igt@i915_pm_rpm@basic-pci-d3-state.html * igt@i915_selftest@live@reset: - bat-rpls-2: [ABORT][11] ([i915#4983] / [i915#7461] / [i915#7913] / [i915#7981] / [i915#8347]) -> [PASS][12] [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13234/bat-rpls-2/igt@i915_selftest@live@reset.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9111/bat-rpls-2/igt@i915_selftest@live@reset.html * {igt@kms_pipe_crc_basic@compare-crc-sanitycheck-xr24@pipe-d-dp-5}: - {bat-adlp-11}: [ABORT][13] ([i915#4423]) -> [PASS][14] [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13234/bat-adlp-11/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-xr24@pipe-d-dp-5.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9111/bat-adlp-11/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-xr24@pipe-d-dp-5.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072 [i915#3546]: https://gitlab.freedesktop.org/drm/intel/issues/3546 [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708 [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077 [i915#4423]: https://gitlab.freedesktop.org/drm/intel/issues/4423 [i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579 [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613 [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983 [i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621 [i915#6645]: https://gitlab.freedesktop.org/drm/intel/issues/6645 [i915#6687]: https://gitlab.freedesktop.org/drm/intel/issues/6687 [i915#6868]: https://gitlab.freedesktop.org/drm/intel/issues/6868 [i915#7461]: https://gitlab.freedesktop.org/drm/intel/issues/7461 [i915#7699]: https://gitlab.freedesktop.org/drm/intel/issues/7699 [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#7953]: https://gitlab.freedesktop.org/drm/intel/issues/7953 [i915#7981]: https://gitlab.freedesktop.org/drm/intel/issues/7981 [i915#8260]: https://gitlab.freedesktop.org/drm/intel/issues/8260 [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_7319 -> IGTPW_9111 CI-20190529: 20190529 CI_DRM_13234: cb7bb5b791053c0ff10e314d24e6752795283803 @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_9111: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9111/index.html IGT_7319: 2e1bcd49944452b5f9516eecee48e1fa3ae6a636 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9111/index.html [-- Attachment #2: Type: text/html, Size: 6063 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* [igt-dev] ✓ Fi.CI.IGT: success for RFC Enable kms_frontbuffer_tracking on XE (rev4) 2023-06-06 8:02 [igt-dev] [PATCH i-g-t 0/5] RFC Enable kms_frontbuffer_tracking on XE Kunal Joshi ` (5 preceding siblings ...) 2023-06-06 8:56 ` [igt-dev] ✓ Fi.CI.BAT: success for RFC Enable kms_frontbuffer_tracking on XE (rev4) Patchwork @ 2023-06-07 0:28 ` Patchwork 6 siblings, 0 replies; 15+ messages in thread From: Patchwork @ 2023-06-07 0:28 UTC (permalink / raw) To: Kunal Joshi; +Cc: igt-dev [-- Attachment #1: Type: text/plain, Size: 15015 bytes --] == Series Details == Series: RFC Enable kms_frontbuffer_tracking on XE (rev4) URL : https://patchwork.freedesktop.org/series/118648/ State : success == Summary == CI Bug Log - changes from CI_DRM_13234_full -> IGTPW_9111_full ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9111/index.html Participating hosts (7 -> 7) ------------------------------ No changes in participating hosts Known issues ------------ Here are the changes found in IGTPW_9111_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_exec_fair@basic-pace-share@rcs0: - shard-glk: [PASS][1] -> [FAIL][2] ([i915#2842]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13234/shard-glk5/igt@gem_exec_fair@basic-pace-share@rcs0.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9111/shard-glk8/igt@gem_exec_fair@basic-pace-share@rcs0.html * igt@i915_pm_dc@dc9-dpms: - shard-apl: [PASS][3] -> [SKIP][4] ([fdo#109271]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13234/shard-apl4/igt@i915_pm_dc@dc9-dpms.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9111/shard-apl7/igt@i915_pm_dc@dc9-dpms.html * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions: - shard-apl: [PASS][5] -> [FAIL][6] ([i915#2346]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13234/shard-apl4/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9111/shard-apl7/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size: - shard-glk: [PASS][7] -> [FAIL][8] ([i915#2346]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13234/shard-glk5/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9111/shard-glk6/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-cpu: - shard-snb: [PASS][9] -> [SKIP][10] ([fdo#109271]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13234/shard-snb1/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-cpu.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9111/shard-snb2/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-cpu.html * igt@kms_plane_scaling@plane-upscale-with-modifiers-factor-0-25@pipe-b-hdmi-a-1: - shard-snb: NOTRUN -> [SKIP][11] ([fdo#109271] / [i915#4579]) +8 similar issues [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9111/shard-snb1/igt@kms_plane_scaling@plane-upscale-with-modifiers-factor-0-25@pipe-b-hdmi-a-1.html * igt@kms_tv_load_detect@load-detect: - shard-snb: NOTRUN -> [SKIP][12] ([fdo#109271]) +42 similar issues [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9111/shard-snb2/igt@kms_tv_load_detect@load-detect.html #### Possible fixes #### * igt@gem_ctx_exec@basic-nohangcheck: - {shard-rkl}: [FAIL][13] ([i915#6268]) -> [PASS][14] [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13234/shard-rkl-4/igt@gem_ctx_exec@basic-nohangcheck.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9111/shard-rkl-6/igt@gem_ctx_exec@basic-nohangcheck.html * igt@gem_exec_fair@basic-deadline: - shard-glk: [FAIL][15] ([i915#2846]) -> [PASS][16] [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13234/shard-glk8/igt@gem_exec_fair@basic-deadline.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9111/shard-glk4/igt@gem_exec_fair@basic-deadline.html * igt@gem_exec_fair@basic-pace-share@rcs0: - {shard-rkl}: [FAIL][17] ([i915#2842]) -> [PASS][18] +1 similar issue [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13234/shard-rkl-6/igt@gem_exec_fair@basic-pace-share@rcs0.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9111/shard-rkl-7/igt@gem_exec_fair@basic-pace-share@rcs0.html * igt@gem_exec_fair@basic-pace-solo@rcs0: - shard-apl: [FAIL][19] ([i915#2842]) -> [PASS][20] [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13234/shard-apl7/igt@gem_exec_fair@basic-pace-solo@rcs0.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9111/shard-apl2/igt@gem_exec_fair@basic-pace-solo@rcs0.html * igt@i915_pm_dc@dc6-dpms: - {shard-tglu}: [FAIL][21] ([i915#3989] / [i915#454]) -> [PASS][22] [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13234/shard-tglu-4/igt@i915_pm_dc@dc6-dpms.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9111/shard-tglu-2/igt@i915_pm_dc@dc6-dpms.html * igt@i915_pm_dc@dc9-dpms: - {shard-tglu}: [SKIP][23] ([i915#4281]) -> [PASS][24] [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13234/shard-tglu-9/igt@i915_pm_dc@dc9-dpms.html [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9111/shard-tglu-2/igt@i915_pm_dc@dc9-dpms.html * igt@i915_pm_rpm@modeset-lpsp-stress: - {shard-rkl}: [SKIP][25] ([i915#1397]) -> [PASS][26] +1 similar issue [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13234/shard-rkl-6/igt@i915_pm_rpm@modeset-lpsp-stress.html [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9111/shard-rkl-7/igt@i915_pm_rpm@modeset-lpsp-stress.html * igt@i915_pm_rpm@modeset-non-lpsp-stress: - {shard-dg1}: [SKIP][27] ([i915#1397]) -> [PASS][28] [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13234/shard-dg1-19/igt@i915_pm_rpm@modeset-non-lpsp-stress.html [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9111/shard-dg1-12/igt@i915_pm_rpm@modeset-non-lpsp-stress.html * igt@i915_pm_rps@reset: - shard-snb: [DMESG-FAIL][29] ([i915#8319]) -> [PASS][30] [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13234/shard-snb4/igt@i915_pm_rps@reset.html [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9111/shard-snb2/igt@i915_pm_rps@reset.html * igt@kms_cursor_legacy@forked-bo@pipe-b: - {shard-dg1}: [INCOMPLETE][31] ([i915#8011] / [i915#8347]) -> [PASS][32] [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13234/shard-dg1-19/igt@kms_cursor_legacy@forked-bo@pipe-b.html [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9111/shard-dg1-14/igt@kms_cursor_legacy@forked-bo@pipe-b.html * igt@kms_draw_crc@draw-method-blt@xrgb2101010-ytiled: - shard-glk: [DMESG-WARN][33] ([i915#7936]) -> [PASS][34] [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13234/shard-glk7/igt@kms_draw_crc@draw-method-blt@xrgb2101010-ytiled.html [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9111/shard-glk8/igt@kms_draw_crc@draw-method-blt@xrgb2101010-ytiled.html * igt@kms_fbcon_fbt@fbc-suspend: - shard-apl: [FAIL][35] ([i915#4767]) -> [PASS][36] [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13234/shard-apl6/igt@kms_fbcon_fbt@fbc-suspend.html [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9111/shard-apl2/igt@kms_fbcon_fbt@fbc-suspend.html * igt@kms_flip@2x-flip-vs-expired-vblank@ab-hdmi-a1-hdmi-a2: - shard-glk: [FAIL][37] ([i915#2122]) -> [PASS][38] +1 similar issue [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13234/shard-glk9/igt@kms_flip@2x-flip-vs-expired-vblank@ab-hdmi-a1-hdmi-a2.html [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9111/shard-glk6/igt@kms_flip@2x-flip-vs-expired-vblank@ab-hdmi-a1-hdmi-a2.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274 [fdo#109279]: https://bugs.freedesktop.org/show_bug.cgi?id=109279 [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280 [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285 [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289 [fdo#109300]: https://bugs.freedesktop.org/show_bug.cgi?id=109300 [fdo#109302]: https://bugs.freedesktop.org/show_bug.cgi?id=109302 [fdo#109303]: https://bugs.freedesktop.org/show_bug.cgi?id=109303 [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315 [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189 [fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723 [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068 [fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614 [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615 [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825 [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072 [i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397 [i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825 [i915#1937]: https://gitlab.freedesktop.org/drm/intel/issues/1937 [i915#2122]: https://gitlab.freedesktop.org/drm/intel/issues/2122 [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346 [i915#2435]: https://gitlab.freedesktop.org/drm/intel/issues/2435 [i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527 [i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575 [i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587 [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672 [i915#280]: https://gitlab.freedesktop.org/drm/intel/issues/280 [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842 [i915#2846]: https://gitlab.freedesktop.org/drm/intel/issues/2846 [i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856 [i915#3023]: https://gitlab.freedesktop.org/drm/intel/issues/3023 [i915#3116]: https://gitlab.freedesktop.org/drm/intel/issues/3116 [i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281 [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282 [i915#3318]: https://gitlab.freedesktop.org/drm/intel/issues/3318 [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359 [i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458 [i915#3469]: https://gitlab.freedesktop.org/drm/intel/issues/3469 [i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539 [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555 [i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637 [i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638 [i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689 [i915#3734]: https://gitlab.freedesktop.org/drm/intel/issues/3734 [i915#3743]: https://gitlab.freedesktop.org/drm/intel/issues/3743 [i915#3804]: https://gitlab.freedesktop.org/drm/intel/issues/3804 [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886 [i915#3989]: https://gitlab.freedesktop.org/drm/intel/issues/3989 [i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070 [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077 [i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078 [i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098 [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212 [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270 [i915#4281]: https://gitlab.freedesktop.org/drm/intel/issues/4281 [i915#4349]: https://gitlab.freedesktop.org/drm/intel/issues/4349 [i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538 [i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454 [i915#4565]: https://gitlab.freedesktop.org/drm/intel/issues/4565 [i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579 [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613 [i915#4767]: https://gitlab.freedesktop.org/drm/intel/issues/4767 [i915#4812]: https://gitlab.freedesktop.org/drm/intel/issues/4812 [i915#4816]: https://gitlab.freedesktop.org/drm/intel/issues/4816 [i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852 [i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860 [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176 [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235 [i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286 [i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289 [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354 [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095 [i915#6268]: https://gitlab.freedesktop.org/drm/intel/issues/6268 [i915#6334]: https://gitlab.freedesktop.org/drm/intel/issues/6334 [i915#6433]: https://gitlab.freedesktop.org/drm/intel/issues/6433 [i915#6524]: https://gitlab.freedesktop.org/drm/intel/issues/6524 [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658 [i915#6768]: https://gitlab.freedesktop.org/drm/intel/issues/6768 [i915#6953]: https://gitlab.freedesktop.org/drm/intel/issues/6953 [i915#7116]: https://gitlab.freedesktop.org/drm/intel/issues/7116 [i915#7707]: https://gitlab.freedesktop.org/drm/intel/issues/7707 [i915#7711]: https://gitlab.freedesktop.org/drm/intel/issues/7711 [i915#7742]: https://gitlab.freedesktop.org/drm/intel/issues/7742 [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828 [i915#7936]: https://gitlab.freedesktop.org/drm/intel/issues/7936 [i915#7959]: https://gitlab.freedesktop.org/drm/intel/issues/7959 [i915#8011]: https://gitlab.freedesktop.org/drm/intel/issues/8011 [i915#8211]: https://gitlab.freedesktop.org/drm/intel/issues/8211 [i915#8228]: https://gitlab.freedesktop.org/drm/intel/issues/8228 [i915#8234]: https://gitlab.freedesktop.org/drm/intel/issues/8234 [i915#8304]: https://gitlab.freedesktop.org/drm/intel/issues/8304 [i915#8319]: https://gitlab.freedesktop.org/drm/intel/issues/8319 [i915#8347]: https://gitlab.freedesktop.org/drm/intel/issues/8347 [i915#8411]: https://gitlab.freedesktop.org/drm/intel/issues/8411 [i915#8502]: https://gitlab.freedesktop.org/drm/intel/issues/8502 Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_7319 -> IGTPW_9111 * Piglit: piglit_4509 -> None CI-20190529: 20190529 CI_DRM_13234: cb7bb5b791053c0ff10e314d24e6752795283803 @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_9111: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9111/index.html IGT_7319: 2e1bcd49944452b5f9516eecee48e1fa3ae6a636 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9111/index.html [-- Attachment #2: Type: text/html, Size: 11091 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* [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 5/5] RFC tests/i915/kms_frontbuffer_tracking: xe only supports MMAP_WC, BLT, RENDER Kunal Joshi
0 siblings, 1 reply; 15+ 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] 15+ 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 @ 2023-06-09 10:12 ` Kunal Joshi 2023-06-12 5:40 ` Modem, Bhanuprakash 0 siblings, 1 reply; 15+ 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] 15+ 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; 15+ 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] 15+ 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; 15+ 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] 15+ 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; 15+ 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] 15+ messages in thread
end of thread, other threads:[~2023-06-12 5:41 UTC | newest] Thread overview: 15+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-06-06 8:02 [igt-dev] [PATCH i-g-t 0/5] RFC Enable kms_frontbuffer_tracking on XE Kunal Joshi 2023-06-06 8:02 ` [igt-dev] [PATCH i-g-t 1/5] RFC tests/i915/kms_frontbuffer_tracking: Add xe support Kunal Joshi 2023-06-06 8:02 ` [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-06 8:02 ` [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-06 8:02 ` [igt-dev] [PATCH i-g-t 4/5] RFC lib/ioctl_wrappers: GEM_SET_DOMAIN ioctl not supported on xe Kunal Joshi 2023-06-08 11:42 ` Modem, Bhanuprakash 2023-06-09 5:57 ` Joshi, Kunal1 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-06 8:56 ` [igt-dev] ✓ Fi.CI.BAT: success for RFC Enable kms_frontbuffer_tracking on XE (rev4) Patchwork 2023-06-07 0:28 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork -- strict thread matches above, loose matches on Subject: below -- 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 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-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