* [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 1/5] RFC tests/i915/kms_frontbuffer_tracking: Add xe support Kunal Joshi
` (5 more replies)
0 siblings, 6 replies; 12+ 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] 12+ messages in thread* [igt-dev] [PATCH i-g-t 1/5] RFC tests/i915/kms_frontbuffer_tracking: Add xe support 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 2023-06-01 11:48 ` [igt-dev] [PATCH i-g-t 2/5] RFC tests/i915/kms_frontbuffer_tracking: xe doesn't support tiling as of now Kunal Joshi ` (4 subsequent siblings) 5 siblings, 0 replies; 12+ messages in thread From: Kunal Joshi @ 2023-06-01 11:48 UTC (permalink / raw) To: igt-dev; +Cc: Kunal 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.25.1 ^ permalink raw reply related [flat|nested] 12+ 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-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 1/5] RFC tests/i915/kms_frontbuffer_tracking: Add xe support Kunal Joshi @ 2023-06-01 11:48 ` Kunal Joshi 2023-06-01 11:48 ` [igt-dev] [PATCH i-g-t 3/5] tests/i915/kms_frontbuffer_tracking: all gem ioctls are not supported for xe " Kunal Joshi ` (3 subsequent siblings) 5 siblings, 0 replies; 12+ messages in thread From: Kunal Joshi @ 2023-06-01 11:48 UTC (permalink / raw) To: igt-dev; +Cc: Kunal Joshi v2: use is_xe_device() instead of static variable (Jouni) assert if xe device and unsupported tiling method specified in opt handler (Jouni) 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..9b4c6e59 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_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.25.1 ^ permalink raw reply related [flat|nested] 12+ 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-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 1/5] RFC tests/i915/kms_frontbuffer_tracking: Add xe support Kunal Joshi 2023-06-01 11:48 ` [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-01 11:48 ` Kunal Joshi 2023-06-01 11:48 ` [igt-dev] [PATCH i-g-t 4/5] RFC lib/ioctl_wrappers: GEM_SET_DOMAIN ioctl not supported on xe Kunal Joshi ` (2 subsequent siblings) 5 siblings, 0 replies; 12+ messages in thread From: Kunal Joshi @ 2023-06-01 11:48 UTC (permalink / raw) To: igt-dev; +Cc: Kunal Joshi 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 9b4c6e59..e31918e8 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.25.1 ^ permalink raw reply related [flat|nested] 12+ 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-01 11:48 [igt-dev] [PATCH i-g-t 0/5] RFC Enable kms_frontbuffer_tracking on XE Kunal Joshi ` (2 preceding siblings ...) 2023-06-01 11:48 ` [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-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 2023-06-01 14:27 ` [igt-dev] ✗ Fi.CI.BAT: failure for RFC Enable kms_frontbuffer_tracking on XE (rev3) Patchwork 5 siblings, 0 replies; 12+ messages in thread From: Kunal Joshi @ 2023-06-01 11:48 UTC (permalink / raw) To: igt-dev; +Cc: Kunal 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.25.1 ^ permalink raw reply related [flat|nested] 12+ 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 ` (3 preceding siblings ...) 2023-06-01 11:48 ` [igt-dev] [PATCH i-g-t 4/5] RFC lib/ioctl_wrappers: GEM_SET_DOMAIN ioctl not supported on xe Kunal Joshi @ 2023-06-01 11:48 ` Kunal Joshi 2023-06-01 14:27 ` [igt-dev] ✗ Fi.CI.BAT: failure for RFC Enable kms_frontbuffer_tracking on XE (rev3) Patchwork 5 siblings, 0 replies; 12+ 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] 12+ messages in thread
* [igt-dev] ✗ Fi.CI.BAT: failure for RFC Enable kms_frontbuffer_tracking on XE (rev3) 2023-06-01 11:48 [igt-dev] [PATCH i-g-t 0/5] RFC Enable kms_frontbuffer_tracking on XE Kunal Joshi ` (4 preceding siblings ...) 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 @ 2023-06-01 14:27 ` Patchwork 5 siblings, 0 replies; 12+ messages in thread From: Patchwork @ 2023-06-01 14:27 UTC (permalink / raw) To: Kunal Joshi; +Cc: igt-dev [-- Attachment #1: Type: text/plain, Size: 16473 bytes --] == Series Details == Series: RFC Enable kms_frontbuffer_tracking on XE (rev3) URL : https://patchwork.freedesktop.org/series/118648/ State : failure == Summary == CI Bug Log - changes from CI_DRM_13214 -> IGTPW_9092 ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with IGTPW_9092 absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in IGTPW_9092, 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_9092/index.html Participating hosts (37 -> 36) ------------------------------ Missing (1): bat-dg1-5 Possible new issues ------------------- Here are the unknown changes that may have been introduced in IGTPW_9092: ### IGT changes ### #### Possible regressions #### * igt@kms_frontbuffer_tracking@basic: - fi-hsw-4770: [PASS][1] -> [FAIL][2] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13214/fi-hsw-4770/igt@kms_frontbuffer_tracking@basic.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/fi-hsw-4770/igt@kms_frontbuffer_tracking@basic.html - fi-cfl-8109u: [PASS][3] -> [FAIL][4] [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13214/fi-cfl-8109u/igt@kms_frontbuffer_tracking@basic.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/fi-cfl-8109u/igt@kms_frontbuffer_tracking@basic.html - bat-adln-1: [PASS][5] -> [FAIL][6] [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13214/bat-adln-1/igt@kms_frontbuffer_tracking@basic.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/bat-adln-1/igt@kms_frontbuffer_tracking@basic.html - bat-dg2-8: [PASS][7] -> [FAIL][8] [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13214/bat-dg2-8/igt@kms_frontbuffer_tracking@basic.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/bat-dg2-8/igt@kms_frontbuffer_tracking@basic.html - bat-jsl-1: [PASS][9] -> [FAIL][10] [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13214/bat-jsl-1/igt@kms_frontbuffer_tracking@basic.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/bat-jsl-1/igt@kms_frontbuffer_tracking@basic.html - fi-tgl-1115g4: [PASS][11] -> [FAIL][12] [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13214/fi-tgl-1115g4/igt@kms_frontbuffer_tracking@basic.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/fi-tgl-1115g4/igt@kms_frontbuffer_tracking@basic.html - fi-bsw-n3050: [PASS][13] -> [FAIL][14] [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13214/fi-bsw-n3050/igt@kms_frontbuffer_tracking@basic.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/fi-bsw-n3050/igt@kms_frontbuffer_tracking@basic.html - bat-adlp-6: [PASS][15] -> [FAIL][16] [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13214/bat-adlp-6/igt@kms_frontbuffer_tracking@basic.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/bat-adlp-6/igt@kms_frontbuffer_tracking@basic.html - fi-skl-6600u: [PASS][17] -> [FAIL][18] [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13214/fi-skl-6600u/igt@kms_frontbuffer_tracking@basic.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/fi-skl-6600u/igt@kms_frontbuffer_tracking@basic.html - fi-apl-guc: [PASS][19] -> [FAIL][20] [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13214/fi-apl-guc/igt@kms_frontbuffer_tracking@basic.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/fi-apl-guc/igt@kms_frontbuffer_tracking@basic.html - fi-glk-j4005: [PASS][21] -> [FAIL][22] [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13214/fi-glk-j4005/igt@kms_frontbuffer_tracking@basic.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/fi-glk-j4005/igt@kms_frontbuffer_tracking@basic.html - bat-adlp-9: [PASS][23] -> [FAIL][24] [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13214/bat-adlp-9/igt@kms_frontbuffer_tracking@basic.html [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/bat-adlp-9/igt@kms_frontbuffer_tracking@basic.html - fi-skl-guc: [PASS][25] -> [FAIL][26] [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13214/fi-skl-guc/igt@kms_frontbuffer_tracking@basic.html [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/fi-skl-guc/igt@kms_frontbuffer_tracking@basic.html - bat-dg2-11: [PASS][27] -> [FAIL][28] [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13214/bat-dg2-11/igt@kms_frontbuffer_tracking@basic.html [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/bat-dg2-11/igt@kms_frontbuffer_tracking@basic.html - fi-kbl-7567u: [PASS][29] -> [FAIL][30] [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13214/fi-kbl-7567u/igt@kms_frontbuffer_tracking@basic.html [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/fi-kbl-7567u/igt@kms_frontbuffer_tracking@basic.html - fi-cfl-8700k: [PASS][31] -> [FAIL][32] [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13214/fi-cfl-8700k/igt@kms_frontbuffer_tracking@basic.html [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/fi-cfl-8700k/igt@kms_frontbuffer_tracking@basic.html - bat-rplp-1: [PASS][33] -> [FAIL][34] [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13214/bat-rplp-1/igt@kms_frontbuffer_tracking@basic.html [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/bat-rplp-1/igt@kms_frontbuffer_tracking@basic.html - fi-rkl-11600: [PASS][35] -> [FAIL][36] [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13214/fi-rkl-11600/igt@kms_frontbuffer_tracking@basic.html [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/fi-rkl-11600/igt@kms_frontbuffer_tracking@basic.html - fi-cfl-guc: [PASS][37] -> [FAIL][38] [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13214/fi-cfl-guc/igt@kms_frontbuffer_tracking@basic.html [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/fi-cfl-guc/igt@kms_frontbuffer_tracking@basic.html - bat-jsl-3: [PASS][39] -> [FAIL][40] [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13214/bat-jsl-3/igt@kms_frontbuffer_tracking@basic.html [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/bat-jsl-3/igt@kms_frontbuffer_tracking@basic.html - bat-dg2-9: [PASS][41] -> [FAIL][42] [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13214/bat-dg2-9/igt@kms_frontbuffer_tracking@basic.html [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/bat-dg2-9/igt@kms_frontbuffer_tracking@basic.html #### Warnings #### * igt@kms_frontbuffer_tracking@basic: - fi-kbl-x1275: [SKIP][43] ([fdo#109271]) -> [FAIL][44] [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13214/fi-kbl-x1275/igt@kms_frontbuffer_tracking@basic.html [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/fi-kbl-x1275/igt@kms_frontbuffer_tracking@basic.html - fi-kbl-8809g: [SKIP][45] ([fdo#109271]) -> [FAIL][46] [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13214/fi-kbl-8809g/igt@kms_frontbuffer_tracking@basic.html [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/fi-kbl-8809g/igt@kms_frontbuffer_tracking@basic.html - bat-rpls-2: [SKIP][47] ([i915#1849]) -> [FAIL][48] [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13214/bat-rpls-2/igt@kms_frontbuffer_tracking@basic.html [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/bat-rpls-2/igt@kms_frontbuffer_tracking@basic.html - fi-elk-e7500: [SKIP][49] ([fdo#109271]) -> [FAIL][50] [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13214/fi-elk-e7500/igt@kms_frontbuffer_tracking@basic.html [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/fi-elk-e7500/igt@kms_frontbuffer_tracking@basic.html - fi-kbl-guc: [SKIP][51] ([fdo#109271]) -> [FAIL][52] [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13214/fi-kbl-guc/igt@kms_frontbuffer_tracking@basic.html [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/fi-kbl-guc/igt@kms_frontbuffer_tracking@basic.html - bat-adlm-1: [SKIP][53] ([i915#1849]) -> [FAIL][54] [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13214/bat-adlm-1/igt@kms_frontbuffer_tracking@basic.html [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/bat-adlm-1/igt@kms_frontbuffer_tracking@basic.html - fi-blb-e6850: [SKIP][55] ([fdo#109271]) -> [FAIL][56] [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13214/fi-blb-e6850/igt@kms_frontbuffer_tracking@basic.html [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/fi-blb-e6850/igt@kms_frontbuffer_tracking@basic.html - bat-rpls-1: [SKIP][57] ([i915#1849]) -> [FAIL][58] [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13214/bat-rpls-1/igt@kms_frontbuffer_tracking@basic.html [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/bat-rpls-1/igt@kms_frontbuffer_tracking@basic.html - bat-dg1-7: [SKIP][59] ([i915#4078] / [i915#4342]) -> [FAIL][60] [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13214/bat-dg1-7/igt@kms_frontbuffer_tracking@basic.html [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/bat-dg1-7/igt@kms_frontbuffer_tracking@basic.html - fi-bsw-nick: [SKIP][61] ([fdo#109271]) -> [FAIL][62] [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13214/fi-bsw-nick/igt@kms_frontbuffer_tracking@basic.html [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/fi-bsw-nick/igt@kms_frontbuffer_tracking@basic.html - bat-adls-5: [SKIP][63] ([i915#1849]) -> [FAIL][64] [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13214/bat-adls-5/igt@kms_frontbuffer_tracking@basic.html [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/bat-adls-5/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][65] -> [FAIL][66] [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13214/bat-mtlp-8/igt@kms_frontbuffer_tracking@basic.html [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/bat-mtlp-8/igt@kms_frontbuffer_tracking@basic.html - {bat-mtlp-6}: [SKIP][67] ([i915#4342]) -> [FAIL][68] [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13214/bat-mtlp-6/igt@kms_frontbuffer_tracking@basic.html [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/bat-mtlp-6/igt@kms_frontbuffer_tracking@basic.html - {bat-kbl-2}: [SKIP][69] ([fdo#109271]) -> [FAIL][70] [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13214/bat-kbl-2/igt@kms_frontbuffer_tracking@basic.html [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/bat-kbl-2/igt@kms_frontbuffer_tracking@basic.html Known issues ------------ Here are the changes found in IGTPW_9092 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@i915_pm_rpm@basic-pci-d3-state: - fi-hsw-4770: [PASS][71] -> [SKIP][72] ([fdo#109271]) [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13214/fi-hsw-4770/igt@i915_pm_rpm@basic-pci-d3-state.html [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/fi-hsw-4770/igt@i915_pm_rpm@basic-pci-d3-state.html * igt@i915_pm_rpm@basic-rte: - fi-hsw-4770: [PASS][73] -> [FAIL][74] ([i915#7364]) [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13214/fi-hsw-4770/igt@i915_pm_rpm@basic-rte.html [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/fi-hsw-4770/igt@i915_pm_rpm@basic-rte.html * igt@i915_selftest@live@gt_heartbeat: - fi-apl-guc: [PASS][75] -> [DMESG-FAIL][76] ([i915#5334]) [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13214/fi-apl-guc/igt@i915_selftest@live@gt_heartbeat.html [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/fi-apl-guc/igt@i915_selftest@live@gt_heartbeat.html * igt@i915_selftest@live@mman: - bat-rpls-2: [PASS][77] -> [TIMEOUT][78] ([i915#6794] / [i915#7392]) [77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13214/bat-rpls-2/igt@i915_selftest@live@mman.html [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/bat-rpls-2/igt@i915_selftest@live@mman.html * igt@i915_selftest@live@reset: - bat-rpls-1: [PASS][79] -> [ABORT][80] ([i915#4983] / [i915#7461] / [i915#7981] / [i915#8347] / [i915#8384]) [79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13214/bat-rpls-1/igt@i915_selftest@live@reset.html [80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/bat-rpls-1/igt@i915_selftest@live@reset.html * igt@i915_suspend@basic-s2idle-without-i915: - bat-rpls-2: NOTRUN -> [ABORT][81] ([i915#6687]) [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/bat-rpls-2/igt@i915_suspend@basic-s2idle-without-i915.html * igt@kms_pipe_crc_basic@read-crc: - bat-adlp-9: NOTRUN -> [SKIP][82] ([i915#3546]) +1 similar issue [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/bat-adlp-9/igt@kms_pipe_crc_basic@read-crc.html #### Possible fixes #### * igt@i915_selftest@live@migrate: - bat-rpls-2: [DMESG-FAIL][83] ([i915#7699] / [i915#7913]) -> [PASS][84] [83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13214/bat-rpls-2/igt@i915_selftest@live@migrate.html [84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/bat-rpls-2/igt@i915_selftest@live@migrate.html #### Warnings #### * igt@kms_psr@sprite_plane_onoff: - bat-rplp-1: [SKIP][85] ([i915#1072]) -> [ABORT][86] ([i915#8442]) [85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13214/bat-rplp-1/igt@kms_psr@sprite_plane_onoff.html [86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/bat-rplp-1/igt@kms_psr@sprite_plane_onoff.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072 [i915#1849]: https://gitlab.freedesktop.org/drm/intel/issues/1849 [i915#3546]: https://gitlab.freedesktop.org/drm/intel/issues/3546 [i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078 [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103 [i915#4342]: https://gitlab.freedesktop.org/drm/intel/issues/4342 [i915#4423]: https://gitlab.freedesktop.org/drm/intel/issues/4423 [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983 [i915#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334 [i915#6367]: https://gitlab.freedesktop.org/drm/intel/issues/6367 [i915#6687]: https://gitlab.freedesktop.org/drm/intel/issues/6687 [i915#6794]: https://gitlab.freedesktop.org/drm/intel/issues/6794 [i915#6868]: https://gitlab.freedesktop.org/drm/intel/issues/6868 [i915#7364]: https://gitlab.freedesktop.org/drm/intel/issues/7364 [i915#7392]: https://gitlab.freedesktop.org/drm/intel/issues/7392 [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#7981]: https://gitlab.freedesktop.org/drm/intel/issues/7981 [i915#8347]: https://gitlab.freedesktop.org/drm/intel/issues/8347 [i915#8384]: https://gitlab.freedesktop.org/drm/intel/issues/8384 [i915#8442]: https://gitlab.freedesktop.org/drm/intel/issues/8442 Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_7317 -> IGTPW_9092 CI-20190529: 20190529 CI_DRM_13214: 24c0a75b9a4f481ed5a06e4441701651305f0290 @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_9092: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/index.html IGT_7317: c902b72df45aa49faa38205bc5be3c748d33a3e0 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_9092/index.html [-- Attachment #2: Type: text/html, Size: 18192 bytes --] ^ permalink raw reply [flat|nested] 12+ 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; 12+ 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] 12+ 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 @ 2023-06-06 8:02 ` Kunal Joshi 2023-06-08 11:46 ` Modem, Bhanuprakash 0 siblings, 1 reply; 12+ 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] 12+ 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; 12+ 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] 12+ 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; 12+ 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] 12+ 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; 12+ 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] 12+ 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; 12+ 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] 12+ 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; 12+ 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] 12+ messages in thread
end of thread, other threads:[~2023-06-12 5:41 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 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 1/5] RFC tests/i915/kms_frontbuffer_tracking: Add xe support Kunal Joshi 2023-06-01 11:48 ` [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-01 11:48 ` [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-01 11:48 ` [igt-dev] [PATCH i-g-t 4/5] RFC lib/ioctl_wrappers: GEM_SET_DOMAIN ioctl not supported 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 2023-06-01 14:27 ` [igt-dev] ✗ Fi.CI.BAT: failure for RFC Enable kms_frontbuffer_tracking on XE (rev3) Patchwork -- strict thread matches above, loose matches on Subject: below -- 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 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-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
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox