* [igt-dev] [i-g-t V2 0/5] Enable ADDFB tests for XE
@ 2023-03-31 13:45 Bhanuprakash Modem
2023-03-31 13:45 ` [igt-dev] [i-g-t V2 1/5] lib/xe/xe_ioctl: Add a helper to map the buffer Bhanuprakash Modem
` (6 more replies)
0 siblings, 7 replies; 14+ messages in thread
From: Bhanuprakash Modem @ 2023-03-31 13:45 UTC (permalink / raw)
To: igt-dev
Add IGT support to enable ADDFB tests to XE BAT.
Bhanuprakash Modem (5):
lib/xe/xe_ioctl: Add a helper to map the buffer
lib/igt_fb: Add support for allocating buffers for XE
tests/kms_addfb_basic: Add XE support
tests/kms_force_connector_basic: Set the param only if driver supports
xe-fast-feedback: Add basic kms tests to XE BAT
lib/igt_fb.c | 14 ++++++--
lib/xe/xe_ioctl.c | 14 ++++++--
lib/xe/xe_ioctl.h | 1 +
tests/intel-ci/xe-fast-feedback.testlist | 30 +++++++++++++++++
tests/kms_addfb_basic.c | 42 ++++++++++++++++--------
tests/kms_force_connector_basic.c | 7 +++-
6 files changed, 88 insertions(+), 20 deletions(-)
--
2.40.0
^ permalink raw reply [flat|nested] 14+ messages in thread* [igt-dev] [i-g-t V2 1/5] lib/xe/xe_ioctl: Add a helper to map the buffer 2023-03-31 13:45 [igt-dev] [i-g-t V2 0/5] Enable ADDFB tests for XE Bhanuprakash Modem @ 2023-03-31 13:45 ` Bhanuprakash Modem 2023-03-31 13:45 ` [igt-dev] [i-g-t V2 2/5] lib/igt_fb: Add support for allocating buffers for XE Bhanuprakash Modem ` (5 subsequent siblings) 6 siblings, 0 replies; 14+ messages in thread From: Bhanuprakash Modem @ 2023-03-31 13:45 UTC (permalink / raw) To: igt-dev; +Cc: Nirmoy Das Create a new helper to map the buffer with the user PROT flags. Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> Acked-by: Nirmoy Das <nirmoy.das@intel.com> Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> --- lib/xe/xe_ioctl.c | 14 ++++++++++++-- lib/xe/xe_ioctl.h | 1 + 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/lib/xe/xe_ioctl.c b/lib/xe/xe_ioctl.c index 9d5793dff..66a8393fe 100644 --- a/lib/xe/xe_ioctl.c +++ b/lib/xe/xe_ioctl.c @@ -334,18 +334,28 @@ uint64_t xe_bo_mmap_offset(int fd, uint32_t bo) return mmo.offset; } -void *xe_bo_map(int fd, uint32_t bo, size_t size) +static void *__xe_bo_map(int fd, uint16_t bo, size_t size, int prot) { uint64_t mmo; void *map; mmo = xe_bo_mmap_offset(fd, bo); - map = mmap(NULL, size, PROT_WRITE, MAP_SHARED, fd, mmo); + map = mmap(NULL, size, prot, MAP_SHARED, fd, mmo); igt_assert(map != MAP_FAILED); return map; } +void *xe_bo_map(int fd, uint32_t bo, size_t size) +{ + return __xe_bo_map(fd, bo, size, PROT_WRITE); +} + +void *xe_bo_mmap_ext(int fd, uint32_t bo, size_t size, int prot) +{ + return __xe_bo_map(fd, bo, size, prot); +} + static int __xe_exec(int fd, struct drm_xe_exec *exec) { int err = 0; diff --git a/lib/xe/xe_ioctl.h b/lib/xe/xe_ioctl.h index 5c7e773fa..d8c40eda0 100644 --- a/lib/xe/xe_ioctl.h +++ b/lib/xe/xe_ioctl.h @@ -73,6 +73,7 @@ uint32_t xe_engine_create_class(int fd, uint32_t vm, uint16_t class); void xe_engine_destroy(int fd, uint32_t engine); uint64_t xe_bo_mmap_offset(int fd, uint32_t bo); void *xe_bo_map(int fd, uint32_t bo, size_t size); +void *xe_bo_mmap_ext(int fd, uint32_t bo, size_t size, int prot); void xe_exec(int fd, struct drm_xe_exec *exec); void xe_exec_sync(int fd, uint32_t engine, uint64_t addr, struct drm_xe_sync *sync, uint32_t num_syncs); -- 2.40.0 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* [igt-dev] [i-g-t V2 2/5] lib/igt_fb: Add support for allocating buffers for XE 2023-03-31 13:45 [igt-dev] [i-g-t V2 0/5] Enable ADDFB tests for XE Bhanuprakash Modem 2023-03-31 13:45 ` [igt-dev] [i-g-t V2 1/5] lib/xe/xe_ioctl: Add a helper to map the buffer Bhanuprakash Modem @ 2023-03-31 13:45 ` Bhanuprakash Modem 2023-04-06 6:16 ` Karthik B S 2023-03-31 13:45 ` [igt-dev] [i-g-t V2 3/5] tests/kms_addfb_basic: Add XE support Bhanuprakash Modem ` (4 subsequent siblings) 6 siblings, 1 reply; 14+ messages in thread From: Bhanuprakash Modem @ 2023-03-31 13:45 UTC (permalink / raw) To: igt-dev Add support to create a buffer object to the XE driver. V2: - Use vram_if_possible() (Zbigniew) Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> Acked-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> --- lib/igt_fb.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/igt_fb.c b/lib/igt_fb.c index ba89e1f60..7379b99aa 100644 --- a/lib/igt_fb.c +++ b/lib/igt_fb.c @@ -49,6 +49,8 @@ #include "intel_batchbuffer.h" #include "intel_chipset.h" #include "intel_bufops.h" +#include "xe/xe_ioctl.h" +#include "xe/xe_query.h" /** * SECTION:igt_fb @@ -434,7 +436,7 @@ void igt_get_fb_tile_size(int fd, uint64_t modifier, int fb_bpp, switch (modifier) { case DRM_FORMAT_MOD_LINEAR : - if (is_i915_device(fd)) + if (is_intel_device(fd)) *width_ret = 64; else *width_ret = 1; @@ -924,6 +926,9 @@ static uint64_t calc_fb_size(struct igt_fb *fb) size += calc_plane_size(fb, plane); } + if (is_xe_device(fb->fd)) + size = ALIGN(size, xe_get_default_alignment(fb->fd)); + return size; } @@ -1143,8 +1148,8 @@ static int create_bo_for_fb(struct igt_fb *fb, bool prefer_sysmem) * them, so we need to make sure to use a device BO then. */ if (fb->modifier || fb->size || fb->strides[0] || - (is_i915_device(fd) && igt_format_is_yuv(fb->drm_format)) || - (is_i915_device(fd) && igt_format_is_fp16(fb->drm_format)) || + (is_intel_device(fd) && igt_format_is_yuv(fb->drm_format)) || + (is_intel_device(fd) && igt_format_is_fp16(fb->drm_format)) || (is_amdgpu_device(fd) && igt_format_is_yuv(fb->drm_format)) || is_nouveau_device(fd)) device_bo = true; @@ -1168,6 +1173,9 @@ static int create_bo_for_fb(struct igt_fb *fb, bool prefer_sysmem) fb->strides[0]); /* If we can't use fences, we won't use ggtt detiling later. */ igt_assert(err == 0 || err == -EOPNOTSUPP); + } else if (is_xe_device(fd)) { + fb->gem_handle = xe_bo_create_flags(fd, 0, fb->size, + vram_if_possible(fd, 0)); } else if (is_vc4_device(fd)) { fb->gem_handle = igt_vc4_create_bo(fd, fb->size); -- 2.40.0 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [igt-dev] [i-g-t V2 2/5] lib/igt_fb: Add support for allocating buffers for XE 2023-03-31 13:45 ` [igt-dev] [i-g-t V2 2/5] lib/igt_fb: Add support for allocating buffers for XE Bhanuprakash Modem @ 2023-04-06 6:16 ` Karthik B S 0 siblings, 0 replies; 14+ messages in thread From: Karthik B S @ 2023-04-06 6:16 UTC (permalink / raw) To: Bhanuprakash Modem, igt-dev On 3/31/2023 7:15 PM, Bhanuprakash Modem wrote: > Add support to create a buffer object to the XE driver. > > V2: - Use vram_if_possible() (Zbigniew) > > Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> > Acked-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> LGTM. Reviewed-by: Karthik B S <karthik.b.s@intel.com> > --- > lib/igt_fb.c | 14 +++++++++++--- > 1 file changed, 11 insertions(+), 3 deletions(-) > > diff --git a/lib/igt_fb.c b/lib/igt_fb.c > index ba89e1f60..7379b99aa 100644 > --- a/lib/igt_fb.c > +++ b/lib/igt_fb.c > @@ -49,6 +49,8 @@ > #include "intel_batchbuffer.h" > #include "intel_chipset.h" > #include "intel_bufops.h" > +#include "xe/xe_ioctl.h" > +#include "xe/xe_query.h" > > /** > * SECTION:igt_fb > @@ -434,7 +436,7 @@ void igt_get_fb_tile_size(int fd, uint64_t modifier, int fb_bpp, > > switch (modifier) { > case DRM_FORMAT_MOD_LINEAR : > - if (is_i915_device(fd)) > + if (is_intel_device(fd)) > *width_ret = 64; > else > *width_ret = 1; > @@ -924,6 +926,9 @@ static uint64_t calc_fb_size(struct igt_fb *fb) > size += calc_plane_size(fb, plane); > } > > + if (is_xe_device(fb->fd)) > + size = ALIGN(size, xe_get_default_alignment(fb->fd)); > + > return size; > } > > @@ -1143,8 +1148,8 @@ static int create_bo_for_fb(struct igt_fb *fb, bool prefer_sysmem) > * them, so we need to make sure to use a device BO then. > */ > if (fb->modifier || fb->size || fb->strides[0] || > - (is_i915_device(fd) && igt_format_is_yuv(fb->drm_format)) || > - (is_i915_device(fd) && igt_format_is_fp16(fb->drm_format)) || > + (is_intel_device(fd) && igt_format_is_yuv(fb->drm_format)) || > + (is_intel_device(fd) && igt_format_is_fp16(fb->drm_format)) || > (is_amdgpu_device(fd) && igt_format_is_yuv(fb->drm_format)) || > is_nouveau_device(fd)) > device_bo = true; > @@ -1168,6 +1173,9 @@ static int create_bo_for_fb(struct igt_fb *fb, bool prefer_sysmem) > fb->strides[0]); > /* If we can't use fences, we won't use ggtt detiling later. */ > igt_assert(err == 0 || err == -EOPNOTSUPP); > + } else if (is_xe_device(fd)) { > + fb->gem_handle = xe_bo_create_flags(fd, 0, fb->size, > + vram_if_possible(fd, 0)); > } else if (is_vc4_device(fd)) { > fb->gem_handle = igt_vc4_create_bo(fd, fb->size); > ^ permalink raw reply [flat|nested] 14+ messages in thread
* [igt-dev] [i-g-t V2 3/5] tests/kms_addfb_basic: Add XE support 2023-03-31 13:45 [igt-dev] [i-g-t V2 0/5] Enable ADDFB tests for XE Bhanuprakash Modem 2023-03-31 13:45 ` [igt-dev] [i-g-t V2 1/5] lib/xe/xe_ioctl: Add a helper to map the buffer Bhanuprakash Modem 2023-03-31 13:45 ` [igt-dev] [i-g-t V2 2/5] lib/igt_fb: Add support for allocating buffers for XE Bhanuprakash Modem @ 2023-03-31 13:45 ` Bhanuprakash Modem 2023-04-04 15:02 ` Kamil Konieczny 2023-03-31 13:45 ` [igt-dev] [i-g-t V2 4/5] tests/kms_force_connector_basic: Set the param only if driver supports Bhanuprakash Modem ` (3 subsequent siblings) 6 siblings, 1 reply; 14+ messages in thread From: Bhanuprakash Modem @ 2023-03-31 13:45 UTC (permalink / raw) To: igt-dev Update/fix necessary subtests for XE driver compatibility. Also, reorder existing subtests to avoid code duplication. V2: - Fix invalid-smem-bo-on-discrete subtest (Zbigniew) Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> --- tests/kms_addfb_basic.c | 42 +++++++++++++++++++++++++++-------------- 1 file changed, 28 insertions(+), 14 deletions(-) diff --git a/tests/kms_addfb_basic.c b/tests/kms_addfb_basic.c index b4526eee6..e27b22fe0 100644 --- a/tests/kms_addfb_basic.c +++ b/tests/kms_addfb_basic.c @@ -41,6 +41,8 @@ #include "igt_rand.h" #include "igt_device.h" #include "i915/intel_memory_region.h" +#include "xe/xe_ioctl.h" +#include "xe/xe_query.h" uint32_t gem_bo; uint32_t gem_bo_small; @@ -121,7 +123,7 @@ static void invalid_tests(int fd) igt_describe("Check if addfb2 call works for clobbered modifier"); igt_subtest("clobberred-modifier") { - igt_require_intel(fd); + igt_require_i915(fd); igt_require(gem_available_fences(fd) > 0); f.flags = 0; f.modifier[0] = 0; @@ -139,10 +141,17 @@ static void invalid_tests(int fd) uint64_t size; igt_require_intel(fd); - igt_require(gem_has_lmem(fd)); igt_calc_fb_size(fd, f.width, f.height, DRM_FORMAT_XRGB8888, 0, &size, &stride); - handle = gem_create_in_memory_regions(fd, size, REGION_SMEM); + + if (is_i915_device(fd)) { + igt_require(gem_has_lmem(fd)); + handle = gem_create_in_memory_regions(fd, size, REGION_SMEM); + } else { + igt_require(xe_has_vram(fd)); + handle = xe_bo_create_flags(fd, 0, size, system_memory(fd)); + } + f.handles[0] = handle; do_ioctl_err(fd, DRM_IOCTL_MODE_ADDFB2, &f, EREMOTE); } @@ -323,7 +332,7 @@ static void tiling_tests(int fd) igt_subtest_group { igt_fixture { - igt_require_intel(fd); + igt_require_i915(fd); tiled_x_bo = igt_create_bo_with_dimensions(fd, 1024, 1024, DRM_FORMAT_XRGB8888, I915_FORMAT_MOD_X_TILED, 1024*4, NULL, NULL, NULL); @@ -494,7 +503,7 @@ static void size_tests(int fd) igt_describe("Test that addfb2 call fails correctly with small buffer object after changing tile"); igt_subtest("bo-too-small-due-to-tiling") { - igt_require_intel(fd); + igt_require_i915(fd); igt_require(gem_available_fences(fd) > 0); gem_set_tiling(fd, gem_bo_small, I915_TILING_X, 1024*4); do_ioctl_err(fd, DRM_IOCTL_MODE_ADDFB2, &f, EINVAL); @@ -548,7 +557,7 @@ static void addfb25_tests(int fd) igt_subtest_group { igt_fixture { - igt_require_intel(fd); + igt_require_i915(fd); igt_require(gem_available_fences(fd) > 0); gem_set_tiling(fd, gem_bo, I915_TILING_X, 1024*4); igt_require_fb_modifiers(fd); @@ -594,6 +603,7 @@ static void addfb25_ytile(int fd) igt_display_t display; igt_fixture { + igt_require_i915(fd); igt_display_require(&display, fd); gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024, @@ -618,7 +628,6 @@ static void addfb25_ytile(int fd) igt_describe("Check if addfb2 call works for y-tiling"); igt_subtest("addfb25-y-tiled-legacy") { igt_require_fb_modifiers(fd); - igt_require_intel(fd); f.modifier[0] = I915_FORMAT_MOD_Y_TILED; igt_assert_eq(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f), @@ -631,7 +640,6 @@ static void addfb25_ytile(int fd) igt_describe("Check if addfb2 call works for yf-tiling"); igt_subtest("addfb25-yf-tiled-legacy") { igt_require_fb_modifiers(fd); - igt_require_intel(fd); f.modifier[0] = I915_FORMAT_MOD_Yf_TILED; igt_assert_eq(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f), @@ -644,7 +652,6 @@ static void addfb25_ytile(int fd) igt_describe("Test that addfb2 call fails correctly for y-tiling with given height and modifier"); igt_subtest("addfb25-y-tiled-small-legacy") { igt_require_fb_modifiers(fd); - igt_require_intel(fd); f.modifier[0] = I915_FORMAT_MOD_Y_TILED; f.height = 1023; @@ -667,6 +674,7 @@ static void addfb25_4tile(int fd) igt_display_t display; igt_fixture { + igt_require_i915(fd); igt_display_require(&display, fd); gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024, @@ -689,7 +697,6 @@ static void addfb25_4tile(int fd) igt_describe("Check if addfb2 call works for tiling-4"); igt_subtest("addfb25-4-tiled") { igt_require_fb_modifiers(fd); - igt_require_intel(fd); f.modifier[0] = I915_FORMAT_MOD_4_TILED; igt_assert_eq(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f), @@ -839,6 +846,9 @@ igt_main igt_fixture { fd = drm_open_driver_master(DRIVER_ANY); igt_require(has_addfb2_iface(fd)); + + if (is_xe_device(fd)) + xe_device_get(fd); } invalid_tests(fd); @@ -847,6 +857,10 @@ igt_main size_tests(fd); + prop_tests(fd); + + master_tests(fd); + addfb25_tests(fd); addfb25_ytile(fd); @@ -855,10 +869,10 @@ igt_main tiling_tests(fd); - prop_tests(fd); - - master_tests(fd); + igt_fixture { + if (is_xe_device(fd)) + xe_device_put(fd); - igt_fixture close(fd); + } } -- 2.40.0 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [igt-dev] [i-g-t V2 3/5] tests/kms_addfb_basic: Add XE support 2023-03-31 13:45 ` [igt-dev] [i-g-t V2 3/5] tests/kms_addfb_basic: Add XE support Bhanuprakash Modem @ 2023-04-04 15:02 ` Kamil Konieczny 2023-04-05 6:13 ` Modem, Bhanuprakash 0 siblings, 1 reply; 14+ messages in thread From: Kamil Konieczny @ 2023-04-04 15:02 UTC (permalink / raw) To: igt-dev Hi Bhanuprakash, On 2023-03-31 at 19:15:54 +0530, Bhanuprakash Modem wrote: > Update/fix necessary subtests for XE driver compatibility. > Also, reorder existing subtests to avoid code duplication. > > V2: - Fix invalid-smem-bo-on-discrete subtest (Zbigniew) > > Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> > --- > tests/kms_addfb_basic.c | 42 +++++++++++++++++++++++++++-------------- > 1 file changed, 28 insertions(+), 14 deletions(-) > > diff --git a/tests/kms_addfb_basic.c b/tests/kms_addfb_basic.c > index b4526eee6..e27b22fe0 100644 > --- a/tests/kms_addfb_basic.c > +++ b/tests/kms_addfb_basic.c > @@ -41,6 +41,8 @@ > #include "igt_rand.h" > #include "igt_device.h" > #include "i915/intel_memory_region.h" > +#include "xe/xe_ioctl.h" > +#include "xe/xe_query.h" > > uint32_t gem_bo; > uint32_t gem_bo_small; > @@ -121,7 +123,7 @@ static void invalid_tests(int fd) > > igt_describe("Check if addfb2 call works for clobbered modifier"); > igt_subtest("clobberred-modifier") { > - igt_require_intel(fd); > + igt_require_i915(fd); > igt_require(gem_available_fences(fd) > 0); > f.flags = 0; > f.modifier[0] = 0; > @@ -139,10 +141,17 @@ static void invalid_tests(int fd) > uint64_t size; > > igt_require_intel(fd); > - igt_require(gem_has_lmem(fd)); > igt_calc_fb_size(fd, f.width, f.height, > DRM_FORMAT_XRGB8888, 0, &size, &stride); > - handle = gem_create_in_memory_regions(fd, size, REGION_SMEM); > + > + if (is_i915_device(fd)) { > + igt_require(gem_has_lmem(fd)); > + handle = gem_create_in_memory_regions(fd, size, REGION_SMEM); > + } else { > + igt_require(xe_has_vram(fd)); > + handle = xe_bo_create_flags(fd, 0, size, system_memory(fd)); > + } > + > f.handles[0] = handle; > do_ioctl_err(fd, DRM_IOCTL_MODE_ADDFB2, &f, EREMOTE); > } > @@ -323,7 +332,7 @@ static void tiling_tests(int fd) > > igt_subtest_group { > igt_fixture { > - igt_require_intel(fd); > + igt_require_i915(fd); > tiled_x_bo = igt_create_bo_with_dimensions(fd, 1024, 1024, > DRM_FORMAT_XRGB8888, I915_FORMAT_MOD_X_TILED, > 1024*4, NULL, NULL, NULL); > @@ -494,7 +503,7 @@ static void size_tests(int fd) > > igt_describe("Test that addfb2 call fails correctly with small buffer object after changing tile"); > igt_subtest("bo-too-small-due-to-tiling") { > - igt_require_intel(fd); > + igt_require_i915(fd); > igt_require(gem_available_fences(fd) > 0); > gem_set_tiling(fd, gem_bo_small, I915_TILING_X, 1024*4); > do_ioctl_err(fd, DRM_IOCTL_MODE_ADDFB2, &f, EINVAL); > @@ -548,7 +557,7 @@ static void addfb25_tests(int fd) > > igt_subtest_group { > igt_fixture { > - igt_require_intel(fd); > + igt_require_i915(fd); > igt_require(gem_available_fences(fd) > 0); > gem_set_tiling(fd, gem_bo, I915_TILING_X, 1024*4); > igt_require_fb_modifiers(fd); > @@ -594,6 +603,7 @@ static void addfb25_ytile(int fd) > igt_display_t display; > > igt_fixture { > + igt_require_i915(fd); > igt_display_require(&display, fd); > > gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024, > @@ -618,7 +628,6 @@ static void addfb25_ytile(int fd) > igt_describe("Check if addfb2 call works for y-tiling"); > igt_subtest("addfb25-y-tiled-legacy") { > igt_require_fb_modifiers(fd); > - igt_require_intel(fd); This removes duplication (if it is intel-i915 specific subtest). > > f.modifier[0] = I915_FORMAT_MOD_Y_TILED; > igt_assert_eq(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f), > @@ -631,7 +640,6 @@ static void addfb25_ytile(int fd) > igt_describe("Check if addfb2 call works for yf-tiling"); > igt_subtest("addfb25-yf-tiled-legacy") { > igt_require_fb_modifiers(fd); > - igt_require_intel(fd); > > f.modifier[0] = I915_FORMAT_MOD_Yf_TILED; > igt_assert_eq(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f), > @@ -644,7 +652,6 @@ static void addfb25_ytile(int fd) > igt_describe("Test that addfb2 call fails correctly for y-tiling with given height and modifier"); > igt_subtest("addfb25-y-tiled-small-legacy") { > igt_require_fb_modifiers(fd); > - igt_require_intel(fd); > > f.modifier[0] = I915_FORMAT_MOD_Y_TILED; > f.height = 1023; > @@ -667,6 +674,7 @@ static void addfb25_4tile(int fd) > igt_display_t display; > > igt_fixture { > + igt_require_i915(fd); > igt_display_require(&display, fd); > > gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024, > @@ -689,7 +697,6 @@ static void addfb25_4tile(int fd) > igt_describe("Check if addfb2 call works for tiling-4"); > igt_subtest("addfb25-4-tiled") { > igt_require_fb_modifiers(fd); > - igt_require_intel(fd); > > f.modifier[0] = I915_FORMAT_MOD_4_TILED; > igt_assert_eq(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f), > @@ -839,6 +846,9 @@ igt_main > igt_fixture { > fd = drm_open_driver_master(DRIVER_ANY); > igt_require(has_addfb2_iface(fd)); > + > + if (is_xe_device(fd)) > + xe_device_get(fd); > } > > invalid_tests(fd); > @@ -847,6 +857,10 @@ igt_main > > size_tests(fd); > > + prop_tests(fd); > + > + master_tests(fd); > + > addfb25_tests(fd); > > addfb25_ytile(fd); > @@ -855,10 +869,10 @@ igt_main > > tiling_tests(fd); > > - prop_tests(fd); > - > - master_tests(fd); This is just moved above, how does it avoid duplication ? Regards, Kamil > + igt_fixture { > + if (is_xe_device(fd)) > + xe_device_put(fd); > > - igt_fixture > close(fd); > + } > } > -- > 2.40.0 > ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [igt-dev] [i-g-t V2 3/5] tests/kms_addfb_basic: Add XE support 2023-04-04 15:02 ` Kamil Konieczny @ 2023-04-05 6:13 ` Modem, Bhanuprakash 2023-04-06 6:42 ` Karthik B S 0 siblings, 1 reply; 14+ messages in thread From: Modem, Bhanuprakash @ 2023-04-05 6:13 UTC (permalink / raw) To: Kamil Konieczny, igt-dev Hi Kamil, On Tue-04-04-2023 08:32 pm, Kamil Konieczny wrote: > Hi Bhanuprakash, > > On 2023-03-31 at 19:15:54 +0530, Bhanuprakash Modem wrote: >> Update/fix necessary subtests for XE driver compatibility. >> Also, reorder existing subtests to avoid code duplication. >> >> V2: - Fix invalid-smem-bo-on-discrete subtest (Zbigniew) >> >> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> >> --- >> tests/kms_addfb_basic.c | 42 +++++++++++++++++++++++++++-------------- >> 1 file changed, 28 insertions(+), 14 deletions(-) >> >> diff --git a/tests/kms_addfb_basic.c b/tests/kms_addfb_basic.c >> index b4526eee6..e27b22fe0 100644 >> --- a/tests/kms_addfb_basic.c >> +++ b/tests/kms_addfb_basic.c >> @@ -41,6 +41,8 @@ >> #include "igt_rand.h" >> #include "igt_device.h" >> #include "i915/intel_memory_region.h" >> +#include "xe/xe_ioctl.h" >> +#include "xe/xe_query.h" >> >> uint32_t gem_bo; >> uint32_t gem_bo_small; >> @@ -121,7 +123,7 @@ static void invalid_tests(int fd) >> >> igt_describe("Check if addfb2 call works for clobbered modifier"); >> igt_subtest("clobberred-modifier") { >> - igt_require_intel(fd); >> + igt_require_i915(fd); >> igt_require(gem_available_fences(fd) > 0); >> f.flags = 0; >> f.modifier[0] = 0; >> @@ -139,10 +141,17 @@ static void invalid_tests(int fd) >> uint64_t size; >> >> igt_require_intel(fd); >> - igt_require(gem_has_lmem(fd)); >> igt_calc_fb_size(fd, f.width, f.height, >> DRM_FORMAT_XRGB8888, 0, &size, &stride); >> - handle = gem_create_in_memory_regions(fd, size, REGION_SMEM); >> + >> + if (is_i915_device(fd)) { >> + igt_require(gem_has_lmem(fd)); >> + handle = gem_create_in_memory_regions(fd, size, REGION_SMEM); >> + } else { >> + igt_require(xe_has_vram(fd)); >> + handle = xe_bo_create_flags(fd, 0, size, system_memory(fd)); >> + } >> + >> f.handles[0] = handle; >> do_ioctl_err(fd, DRM_IOCTL_MODE_ADDFB2, &f, EREMOTE); >> } >> @@ -323,7 +332,7 @@ static void tiling_tests(int fd) >> >> igt_subtest_group { >> igt_fixture { >> - igt_require_intel(fd); >> + igt_require_i915(fd); >> tiled_x_bo = igt_create_bo_with_dimensions(fd, 1024, 1024, >> DRM_FORMAT_XRGB8888, I915_FORMAT_MOD_X_TILED, >> 1024*4, NULL, NULL, NULL); >> @@ -494,7 +503,7 @@ static void size_tests(int fd) >> >> igt_describe("Test that addfb2 call fails correctly with small buffer object after changing tile"); >> igt_subtest("bo-too-small-due-to-tiling") { >> - igt_require_intel(fd); >> + igt_require_i915(fd); >> igt_require(gem_available_fences(fd) > 0); >> gem_set_tiling(fd, gem_bo_small, I915_TILING_X, 1024*4); >> do_ioctl_err(fd, DRM_IOCTL_MODE_ADDFB2, &f, EINVAL); >> @@ -548,7 +557,7 @@ static void addfb25_tests(int fd) >> >> igt_subtest_group { >> igt_fixture { >> - igt_require_intel(fd); >> + igt_require_i915(fd); >> igt_require(gem_available_fences(fd) > 0); >> gem_set_tiling(fd, gem_bo, I915_TILING_X, 1024*4); >> igt_require_fb_modifiers(fd); >> @@ -594,6 +603,7 @@ static void addfb25_ytile(int fd) >> igt_display_t display; >> >> igt_fixture { >> + igt_require_i915(fd); >> igt_display_require(&display, fd); >> >> gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024, >> @@ -618,7 +628,6 @@ static void addfb25_ytile(int fd) >> igt_describe("Check if addfb2 call works for y-tiling"); >> igt_subtest("addfb25-y-tiled-legacy") { >> igt_require_fb_modifiers(fd); >> - igt_require_intel(fd); > > This removes duplication (if it is intel-i915 specific subtest). > >> >> f.modifier[0] = I915_FORMAT_MOD_Y_TILED; >> igt_assert_eq(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f), >> @@ -631,7 +640,6 @@ static void addfb25_ytile(int fd) >> igt_describe("Check if addfb2 call works for yf-tiling"); >> igt_subtest("addfb25-yf-tiled-legacy") { >> igt_require_fb_modifiers(fd); >> - igt_require_intel(fd); >> >> f.modifier[0] = I915_FORMAT_MOD_Yf_TILED; >> igt_assert_eq(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f), >> @@ -644,7 +652,6 @@ static void addfb25_ytile(int fd) >> igt_describe("Test that addfb2 call fails correctly for y-tiling with given height and modifier"); >> igt_subtest("addfb25-y-tiled-small-legacy") { >> igt_require_fb_modifiers(fd); >> - igt_require_intel(fd); >> >> f.modifier[0] = I915_FORMAT_MOD_Y_TILED; >> f.height = 1023; >> @@ -667,6 +674,7 @@ static void addfb25_4tile(int fd) >> igt_display_t display; >> >> igt_fixture { >> + igt_require_i915(fd); >> igt_display_require(&display, fd); >> >> gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024, >> @@ -689,7 +697,6 @@ static void addfb25_4tile(int fd) >> igt_describe("Check if addfb2 call works for tiling-4"); >> igt_subtest("addfb25-4-tiled") { >> igt_require_fb_modifiers(fd); >> - igt_require_intel(fd); >> >> f.modifier[0] = I915_FORMAT_MOD_4_TILED; >> igt_assert_eq(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f), >> @@ -839,6 +846,9 @@ igt_main >> igt_fixture { >> fd = drm_open_driver_master(DRIVER_ANY); >> igt_require(has_addfb2_iface(fd)); >> + >> + if (is_xe_device(fd)) >> + xe_device_get(fd); >> } >> >> invalid_tests(fd); >> @@ -847,6 +857,10 @@ igt_main >> >> size_tests(fd); >> >> + prop_tests(fd); >> + >> + master_tests(fd); >> + >> addfb25_tests(fd); >> >> addfb25_ytile(fd); >> @@ -855,10 +869,10 @@ igt_main >> >> tiling_tests(fd); >> >> - prop_tests(fd); >> - >> - master_tests(fd); > > This is just moved above, how does it avoid duplication ? Sorry for the incomplete information. There are 2 reasons to do this. 1. Due to the i915 check in igt_fixture in previous tests, these prop & master tests are getting SKIP. Subtest addfb25-framebuffer-vs-set-tiling: SKIP (0.000s) Test requirement not met in function igt_require_i915, file ../lib/drmtest.c:664: Test requirement: is_i915_device(fd) Subtest addfb25-y-tiled-legacy: SKIP (0.000s) Subtest addfb25-yf-tiled-legacy: SKIP (0.000s) Subtest addfb25-y-tiled-small-legacy: SKIP (0.000s) Subtest addfb25-4-tiled: SKIP (0.000s) Subtest basic-x-tiled-legacy: SKIP (0.000s) Subtest framebuffer-vs-set-tiling: SKIP (0.000s) Subtest tile-pitch-mismatch: SKIP (0.000s) Subtest basic-y-tiled-legacy: SKIP (0.000s) Subtest invalid-get-prop-any: SKIP (0.000s) Subtest invalid-get-prop: SKIP (0.000s) Subtest invalid-set-prop-any: SKIP (0.000s) Subtest invalid-set-prop: SKIP (0.000s) Subtest master-rmfb: SKIP (0.000s) After re-ordering these tests (with minimum code churn) tests are getting PASS. Starting subtest: bo-too-small-due-to-tiling Test requirement not met in function igt_require_i915, file ../lib/drmtest.c:664: Test requirement: is_i915_device(fd) Subtest bo-too-small-due-to-tiling: SKIP (0.000s) Starting subtest: invalid-get-prop-any Subtest invalid-get-prop-any: SUCCESS (0.000s) Starting subtest: invalid-get-prop Subtest invalid-get-prop: SUCCESS (0.000s) Starting subtest: invalid-set-prop-any Subtest invalid-set-prop-any: SUCCESS (0.000s) Starting subtest: invalid-set-prop Subtest invalid-set-prop: SUCCESS (0.000s) Starting subtest: master-rmfb Subtest master-rmfb: SUCCESS (0.000s) 2. As XE subtests are tightly coupled with the xe_device_get() and igt_display_fini() in tiling tests destroys xe_device will cause the failures in prop & master tests (only if we enable tiling tests in future). Maybe I need to re-word the commit message. - Bhanu > > Regards, > Kamil > >> + igt_fixture { >> + if (is_xe_device(fd)) >> + xe_device_put(fd); >> >> - igt_fixture >> close(fd); >> + } >> } >> -- >> 2.40.0 >> ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [igt-dev] [i-g-t V2 3/5] tests/kms_addfb_basic: Add XE support 2023-04-05 6:13 ` Modem, Bhanuprakash @ 2023-04-06 6:42 ` Karthik B S 2023-04-06 7:57 ` Modem, Bhanuprakash 0 siblings, 1 reply; 14+ messages in thread From: Karthik B S @ 2023-04-06 6:42 UTC (permalink / raw) To: Modem, Bhanuprakash, Kamil Konieczny, igt-dev On 4/5/2023 11:43 AM, Modem, Bhanuprakash wrote: > Hi Kamil, > > On Tue-04-04-2023 08:32 pm, Kamil Konieczny wrote: >> Hi Bhanuprakash, >> >> On 2023-03-31 at 19:15:54 +0530, Bhanuprakash Modem wrote: >>> Update/fix necessary subtests for XE driver compatibility. >>> Also, reorder existing subtests to avoid code duplication. >>> >>> V2: - Fix invalid-smem-bo-on-discrete subtest (Zbigniew) >>> >>> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> >>> --- >>> tests/kms_addfb_basic.c | 42 >>> +++++++++++++++++++++++++++-------------- >>> 1 file changed, 28 insertions(+), 14 deletions(-) >>> >>> diff --git a/tests/kms_addfb_basic.c b/tests/kms_addfb_basic.c >>> index b4526eee6..e27b22fe0 100644 >>> --- a/tests/kms_addfb_basic.c >>> +++ b/tests/kms_addfb_basic.c >>> @@ -41,6 +41,8 @@ >>> #include "igt_rand.h" >>> #include "igt_device.h" >>> #include "i915/intel_memory_region.h" >>> +#include "xe/xe_ioctl.h" >>> +#include "xe/xe_query.h" >>> uint32_t gem_bo; >>> uint32_t gem_bo_small; >>> @@ -121,7 +123,7 @@ static void invalid_tests(int fd) >>> igt_describe("Check if addfb2 call works for clobbered >>> modifier"); >>> igt_subtest("clobberred-modifier") { >>> - igt_require_intel(fd); >>> + igt_require_i915(fd); >>> igt_require(gem_available_fences(fd) > 0); >>> f.flags = 0; >>> f.modifier[0] = 0; >>> @@ -139,10 +141,17 @@ static void invalid_tests(int fd) >>> uint64_t size; >>> igt_require_intel(fd); >>> - igt_require(gem_has_lmem(fd)); >>> igt_calc_fb_size(fd, f.width, f.height, >>> DRM_FORMAT_XRGB8888, 0, &size, &stride); >>> - handle = gem_create_in_memory_regions(fd, size, REGION_SMEM); >>> + >>> + if (is_i915_device(fd)) { >>> + igt_require(gem_has_lmem(fd)); >>> + handle = gem_create_in_memory_regions(fd, size, >>> REGION_SMEM); >>> + } else { >>> + igt_require(xe_has_vram(fd)); >>> + handle = xe_bo_create_flags(fd, 0, size, >>> system_memory(fd)); >>> + } >>> + >>> f.handles[0] = handle; >>> do_ioctl_err(fd, DRM_IOCTL_MODE_ADDFB2, &f, EREMOTE); >>> } >>> @@ -323,7 +332,7 @@ static void tiling_tests(int fd) >>> igt_subtest_group { >>> igt_fixture { >>> - igt_require_intel(fd); >>> + igt_require_i915(fd); >>> tiled_x_bo = igt_create_bo_with_dimensions(fd, 1024, >>> 1024, >>> DRM_FORMAT_XRGB8888, I915_FORMAT_MOD_X_TILED, >>> 1024*4, NULL, NULL, NULL); >>> @@ -494,7 +503,7 @@ static void size_tests(int fd) >>> igt_describe("Test that addfb2 call fails correctly with >>> small buffer object after changing tile"); >>> igt_subtest("bo-too-small-due-to-tiling") { >>> - igt_require_intel(fd); >>> + igt_require_i915(fd); >>> igt_require(gem_available_fences(fd) > 0); >>> gem_set_tiling(fd, gem_bo_small, I915_TILING_X, 1024*4); >>> do_ioctl_err(fd, DRM_IOCTL_MODE_ADDFB2, &f, EINVAL); >>> @@ -548,7 +557,7 @@ static void addfb25_tests(int fd) >>> igt_subtest_group { >>> igt_fixture { >>> - igt_require_intel(fd); >>> + igt_require_i915(fd); >>> igt_require(gem_available_fences(fd) > 0); >>> gem_set_tiling(fd, gem_bo, I915_TILING_X, 1024*4); >>> igt_require_fb_modifiers(fd); >>> @@ -594,6 +603,7 @@ static void addfb25_ytile(int fd) >>> igt_display_t display; >>> igt_fixture { >>> + igt_require_i915(fd); >>> igt_display_require(&display, fd); >>> gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024, >>> @@ -618,7 +628,6 @@ static void addfb25_ytile(int fd) >>> igt_describe("Check if addfb2 call works for y-tiling"); >>> igt_subtest("addfb25-y-tiled-legacy") { >>> igt_require_fb_modifiers(fd); >>> - igt_require_intel(fd); >> >> This removes duplication (if it is intel-i915 specific subtest). >> >>> f.modifier[0] = I915_FORMAT_MOD_Y_TILED; >>> igt_assert_eq(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f), >>> @@ -631,7 +640,6 @@ static void addfb25_ytile(int fd) >>> igt_describe("Check if addfb2 call works for yf-tiling"); >>> igt_subtest("addfb25-yf-tiled-legacy") { >>> igt_require_fb_modifiers(fd); >>> - igt_require_intel(fd); >>> f.modifier[0] = I915_FORMAT_MOD_Yf_TILED; >>> igt_assert_eq(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f), >>> @@ -644,7 +652,6 @@ static void addfb25_ytile(int fd) >>> igt_describe("Test that addfb2 call fails correctly for >>> y-tiling with given height and modifier"); >>> igt_subtest("addfb25-y-tiled-small-legacy") { >>> igt_require_fb_modifiers(fd); >>> - igt_require_intel(fd); >>> f.modifier[0] = I915_FORMAT_MOD_Y_TILED; >>> f.height = 1023; >>> @@ -667,6 +674,7 @@ static void addfb25_4tile(int fd) >>> igt_display_t display; >>> igt_fixture { >>> + igt_require_i915(fd); >>> igt_display_require(&display, fd); >>> gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024, >>> @@ -689,7 +697,6 @@ static void addfb25_4tile(int fd) >>> igt_describe("Check if addfb2 call works for tiling-4"); >>> igt_subtest("addfb25-4-tiled") { >>> igt_require_fb_modifiers(fd); >>> - igt_require_intel(fd); >>> f.modifier[0] = I915_FORMAT_MOD_4_TILED; >>> igt_assert_eq(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f), >>> @@ -839,6 +846,9 @@ igt_main >>> igt_fixture { >>> fd = drm_open_driver_master(DRIVER_ANY); >>> igt_require(has_addfb2_iface(fd)); >>> + >>> + if (is_xe_device(fd)) >>> + xe_device_get(fd); >>> } >>> invalid_tests(fd); >>> @@ -847,6 +857,10 @@ igt_main >>> size_tests(fd); >>> + prop_tests(fd); >>> + >>> + master_tests(fd); >>> + >>> addfb25_tests(fd); >>> addfb25_ytile(fd); >>> @@ -855,10 +869,10 @@ igt_main >>> tiling_tests(fd); >>> - prop_tests(fd); >>> - >>> - master_tests(fd); >> >> This is just moved above, how does it avoid duplication ? > > Sorry for the incomplete information. There are 2 reasons to do this. > > 1. Due to the i915 check in igt_fixture in previous tests, these prop > & master tests are getting SKIP. > > Subtest addfb25-framebuffer-vs-set-tiling: SKIP (0.000s) > Test requirement not met in function igt_require_i915, file > ../lib/drmtest.c:664: > Test requirement: is_i915_device(fd) > Subtest addfb25-y-tiled-legacy: SKIP (0.000s) > Subtest addfb25-yf-tiled-legacy: SKIP (0.000s) > Subtest addfb25-y-tiled-small-legacy: SKIP (0.000s) > Subtest addfb25-4-tiled: SKIP (0.000s) > Subtest basic-x-tiled-legacy: SKIP (0.000s) > Subtest framebuffer-vs-set-tiling: SKIP (0.000s) > Subtest tile-pitch-mismatch: SKIP (0.000s) > Subtest basic-y-tiled-legacy: SKIP (0.000s) > Subtest invalid-get-prop-any: SKIP (0.000s) > Subtest invalid-get-prop: SKIP (0.000s) > Subtest invalid-set-prop-any: SKIP (0.000s) > Subtest invalid-set-prop: SKIP (0.000s) > Subtest master-rmfb: SKIP (0.000s) > > > After re-ordering these tests (with minimum code churn) tests are > getting PASS. > > Starting subtest: bo-too-small-due-to-tiling > Test requirement not met in function igt_require_i915, file > ../lib/drmtest.c:664: > Test requirement: is_i915_device(fd) > Subtest bo-too-small-due-to-tiling: SKIP (0.000s) > Starting subtest: invalid-get-prop-any > Subtest invalid-get-prop-any: SUCCESS (0.000s) > Starting subtest: invalid-get-prop > Subtest invalid-get-prop: SUCCESS (0.000s) > Starting subtest: invalid-set-prop-any > Subtest invalid-set-prop-any: SUCCESS (0.000s) > Starting subtest: invalid-set-prop > Subtest invalid-set-prop: SUCCESS (0.000s) > Starting subtest: master-rmfb > Subtest master-rmfb: SUCCESS (0.000s) > > > 2. As XE subtests are tightly coupled with the xe_device_get() and > igt_display_fini() in tiling tests destroys xe_device will cause the > failures in prop & master tests (only if we enable tiling tests in > future). > > Maybe I need to re-word the commit message. Hi, The test reordering seems to be masking the problem in the existing code. I understand that this patch isn't actually introducing the issue, but I think we would need some code restructuring to fix the issue to add XE support in this binary. I see 2 things which are causing the issue here. 1. 'igt_display_(require|fini)' being called individually inside the functions. 'igt_display_require' is caused 3 times and 'igt_display_fini' is called to 2 times. And as igt_display_fini is internally calling 'xe_device_put', this will mess up any xe specific subtests after this call. This could be fixed by using 'igt_subtest_group' to group the subtests which need display and call igt_display_require only once. 'igt_display_fini' can then be called in a fixture only in the end of all the subtests. 2. The 'igt_require_i915' being called in a fixture outside a subtest_group, which is causing all following sub tests to skip. Again this could be fixed by using 'igt_subtest_group' to group the subtests which are specific to i915 and have this check in a fixture inside the subtest group. This looks a little tricky as I see a couple of functions that are having a combination of i915 and generic tests, but I can't think of any better way to handle this currently. Thanks, Karthik.B.S > > - Bhanu > >> >> Regards, >> Kamil >> >>> + igt_fixture { >>> + if (is_xe_device(fd)) >>> + xe_device_put(fd); >>> - igt_fixture >>> close(fd); >>> + } >>> } >>> -- >>> 2.40.0 >>> ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [igt-dev] [i-g-t V2 3/5] tests/kms_addfb_basic: Add XE support 2023-04-06 6:42 ` Karthik B S @ 2023-04-06 7:57 ` Modem, Bhanuprakash 0 siblings, 0 replies; 14+ messages in thread From: Modem, Bhanuprakash @ 2023-04-06 7:57 UTC (permalink / raw) To: Karthik B S, Kamil Konieczny, igt-dev Hi Karthik, On Thu-06-04-2023 12:12 pm, Karthik B S wrote: > > On 4/5/2023 11:43 AM, Modem, Bhanuprakash wrote: >> Hi Kamil, >> >> On Tue-04-04-2023 08:32 pm, Kamil Konieczny wrote: >>> Hi Bhanuprakash, >>> >>> On 2023-03-31 at 19:15:54 +0530, Bhanuprakash Modem wrote: >>>> Update/fix necessary subtests for XE driver compatibility. >>>> Also, reorder existing subtests to avoid code duplication. >>>> >>>> V2: - Fix invalid-smem-bo-on-discrete subtest (Zbigniew) >>>> >>>> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> >>>> --- >>>> tests/kms_addfb_basic.c | 42 >>>> +++++++++++++++++++++++++++-------------- >>>> 1 file changed, 28 insertions(+), 14 deletions(-) >>>> >>>> diff --git a/tests/kms_addfb_basic.c b/tests/kms_addfb_basic.c >>>> index b4526eee6..e27b22fe0 100644 >>>> --- a/tests/kms_addfb_basic.c >>>> +++ b/tests/kms_addfb_basic.c >>>> @@ -41,6 +41,8 @@ >>>> #include "igt_rand.h" >>>> #include "igt_device.h" >>>> #include "i915/intel_memory_region.h" >>>> +#include "xe/xe_ioctl.h" >>>> +#include "xe/xe_query.h" >>>> uint32_t gem_bo; >>>> uint32_t gem_bo_small; >>>> @@ -121,7 +123,7 @@ static void invalid_tests(int fd) >>>> igt_describe("Check if addfb2 call works for clobbered >>>> modifier"); >>>> igt_subtest("clobberred-modifier") { >>>> - igt_require_intel(fd); >>>> + igt_require_i915(fd); >>>> igt_require(gem_available_fences(fd) > 0); >>>> f.flags = 0; >>>> f.modifier[0] = 0; >>>> @@ -139,10 +141,17 @@ static void invalid_tests(int fd) >>>> uint64_t size; >>>> igt_require_intel(fd); >>>> - igt_require(gem_has_lmem(fd)); >>>> igt_calc_fb_size(fd, f.width, f.height, >>>> DRM_FORMAT_XRGB8888, 0, &size, &stride); >>>> - handle = gem_create_in_memory_regions(fd, size, REGION_SMEM); >>>> + >>>> + if (is_i915_device(fd)) { >>>> + igt_require(gem_has_lmem(fd)); >>>> + handle = gem_create_in_memory_regions(fd, size, >>>> REGION_SMEM); >>>> + } else { >>>> + igt_require(xe_has_vram(fd)); >>>> + handle = xe_bo_create_flags(fd, 0, size, >>>> system_memory(fd)); >>>> + } >>>> + >>>> f.handles[0] = handle; >>>> do_ioctl_err(fd, DRM_IOCTL_MODE_ADDFB2, &f, EREMOTE); >>>> } >>>> @@ -323,7 +332,7 @@ static void tiling_tests(int fd) >>>> igt_subtest_group { >>>> igt_fixture { >>>> - igt_require_intel(fd); >>>> + igt_require_i915(fd); >>>> tiled_x_bo = igt_create_bo_with_dimensions(fd, 1024, >>>> 1024, >>>> DRM_FORMAT_XRGB8888, I915_FORMAT_MOD_X_TILED, >>>> 1024*4, NULL, NULL, NULL); >>>> @@ -494,7 +503,7 @@ static void size_tests(int fd) >>>> igt_describe("Test that addfb2 call fails correctly with >>>> small buffer object after changing tile"); >>>> igt_subtest("bo-too-small-due-to-tiling") { >>>> - igt_require_intel(fd); >>>> + igt_require_i915(fd); >>>> igt_require(gem_available_fences(fd) > 0); >>>> gem_set_tiling(fd, gem_bo_small, I915_TILING_X, 1024*4); >>>> do_ioctl_err(fd, DRM_IOCTL_MODE_ADDFB2, &f, EINVAL); >>>> @@ -548,7 +557,7 @@ static void addfb25_tests(int fd) >>>> igt_subtest_group { >>>> igt_fixture { >>>> - igt_require_intel(fd); >>>> + igt_require_i915(fd); >>>> igt_require(gem_available_fences(fd) > 0); >>>> gem_set_tiling(fd, gem_bo, I915_TILING_X, 1024*4); >>>> igt_require_fb_modifiers(fd); >>>> @@ -594,6 +603,7 @@ static void addfb25_ytile(int fd) >>>> igt_display_t display; >>>> igt_fixture { >>>> + igt_require_i915(fd); >>>> igt_display_require(&display, fd); >>>> gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024, >>>> @@ -618,7 +628,6 @@ static void addfb25_ytile(int fd) >>>> igt_describe("Check if addfb2 call works for y-tiling"); >>>> igt_subtest("addfb25-y-tiled-legacy") { >>>> igt_require_fb_modifiers(fd); >>>> - igt_require_intel(fd); >>> >>> This removes duplication (if it is intel-i915 specific subtest). >>> >>>> f.modifier[0] = I915_FORMAT_MOD_Y_TILED; >>>> igt_assert_eq(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f), >>>> @@ -631,7 +640,6 @@ static void addfb25_ytile(int fd) >>>> igt_describe("Check if addfb2 call works for yf-tiling"); >>>> igt_subtest("addfb25-yf-tiled-legacy") { >>>> igt_require_fb_modifiers(fd); >>>> - igt_require_intel(fd); >>>> f.modifier[0] = I915_FORMAT_MOD_Yf_TILED; >>>> igt_assert_eq(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f), >>>> @@ -644,7 +652,6 @@ static void addfb25_ytile(int fd) >>>> igt_describe("Test that addfb2 call fails correctly for >>>> y-tiling with given height and modifier"); >>>> igt_subtest("addfb25-y-tiled-small-legacy") { >>>> igt_require_fb_modifiers(fd); >>>> - igt_require_intel(fd); >>>> f.modifier[0] = I915_FORMAT_MOD_Y_TILED; >>>> f.height = 1023; >>>> @@ -667,6 +674,7 @@ static void addfb25_4tile(int fd) >>>> igt_display_t display; >>>> igt_fixture { >>>> + igt_require_i915(fd); >>>> igt_display_require(&display, fd); >>>> gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024, >>>> @@ -689,7 +697,6 @@ static void addfb25_4tile(int fd) >>>> igt_describe("Check if addfb2 call works for tiling-4"); >>>> igt_subtest("addfb25-4-tiled") { >>>> igt_require_fb_modifiers(fd); >>>> - igt_require_intel(fd); >>>> f.modifier[0] = I915_FORMAT_MOD_4_TILED; >>>> igt_assert_eq(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f), >>>> @@ -839,6 +846,9 @@ igt_main >>>> igt_fixture { >>>> fd = drm_open_driver_master(DRIVER_ANY); >>>> igt_require(has_addfb2_iface(fd)); >>>> + >>>> + if (is_xe_device(fd)) >>>> + xe_device_get(fd); >>>> } >>>> invalid_tests(fd); >>>> @@ -847,6 +857,10 @@ igt_main >>>> size_tests(fd); >>>> + prop_tests(fd); >>>> + >>>> + master_tests(fd); >>>> + >>>> addfb25_tests(fd); >>>> addfb25_ytile(fd); >>>> @@ -855,10 +869,10 @@ igt_main >>>> tiling_tests(fd); >>>> - prop_tests(fd); >>>> - >>>> - master_tests(fd); >>> >>> This is just moved above, how does it avoid duplication ? >> >> Sorry for the incomplete information. There are 2 reasons to do this. >> >> 1. Due to the i915 check in igt_fixture in previous tests, these prop >> & master tests are getting SKIP. >> >> Subtest addfb25-framebuffer-vs-set-tiling: SKIP (0.000s) >> Test requirement not met in function igt_require_i915, file >> ../lib/drmtest.c:664: >> Test requirement: is_i915_device(fd) >> Subtest addfb25-y-tiled-legacy: SKIP (0.000s) >> Subtest addfb25-yf-tiled-legacy: SKIP (0.000s) >> Subtest addfb25-y-tiled-small-legacy: SKIP (0.000s) >> Subtest addfb25-4-tiled: SKIP (0.000s) >> Subtest basic-x-tiled-legacy: SKIP (0.000s) >> Subtest framebuffer-vs-set-tiling: SKIP (0.000s) >> Subtest tile-pitch-mismatch: SKIP (0.000s) >> Subtest basic-y-tiled-legacy: SKIP (0.000s) >> Subtest invalid-get-prop-any: SKIP (0.000s) >> Subtest invalid-get-prop: SKIP (0.000s) >> Subtest invalid-set-prop-any: SKIP (0.000s) >> Subtest invalid-set-prop: SKIP (0.000s) >> Subtest master-rmfb: SKIP (0.000s) >> >> >> After re-ordering these tests (with minimum code churn) tests are >> getting PASS. >> >> Starting subtest: bo-too-small-due-to-tiling >> Test requirement not met in function igt_require_i915, file >> ../lib/drmtest.c:664: >> Test requirement: is_i915_device(fd) >> Subtest bo-too-small-due-to-tiling: SKIP (0.000s) >> Starting subtest: invalid-get-prop-any >> Subtest invalid-get-prop-any: SUCCESS (0.000s) >> Starting subtest: invalid-get-prop >> Subtest invalid-get-prop: SUCCESS (0.000s) >> Starting subtest: invalid-set-prop-any >> Subtest invalid-set-prop-any: SUCCESS (0.000s) >> Starting subtest: invalid-set-prop >> Subtest invalid-set-prop: SUCCESS (0.000s) >> Starting subtest: master-rmfb >> Subtest master-rmfb: SUCCESS (0.000s) >> >> >> 2. As XE subtests are tightly coupled with the xe_device_get() and >> igt_display_fini() in tiling tests destroys xe_device will cause the >> failures in prop & master tests (only if we enable tiling tests in >> future). >> >> Maybe I need to re-word the commit message. > Hi, > > The test reordering seems to be masking the problem in the existing > code. I understand that this patch isn't actually introducing the issue, > but I think we would need some code restructuring to fix the issue to > add XE support in this binary. > > I see 2 things which are causing the issue here. > > 1. 'igt_display_(require|fini)' being called individually inside the > functions. 'igt_display_require' is caused 3 times and > 'igt_display_fini' is called to 2 times. And as igt_display_fini is > internally calling 'xe_device_put', this will mess up any xe specific > subtests after this call. > > This could be fixed by using 'igt_subtest_group' to group the subtests > which need display and call igt_display_require only once. > 'igt_display_fini' can then be called in a fixture only in the end of > all the subtests. > > 2. The 'igt_require_i915' being called in a fixture outside a > subtest_group, which is causing all following sub tests to skip. > > Again this could be fixed by using 'igt_subtest_group' to group the > subtests which are specific to i915 and have this check in a fixture > inside the subtest group. This looks a little tricky as I see a couple > of functions that are having a combination of i915 and generic tests, > but I can't think of any better way to handle this currently. I have separated this into two patches and floated a new rev [*]. 1- Re-group & cleanup the code 2- Xe support [*]: https://patchwork.freedesktop.org/series/115381/ - Bhanu > > Thanks, > Karthik.B.S >> >> - Bhanu >> >>> >>> Regards, >>> Kamil >>> >>>> + igt_fixture { >>>> + if (is_xe_device(fd)) >>>> + xe_device_put(fd); >>>> - igt_fixture >>>> close(fd); >>>> + } >>>> } >>>> -- >>>> 2.40.0 >>>> ^ permalink raw reply [flat|nested] 14+ messages in thread
* [igt-dev] [i-g-t V2 4/5] tests/kms_force_connector_basic: Set the param only if driver supports 2023-03-31 13:45 [igt-dev] [i-g-t V2 0/5] Enable ADDFB tests for XE Bhanuprakash Modem ` (2 preceding siblings ...) 2023-03-31 13:45 ` [igt-dev] [i-g-t V2 3/5] tests/kms_addfb_basic: Add XE support Bhanuprakash Modem @ 2023-03-31 13:45 ` Bhanuprakash Modem 2023-04-04 14:51 ` Kamil Konieczny 2023-03-31 13:45 ` [igt-dev] [i-g-t V2 5/5] xe-fast-feedback: Add basic kms tests to XE BAT Bhanuprakash Modem ` (2 subsequent siblings) 6 siblings, 1 reply; 14+ messages in thread From: Bhanuprakash Modem @ 2023-03-31 13:45 UTC (permalink / raw) To: igt-dev Set/Clear the param "load_detect_test" only if driver supports. V2: - Set the param if driver supports - Fix the commit message Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> --- tests/kms_force_connector_basic.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tests/kms_force_connector_basic.c b/tests/kms_force_connector_basic.c index 4ff1efe3b..35e8153c8 100644 --- a/tests/kms_force_connector_basic.c +++ b/tests/kms_force_connector_basic.c @@ -36,6 +36,7 @@ static void reset_connectors(void) drmModeRes *res; drmModeConnector *connector = NULL; int drm_fd; + char *param; drm_fd = drm_open_driver_master(DRIVER_ANY); res = drmModeGetResources(drm_fd); @@ -53,7 +54,11 @@ static void reset_connectors(void) drmModeFreeConnector(connector); } - igt_set_module_param_int(drm_fd, "load_detect_test", 0); + param = __igt_params_get(drm_fd, "load_detect_test"); + if (param) { + igt_set_module_param_int(drm_fd, "load_detect_test", 0); + free(param); + } close(drm_fd); } -- 2.40.0 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [igt-dev] [i-g-t V2 4/5] tests/kms_force_connector_basic: Set the param only if driver supports 2023-03-31 13:45 ` [igt-dev] [i-g-t V2 4/5] tests/kms_force_connector_basic: Set the param only if driver supports Bhanuprakash Modem @ 2023-04-04 14:51 ` Kamil Konieczny 0 siblings, 0 replies; 14+ messages in thread From: Kamil Konieczny @ 2023-04-04 14:51 UTC (permalink / raw) To: igt-dev On 2023-03-31 at 19:15:55 +0530, Bhanuprakash Modem wrote: > Set/Clear the param "load_detect_test" only if driver supports. > > V2: - Set the param if driver supports > - Fix the commit message > > Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> Reviewed-by: Kamil Konieczny <kamil.konieczny@linux.intel.com> > --- > tests/kms_force_connector_basic.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/tests/kms_force_connector_basic.c b/tests/kms_force_connector_basic.c > index 4ff1efe3b..35e8153c8 100644 > --- a/tests/kms_force_connector_basic.c > +++ b/tests/kms_force_connector_basic.c > @@ -36,6 +36,7 @@ static void reset_connectors(void) > drmModeRes *res; > drmModeConnector *connector = NULL; > int drm_fd; > + char *param; > > drm_fd = drm_open_driver_master(DRIVER_ANY); > res = drmModeGetResources(drm_fd); > @@ -53,7 +54,11 @@ static void reset_connectors(void) > drmModeFreeConnector(connector); > } > > - igt_set_module_param_int(drm_fd, "load_detect_test", 0); > + param = __igt_params_get(drm_fd, "load_detect_test"); > + if (param) { > + igt_set_module_param_int(drm_fd, "load_detect_test", 0); > + free(param); > + } > > close(drm_fd); > } > -- > 2.40.0 > ^ permalink raw reply [flat|nested] 14+ messages in thread
* [igt-dev] [i-g-t V2 5/5] xe-fast-feedback: Add basic kms tests to XE BAT 2023-03-31 13:45 [igt-dev] [i-g-t V2 0/5] Enable ADDFB tests for XE Bhanuprakash Modem ` (3 preceding siblings ...) 2023-03-31 13:45 ` [igt-dev] [i-g-t V2 4/5] tests/kms_force_connector_basic: Set the param only if driver supports Bhanuprakash Modem @ 2023-03-31 13:45 ` Bhanuprakash Modem 2023-03-31 15:58 ` [igt-dev] ✓ Fi.CI.BAT: success for Enable ADDFB tests for XE (rev3) Patchwork 2023-04-01 15:19 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork 6 siblings, 0 replies; 14+ messages in thread From: Bhanuprakash Modem @ 2023-03-31 13:45 UTC (permalink / raw) To: igt-dev Add display's connector detect, addfb2 and prop tests to XE BAT. Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> --- tests/intel-ci/xe-fast-feedback.testlist | 30 ++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/tests/intel-ci/xe-fast-feedback.testlist b/tests/intel-ci/xe-fast-feedback.testlist index 5f3bd2e91..5efb226ca 100644 --- a/tests/intel-ci/xe-fast-feedback.testlist +++ b/tests/intel-ci/xe-fast-feedback.testlist @@ -140,3 +140,33 @@ igt@xe_vm@munmap-style-unbind-userptr-front igt@xe_vm@munmap-style-unbind-userptr-inval-end igt@xe_vm@munmap-style-unbind-userptr-inval-front igt@xe_waitfence@test +igt@kms_addfb_basic@addfb25-bad-modifier +igt@kms_addfb_basic@addfb25-modifier-no-flag +igt@kms_addfb_basic@bad-pitch-0 +igt@kms_addfb_basic@bad-pitch-1024 +igt@kms_addfb_basic@bad-pitch-128 +igt@kms_addfb_basic@bad-pitch-256 +igt@kms_addfb_basic@bad-pitch-32 +igt@kms_addfb_basic@bad-pitch-63 +igt@kms_addfb_basic@bad-pitch-65536 +igt@kms_addfb_basic@bad-pitch-999 +igt@kms_addfb_basic@basic +igt@kms_addfb_basic@bo-too-small +igt@kms_addfb_basic@invalid-get-prop +igt@kms_addfb_basic@invalid-get-prop-any +igt@kms_addfb_basic@invalid-set-prop +igt@kms_addfb_basic@invalid-set-prop-any +igt@kms_addfb_basic@no-handle +igt@kms_addfb_basic@size-max +igt@kms_addfb_basic@small-bo +igt@kms_addfb_basic@too-high +igt@kms_addfb_basic@too-wide +igt@kms_addfb_basic@unused-handle +igt@kms_addfb_basic@unused-modifier +igt@kms_addfb_basic@unused-offsets +igt@kms_addfb_basic@unused-pitches +igt@kms_force_connector_basic@force-connector-state +igt@kms_force_connector_basic@force-edid +igt@kms_force_connector_basic@force-load-detect +igt@kms_force_connector_basic@prune-stale-modes +igt@kms_prop_blob@basic -- 2.40.0 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for Enable ADDFB tests for XE (rev3) 2023-03-31 13:45 [igt-dev] [i-g-t V2 0/5] Enable ADDFB tests for XE Bhanuprakash Modem ` (4 preceding siblings ...) 2023-03-31 13:45 ` [igt-dev] [i-g-t V2 5/5] xe-fast-feedback: Add basic kms tests to XE BAT Bhanuprakash Modem @ 2023-03-31 15:58 ` Patchwork 2023-04-01 15:19 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork 6 siblings, 0 replies; 14+ messages in thread From: Patchwork @ 2023-03-31 15:58 UTC (permalink / raw) To: Modem, Bhanuprakash; +Cc: igt-dev [-- Attachment #1: Type: text/plain, Size: 4406 bytes --] == Series Details == Series: Enable ADDFB tests for XE (rev3) URL : https://patchwork.freedesktop.org/series/115381/ State : success == Summary == CI Bug Log - changes from CI_DRM_12951 -> IGTPW_8731 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8731/index.html Participating hosts (37 -> 35) ------------------------------ Missing (2): fi-snb-2520m fi-pnv-d510 Known issues ------------ Here are the changes found in IGTPW_8731 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@i915_selftest@live@requests: - bat-rpls-1: [PASS][1] -> [ABORT][2] ([i915#4983] / [i915#7911]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12951/bat-rpls-1/igt@i915_selftest@live@requests.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8731/bat-rpls-1/igt@i915_selftest@live@requests.html * igt@kms_chamelium_hpd@common-hpd-after-suspend: - bat-dg2-11: NOTRUN -> [SKIP][3] ([i915#7828]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8731/bat-dg2-11/igt@kms_chamelium_hpd@common-hpd-after-suspend.html * igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence: - bat-dg2-11: NOTRUN -> [SKIP][4] ([i915#5354]) [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8731/bat-dg2-11/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html #### Possible fixes #### * igt@i915_pm_rps@basic-api: - bat-dg2-11: [FAIL][5] ([i915#8308]) -> [PASS][6] [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12951/bat-dg2-11/igt@i915_pm_rps@basic-api.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8731/bat-dg2-11/igt@i915_pm_rps@basic-api.html * igt@i915_selftest@live@hangcheck: - fi-skl-guc: [DMESG-WARN][7] ([i915#8073]) -> [PASS][8] [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12951/fi-skl-guc/igt@i915_selftest@live@hangcheck.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8731/fi-skl-guc/igt@i915_selftest@live@hangcheck.html - bat-dg2-11: [ABORT][9] ([i915#7913]) -> [PASS][10] [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12951/bat-dg2-11/igt@i915_selftest@live@hangcheck.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8731/bat-dg2-11/igt@i915_selftest@live@hangcheck.html * igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-d-dp-1: - bat-dg2-8: [FAIL][11] ([i915#7932]) -> [PASS][12] [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12951/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-d-dp-1.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8731/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-d-dp-1.html #### Warnings #### * igt@i915_selftest@live@slpc: - bat-rpls-2: [DMESG-FAIL][13] ([i915#6997] / [i915#7913]) -> [DMESG-FAIL][14] ([i915#6367] / [i915#7913]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12951/bat-rpls-2/igt@i915_selftest@live@slpc.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8731/bat-rpls-2/igt@i915_selftest@live@slpc.html [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983 [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354 [i915#6367]: https://gitlab.freedesktop.org/drm/intel/issues/6367 [i915#6997]: https://gitlab.freedesktop.org/drm/intel/issues/6997 [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828 [i915#7911]: https://gitlab.freedesktop.org/drm/intel/issues/7911 [i915#7913]: https://gitlab.freedesktop.org/drm/intel/issues/7913 [i915#7932]: https://gitlab.freedesktop.org/drm/intel/issues/7932 [i915#8073]: https://gitlab.freedesktop.org/drm/intel/issues/8073 [i915#8308]: https://gitlab.freedesktop.org/drm/intel/issues/8308 Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_7230 -> IGTPW_8731 CI-20190529: 20190529 CI_DRM_12951: f128906b94b25a0f0c12dc8c647b8adc8d934d8c @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_8731: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8731/index.html IGT_7230: f0485204004305dd3ee8f8bbbb9c552e53a4e050 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8731/index.html [-- Attachment #2: Type: text/html, Size: 5313 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* [igt-dev] ✗ Fi.CI.IGT: failure for Enable ADDFB tests for XE (rev3) 2023-03-31 13:45 [igt-dev] [i-g-t V2 0/5] Enable ADDFB tests for XE Bhanuprakash Modem ` (5 preceding siblings ...) 2023-03-31 15:58 ` [igt-dev] ✓ Fi.CI.BAT: success for Enable ADDFB tests for XE (rev3) Patchwork @ 2023-04-01 15:19 ` Patchwork 6 siblings, 0 replies; 14+ messages in thread From: Patchwork @ 2023-04-01 15:19 UTC (permalink / raw) To: Modem, Bhanuprakash; +Cc: igt-dev [-- Attachment #1: Type: text/plain, Size: 11905 bytes --] == Series Details == Series: Enable ADDFB tests for XE (rev3) URL : https://patchwork.freedesktop.org/series/115381/ State : failure == Summary == CI Bug Log - changes from CI_DRM_12951_full -> IGTPW_8731_full ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with IGTPW_8731_full absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in IGTPW_8731_full, 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_8731/index.html Participating hosts (7 -> 7) ------------------------------ No changes in participating hosts Possible new issues ------------------- Here are the unknown changes that may have been introduced in IGTPW_8731_full: ### IGT changes ### #### Possible regressions #### * igt@gem_flink_race@flink_close: - shard-snb: [PASS][1] -> [FAIL][2] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12951/shard-snb2/igt@gem_flink_race@flink_close.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8731/shard-snb4/igt@gem_flink_race@flink_close.html * igt@gem_spin_batch@resubmit@rcs0: - shard-glk: [PASS][3] -> [ABORT][4] [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12951/shard-glk4/igt@gem_spin_batch@resubmit@rcs0.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8731/shard-glk8/igt@gem_spin_batch@resubmit@rcs0.html * igt@gem_spin_batch@resubmit@vecs0: - shard-glk: [PASS][5] -> [DMESG-WARN][6] [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12951/shard-glk4/igt@gem_spin_batch@resubmit@vecs0.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8731/shard-glk8/igt@gem_spin_batch@resubmit@vecs0.html Known issues ------------ Here are the changes found in IGTPW_8731_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_exec_fair@basic-deadline: - shard-glk: [PASS][7] -> [FAIL][8] ([i915#2846]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12951/shard-glk9/igt@gem_exec_fair@basic-deadline.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8731/shard-glk1/igt@gem_exec_fair@basic-deadline.html * igt@gem_exec_fair@basic-pace@rcs0: - shard-glk: [PASS][9] -> [FAIL][10] ([i915#2842]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12951/shard-glk7/igt@gem_exec_fair@basic-pace@rcs0.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8731/shard-glk2/igt@gem_exec_fair@basic-pace@rcs0.html * igt@kms_flip@flip-vs-expired-vblank@a-hdmi-a2: - shard-glk: [PASS][11] -> [FAIL][12] ([i915#79]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12951/shard-glk2/igt@kms_flip@flip-vs-expired-vblank@a-hdmi-a2.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8731/shard-glk6/igt@kms_flip@flip-vs-expired-vblank@a-hdmi-a2.html * igt@kms_flip@flip-vs-suspend@c-dp1: - shard-apl: [PASS][13] -> [ABORT][14] ([i915#180]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12951/shard-apl3/igt@kms_flip@flip-vs-suspend@c-dp1.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8731/shard-apl2/igt@kms_flip@flip-vs-suspend@c-dp1.html #### Possible fixes #### * igt@gem_eio@in-flight-contexts-1us: - {shard-tglu}: [TIMEOUT][15] ([i915#3063]) -> [PASS][16] [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12951/shard-tglu-7/igt@gem_eio@in-flight-contexts-1us.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8731/shard-tglu-10/igt@gem_eio@in-flight-contexts-1us.html * igt@i915_pm_dc@dc9-dpms: - shard-apl: [SKIP][17] ([fdo#109271]) -> [PASS][18] [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12951/shard-apl6/igt@i915_pm_dc@dc9-dpms.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8731/shard-apl1/igt@i915_pm_dc@dc9-dpms.html * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic: - shard-glk: [FAIL][19] ([i915#72]) -> [PASS][20] [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12951/shard-glk1/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8731/shard-glk8/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic.html * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size: - shard-apl: [FAIL][21] ([i915#2346]) -> [PASS][22] [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12951/shard-apl2/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8731/shard-apl1/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.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 [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274 [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280 [fdo#109283]: https://bugs.freedesktop.org/show_bug.cgi?id=109283 [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289 [fdo#109307]: https://bugs.freedesktop.org/show_bug.cgi?id=109307 [fdo#109309]: https://bugs.freedesktop.org/show_bug.cgi?id=109309 [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315 [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189 [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068 [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615 [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825 [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827 [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072 [i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397 [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180 [i915#1839]: https://gitlab.freedesktop.org/drm/intel/issues/1839 [i915#1937]: https://gitlab.freedesktop.org/drm/intel/issues/1937 [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346 [i915#2433]: https://gitlab.freedesktop.org/drm/intel/issues/2433 [i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437 [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#2681]: https://gitlab.freedesktop.org/drm/intel/issues/2681 [i915#2705]: https://gitlab.freedesktop.org/drm/intel/issues/2705 [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#3063]: https://gitlab.freedesktop.org/drm/intel/issues/3063 [i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281 [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282 [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297 [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359 [i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458 [i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539 [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555 [i915#3591]: https://gitlab.freedesktop.org/drm/intel/issues/3591 [i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638 [i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689 [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708 [i915#3742]: https://gitlab.freedesktop.org/drm/intel/issues/3742 [i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840 [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886 [i915#3938]: https://gitlab.freedesktop.org/drm/intel/issues/3938 [i915#3989]: https://gitlab.freedesktop.org/drm/intel/issues/3989 [i915#404]: https://gitlab.freedesktop.org/drm/intel/issues/404 [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077 [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079 [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083 [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103 [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213 [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270 [i915#4281]: https://gitlab.freedesktop.org/drm/intel/issues/4281 [i915#433]: https://gitlab.freedesktop.org/drm/intel/issues/433 [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#4771]: https://gitlab.freedesktop.org/drm/intel/issues/4771 [i915#4812]: https://gitlab.freedesktop.org/drm/intel/issues/4812 [i915#4818]: https://gitlab.freedesktop.org/drm/intel/issues/4818 [i915#4833]: https://gitlab.freedesktop.org/drm/intel/issues/4833 [i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852 [i915#4859]: https://gitlab.freedesktop.org/drm/intel/issues/4859 [i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860 [i915#4879]: https://gitlab.freedesktop.org/drm/intel/issues/4879 [i915#4885]: https://gitlab.freedesktop.org/drm/intel/issues/4885 [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#5439]: https://gitlab.freedesktop.org/drm/intel/issues/5439 [i915#5461]: https://gitlab.freedesktop.org/drm/intel/issues/5461 [i915#5563]: https://gitlab.freedesktop.org/drm/intel/issues/5563 [i915#5723]: https://gitlab.freedesktop.org/drm/intel/issues/5723 [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095 [i915#6301]: https://gitlab.freedesktop.org/drm/intel/issues/6301 [i915#6524]: https://gitlab.freedesktop.org/drm/intel/issues/6524 [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658 [i915#6946]: https://gitlab.freedesktop.org/drm/intel/issues/6946 [i915#7116]: https://gitlab.freedesktop.org/drm/intel/issues/7116 [i915#72]: https://gitlab.freedesktop.org/drm/intel/issues/72 [i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561 [i915#7697]: https://gitlab.freedesktop.org/drm/intel/issues/7697 [i915#7711]: https://gitlab.freedesktop.org/drm/intel/issues/7711 [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828 [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79 [i915#8150]: https://gitlab.freedesktop.org/drm/intel/issues/8150 [i915#8292]: https://gitlab.freedesktop.org/drm/intel/issues/8292 Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_7230 -> IGTPW_8731 * Piglit: piglit_4509 -> None CI-20190529: 20190529 CI_DRM_12951: f128906b94b25a0f0c12dc8c647b8adc8d934d8c @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_8731: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8731/index.html IGT_7230: f0485204004305dd3ee8f8bbbb9c552e53a4e050 @ 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_8731/index.html [-- Attachment #2: Type: text/html, Size: 7123 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2023-04-06 7:57 UTC | newest] Thread overview: 14+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-03-31 13:45 [igt-dev] [i-g-t V2 0/5] Enable ADDFB tests for XE Bhanuprakash Modem 2023-03-31 13:45 ` [igt-dev] [i-g-t V2 1/5] lib/xe/xe_ioctl: Add a helper to map the buffer Bhanuprakash Modem 2023-03-31 13:45 ` [igt-dev] [i-g-t V2 2/5] lib/igt_fb: Add support for allocating buffers for XE Bhanuprakash Modem 2023-04-06 6:16 ` Karthik B S 2023-03-31 13:45 ` [igt-dev] [i-g-t V2 3/5] tests/kms_addfb_basic: Add XE support Bhanuprakash Modem 2023-04-04 15:02 ` Kamil Konieczny 2023-04-05 6:13 ` Modem, Bhanuprakash 2023-04-06 6:42 ` Karthik B S 2023-04-06 7:57 ` Modem, Bhanuprakash 2023-03-31 13:45 ` [igt-dev] [i-g-t V2 4/5] tests/kms_force_connector_basic: Set the param only if driver supports Bhanuprakash Modem 2023-04-04 14:51 ` Kamil Konieczny 2023-03-31 13:45 ` [igt-dev] [i-g-t V2 5/5] xe-fast-feedback: Add basic kms tests to XE BAT Bhanuprakash Modem 2023-03-31 15:58 ` [igt-dev] ✓ Fi.CI.BAT: success for Enable ADDFB tests for XE (rev3) Patchwork 2023-04-01 15:19 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox