* [PATCH igt v4 0/3] Initial igt tests for drm/msm ioctls @ 2021-08-31 16:17 ` Rob Clark 0 siblings, 0 replies; 10+ messages in thread From: Rob Clark @ 2021-08-31 16:17 UTC (permalink / raw) To: igt-dev Cc: freedreno, linux-arm-msm, Jordan Crouse, Akhil P Oommen, Petri Latvala, Rob Clark From: Rob Clark <robdclark@chromium.org> Add an initial set of tests for the gpu SUBMIT ioctl. There is plenty more we can add, but need to start somewhere. Rob Clark (3): drmtest: Add DRIVER_MSM support msm: Add helper library msm: Add submit ioctl tests .../igt-gpu-tools/igt-gpu-tools-docs.xml | 1 + lib/drmtest.c | 3 + lib/drmtest.h | 1 + lib/igt_msm.c | 211 ++++++++++++++++++ lib/igt_msm.h | 142 ++++++++++++ lib/meson.build | 1 + tests/meson.build | 1 + tests/msm_submit.c | 194 ++++++++++++++++ 8 files changed, 554 insertions(+) create mode 100644 lib/igt_msm.c create mode 100644 lib/igt_msm.h create mode 100644 tests/msm_submit.c -- 2.31.1 ^ permalink raw reply [flat|nested] 10+ messages in thread
* [igt-dev] [PATCH igt v4 0/3] Initial igt tests for drm/msm ioctls @ 2021-08-31 16:17 ` Rob Clark 0 siblings, 0 replies; 10+ messages in thread From: Rob Clark @ 2021-08-31 16:17 UTC (permalink / raw) To: igt-dev Cc: freedreno, linux-arm-msm, Jordan Crouse, Akhil P Oommen, Petri Latvala, Rob Clark From: Rob Clark <robdclark@chromium.org> Add an initial set of tests for the gpu SUBMIT ioctl. There is plenty more we can add, but need to start somewhere. Rob Clark (3): drmtest: Add DRIVER_MSM support msm: Add helper library msm: Add submit ioctl tests .../igt-gpu-tools/igt-gpu-tools-docs.xml | 1 + lib/drmtest.c | 3 + lib/drmtest.h | 1 + lib/igt_msm.c | 211 ++++++++++++++++++ lib/igt_msm.h | 142 ++++++++++++ lib/meson.build | 1 + tests/meson.build | 1 + tests/msm_submit.c | 194 ++++++++++++++++ 8 files changed, 554 insertions(+) create mode 100644 lib/igt_msm.c create mode 100644 lib/igt_msm.h create mode 100644 tests/msm_submit.c -- 2.31.1 ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH igt v4 1/3] drmtest: Add DRIVER_MSM support 2021-08-31 16:17 ` [igt-dev] " Rob Clark @ 2021-08-31 16:17 ` Rob Clark -1 siblings, 0 replies; 10+ messages in thread From: Rob Clark @ 2021-08-31 16:17 UTC (permalink / raw) To: igt-dev Cc: freedreno, linux-arm-msm, Jordan Crouse, Akhil P Oommen, Petri Latvala, Rob Clark From: Rob Clark <robdclark@chromium.org> Signed-off-by: Rob Clark <robdclark@chromium.org> Reviewed-by: Petri Latvala <petri.latvala@intel.com> --- lib/drmtest.c | 3 +++ lib/drmtest.h | 1 + 2 files changed, 4 insertions(+) diff --git a/lib/drmtest.c b/lib/drmtest.c index e1f9b115..29cb3f4c 100644 --- a/lib/drmtest.c +++ b/lib/drmtest.c @@ -179,6 +179,7 @@ static const struct module { } modules[] = { { DRIVER_AMDGPU, "amdgpu" }, { DRIVER_INTEL, "i915", modprobe_i915 }, + { DRIVER_MSM, "msm" }, { DRIVER_PANFROST, "panfrost" }, { DRIVER_V3D, "v3d" }, { DRIVER_VC4, "vc4" }, @@ -539,6 +540,8 @@ static const char *chipset_to_str(int chipset) return "amdgpu"; case DRIVER_PANFROST: return "panfrost"; + case DRIVER_MSM: + return "msm"; case DRIVER_ANY: return "any"; default: diff --git a/lib/drmtest.h b/lib/drmtest.h index 7d17a0f9..a6eb60c3 100644 --- a/lib/drmtest.h +++ b/lib/drmtest.h @@ -50,6 +50,7 @@ #define DRIVER_AMDGPU (1 << 3) #define DRIVER_V3D (1 << 4) #define DRIVER_PANFROST (1 << 5) +#define DRIVER_MSM (1 << 6) /* * Exclude DRVER_VGEM from DRIVER_ANY since if you run on a system -- 2.31.1 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [igt-dev] [PATCH igt v4 1/3] drmtest: Add DRIVER_MSM support @ 2021-08-31 16:17 ` Rob Clark 0 siblings, 0 replies; 10+ messages in thread From: Rob Clark @ 2021-08-31 16:17 UTC (permalink / raw) To: igt-dev Cc: freedreno, linux-arm-msm, Jordan Crouse, Akhil P Oommen, Petri Latvala, Rob Clark From: Rob Clark <robdclark@chromium.org> Signed-off-by: Rob Clark <robdclark@chromium.org> Reviewed-by: Petri Latvala <petri.latvala@intel.com> --- lib/drmtest.c | 3 +++ lib/drmtest.h | 1 + 2 files changed, 4 insertions(+) diff --git a/lib/drmtest.c b/lib/drmtest.c index e1f9b115..29cb3f4c 100644 --- a/lib/drmtest.c +++ b/lib/drmtest.c @@ -179,6 +179,7 @@ static const struct module { } modules[] = { { DRIVER_AMDGPU, "amdgpu" }, { DRIVER_INTEL, "i915", modprobe_i915 }, + { DRIVER_MSM, "msm" }, { DRIVER_PANFROST, "panfrost" }, { DRIVER_V3D, "v3d" }, { DRIVER_VC4, "vc4" }, @@ -539,6 +540,8 @@ static const char *chipset_to_str(int chipset) return "amdgpu"; case DRIVER_PANFROST: return "panfrost"; + case DRIVER_MSM: + return "msm"; case DRIVER_ANY: return "any"; default: diff --git a/lib/drmtest.h b/lib/drmtest.h index 7d17a0f9..a6eb60c3 100644 --- a/lib/drmtest.h +++ b/lib/drmtest.h @@ -50,6 +50,7 @@ #define DRIVER_AMDGPU (1 << 3) #define DRIVER_V3D (1 << 4) #define DRIVER_PANFROST (1 << 5) +#define DRIVER_MSM (1 << 6) /* * Exclude DRVER_VGEM from DRIVER_ANY since if you run on a system -- 2.31.1 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH igt v4 2/3] msm: Add helper library 2021-08-31 16:17 ` [igt-dev] " Rob Clark @ 2021-08-31 16:17 ` Rob Clark -1 siblings, 0 replies; 10+ messages in thread From: Rob Clark @ 2021-08-31 16:17 UTC (permalink / raw) To: igt-dev Cc: freedreno, linux-arm-msm, Jordan Crouse, Akhil P Oommen, Petri Latvala, Rob Clark From: Rob Clark <robdclark@chromium.org> Handle some of the boilerplate for tests. v2: fix comment, drop unnecessary drm_open_driver_render() error handling, docs fixes, drop igt_msm_pipe_get_param() (for now), handle NULL in destructors Signed-off-by: Rob Clark <robdclark@chromium.org> Reviewed-by: Petri Latvala <petri.latvala@intel.com> --- .../igt-gpu-tools/igt-gpu-tools-docs.xml | 1 + lib/igt_msm.c | 211 ++++++++++++++++++ lib/igt_msm.h | 142 ++++++++++++ lib/meson.build | 1 + 4 files changed, 355 insertions(+) create mode 100644 lib/igt_msm.c create mode 100644 lib/igt_msm.h diff --git a/docs/reference/igt-gpu-tools/igt-gpu-tools-docs.xml b/docs/reference/igt-gpu-tools/igt-gpu-tools-docs.xml index 0f49b4a3..189597c6 100644 --- a/docs/reference/igt-gpu-tools/igt-gpu-tools-docs.xml +++ b/docs/reference/igt-gpu-tools/igt-gpu-tools-docs.xml @@ -34,6 +34,7 @@ <xi:include href="xml/igt_kms.xml"/> <xi:include href="xml/igt_list.xml"/> <xi:include href="xml/igt_map.xml"/> + <xi:include href="xml/igt_msm.xml"/> <xi:include href="xml/igt_pm.xml"/> <xi:include href="xml/igt_primes.xml"/> <xi:include href="xml/igt_rand.xml"/> diff --git a/lib/igt_msm.c b/lib/igt_msm.c new file mode 100644 index 00000000..b9534164 --- /dev/null +++ b/lib/igt_msm.c @@ -0,0 +1,211 @@ +/* + * Copyright © 2021 Google, Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + */ + +#include <assert.h> +#include <string.h> +#include <signal.h> +#include <errno.h> +#include <sys/mman.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <sys/ioctl.h> +#include <fcntl.h> + +#include "drmtest.h" +#include "igt_aux.h" +#include "igt_core.h" +#include "igt_msm.h" +#include "ioctl_wrappers.h" + +/** + * SECTION:igt_msm + * @short_description: msm support library + * @title: msm + * @include: igt_msm.h + * + * This library provides various auxiliary helper functions for writing msm + * tests. + */ + +static uint64_t +get_param(struct msm_device *dev, uint32_t pipe, uint32_t param) +{ + struct drm_msm_param req = { + .pipe = pipe, + .param = param, + }; + + do_ioctl(dev->fd, DRM_IOCTL_MSM_GET_PARAM, &req); + + return req.value; +} + +/** + * igt_msm_dev_open: + * + * Open the msm drm device. + */ +struct msm_device * +igt_msm_dev_open(void) +{ + struct msm_device *dev = calloc(1, sizeof(*dev)); + + dev->fd = drm_open_driver_render(DRIVER_MSM); + dev->gen = (get_param(dev, MSM_PIPE_3D0, MSM_PARAM_CHIP_ID) >> 24) & 0xff; + + return dev; +} + +/** + * igt_msm_dev_close: + * @dev: the device to close + * + * Close the msm drm device. + */ +void +igt_msm_dev_close(struct msm_device *dev) +{ + if (!dev) + return; + close(dev->fd); + free(dev); +} + +/** + * igt_msm_bo_new: + * @dev: the device to allocate the BO from + * @size: the requested BO size in bytes + * @flags: bitmask of MSM_BO_x + * + * Allocate a buffer object of the requested size. + */ +struct msm_bo * +igt_msm_bo_new(struct msm_device *dev, size_t size, uint32_t flags) +{ + struct msm_bo *bo = calloc(1, sizeof(*bo)); + + struct drm_msm_gem_new req = { + .size = size, + .flags = flags, + }; + + bo->dev = dev; + bo->size = size; + + do_ioctl(dev->fd, DRM_IOCTL_MSM_GEM_NEW, &req); + + bo->handle = req.handle; + + return bo; +} + +/** + * igt_msm_bo_free: + * @bo: the BO to free + * + * Free a buffer object + */ +void +igt_msm_bo_free(struct msm_bo *bo) +{ + if (!bo) + return; + if (bo->map) + munmap(bo->map, bo->size); + gem_close(bo->dev->fd, bo->handle); + free(bo); +} + +/** + * igt_msm_bo_map: + * @bo: the BO to map + * + * Returns a pointer to mmap'd buffer. + */ +void * +igt_msm_bo_map(struct msm_bo *bo) +{ + if (!bo->map) { + struct drm_msm_gem_info req = { + .handle = bo->handle, + .info = MSM_INFO_GET_OFFSET, + }; + void *ptr; + + do_ioctl(bo->dev->fd, DRM_IOCTL_MSM_GEM_INFO, &req); + + ptr = mmap(0, bo->size, PROT_READ | PROT_WRITE, MAP_SHARED, + bo->dev->fd, req.value); + if (ptr == MAP_FAILED) + return NULL; + + bo->map = ptr; + } + return bo->map; +} + +/** + * igt_msm_pipe_open: + * @dev: the device to create a submitqueue/pipe against + * @prio: the requested priority, from 0 (highest) to MSM_PARAM_PRIORITIES-1 + * (lowest) + * + * Allocate a pipe/submitqueue against which cmdstream may be submitted. + */ +struct msm_pipe * +igt_msm_pipe_open(struct msm_device *dev, uint32_t prio) +{ + struct msm_pipe *pipe = calloc(1, sizeof(*pipe)); + struct drm_msm_submitqueue req = { + .flags = 0, + .prio = prio, + }; + + pipe->dev = dev; + pipe->pipe = MSM_PIPE_3D0; + + /* Note that kernels prior to v4.15 did not support submitqueues. + * Mesa maintains support for older kernels, but IGT does not need + * to. + */ + do_ioctl(dev->fd, DRM_IOCTL_MSM_SUBMITQUEUE_NEW, &req); + + pipe->submitqueue_id = req.id; + + return pipe; +} + +/** + * igt_msm_pipe_close: + * @pipe: the pipe to close + * + * Close a pipe + */ +void +igt_msm_pipe_close(struct msm_pipe *pipe) +{ + if (!pipe) + return; + do_ioctl(pipe->dev->fd, DRM_IOCTL_MSM_SUBMITQUEUE_CLOSE, &pipe->submitqueue_id); + free(pipe); +} diff --git a/lib/igt_msm.h b/lib/igt_msm.h new file mode 100644 index 00000000..99a099c1 --- /dev/null +++ b/lib/igt_msm.h @@ -0,0 +1,142 @@ +/* + * Copyright © 2021 Google, Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + */ + +#ifndef IGT_MSM_H +#define IGT_MSM_H + +#include "msm_drm.h" + +/** + * msm_device: + * @fd: the drm device file descriptor + * @gen: the device major generation (ie. 2 for a2xx, etc) + * + * Helper container for device and device related parameters used by tests. + */ +struct msm_device { + int fd; + unsigned gen; +}; + +struct msm_device *igt_msm_dev_open(void); +void igt_msm_dev_close(struct msm_device *dev); + +/** + * msm_bo: + * @dev: the device the BO is allocated from + * @handle: the BO's GEM handle + * @size: the BO's size + * @map: the BO's memory mapping (if mapped) + * + * Helper wrapper for a GEM buffer object. + */ +struct msm_bo { + struct msm_device *dev; + int handle; + uint32_t size; + void *map; +}; + +struct msm_bo *igt_msm_bo_new(struct msm_device *dev, size_t size, uint32_t flags); +void igt_msm_bo_free(struct msm_bo *bo); +void *igt_msm_bo_map(struct msm_bo *bo); + +/** + * msm_pipe: + * @dev: the device the pipe is allocated from + * @pipe: the pipe id + * @submitqueue_id: the submitqueue id + * + * Helper wrapper for a submitqueue for cmdstream submission. + */ +struct msm_pipe { + struct msm_device *dev; + uint32_t pipe; + uint32_t submitqueue_id; +}; + +struct msm_pipe *igt_msm_pipe_open(struct msm_device *dev, uint32_t prio); +void igt_msm_pipe_close(struct msm_pipe *pipe); + +/* + * Helpers for cmdstream building: + */ + +enum adreno_pm4_packet_type { + CP_TYPE0_PKT = 0, + CP_TYPE1_PKT = 0x40000000, + CP_TYPE2_PKT = 0x80000000, + CP_TYPE3_PKT = 0xc0000000, + CP_TYPE4_PKT = 0x40000000, + CP_TYPE7_PKT = 0x70000000, +}; + +enum adreno_pm4_type3_packets { + CP_NOP = 16, +}; + +static inline unsigned +pm4_odd_parity_bit(unsigned val) +{ + /* See: http://graphics.stanford.edu/~seander/bithacks.html#ParityParallel + * note that we want odd parity so 0x6996 is inverted. + */ + val ^= val >> 16; + val ^= val >> 8; + val ^= val >> 4; + val &= 0xf; + return (~0x6996 >> val) & 1; +} + +static inline uint32_t +pm4_pkt0_hdr(uint16_t regindx, uint16_t cnt) +{ + return CP_TYPE0_PKT | ((cnt - 1) << 16) | (regindx & 0x7fff); +} + +static inline uint32_t +pm4_pkt3_hdr(uint8_t opcode, uint16_t cnt) +{ + return CP_TYPE3_PKT | ((cnt - 1) << 16) | ((opcode & 0xff) << 8); +} + +static inline uint32_t +pm4_pkt4_hdr(uint16_t regindx, uint16_t cnt) +{ + return CP_TYPE4_PKT | cnt | (pm4_odd_parity_bit(cnt) << 7) | + ((regindx & 0x3ffff) << 8) | + ((pm4_odd_parity_bit(regindx) << 27)); +} + +static inline uint32_t +pm4_pkt7_hdr(uint8_t opcode, uint16_t cnt) +{ + return CP_TYPE7_PKT | cnt | (pm4_odd_parity_bit(cnt) << 15) | + ((opcode & 0x7f) << 16) | + ((pm4_odd_parity_bit(opcode) << 23)); +} + +#define U642VOID(x) ((void *)(uintptr_t)(x)) +#define VOID2U64(x) ((uint64_t)(uintptr_t)(x)) + +#endif /* IGT_MSM_H */ diff --git a/lib/meson.build b/lib/meson.build index 67d40512..c3080fc8 100644 --- a/lib/meson.build +++ b/lib/meson.build @@ -82,6 +82,7 @@ lib_sources = [ 'igt_eld.c', 'igt_infoframe.c', 'veboxcopy_gen12.c', + 'igt_msm.c', ] lib_deps = [ -- 2.31.1 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [igt-dev] [PATCH igt v4 2/3] msm: Add helper library @ 2021-08-31 16:17 ` Rob Clark 0 siblings, 0 replies; 10+ messages in thread From: Rob Clark @ 2021-08-31 16:17 UTC (permalink / raw) To: igt-dev Cc: freedreno, linux-arm-msm, Jordan Crouse, Akhil P Oommen, Petri Latvala, Rob Clark From: Rob Clark <robdclark@chromium.org> Handle some of the boilerplate for tests. v2: fix comment, drop unnecessary drm_open_driver_render() error handling, docs fixes, drop igt_msm_pipe_get_param() (for now), handle NULL in destructors Signed-off-by: Rob Clark <robdclark@chromium.org> Reviewed-by: Petri Latvala <petri.latvala@intel.com> --- .../igt-gpu-tools/igt-gpu-tools-docs.xml | 1 + lib/igt_msm.c | 211 ++++++++++++++++++ lib/igt_msm.h | 142 ++++++++++++ lib/meson.build | 1 + 4 files changed, 355 insertions(+) create mode 100644 lib/igt_msm.c create mode 100644 lib/igt_msm.h diff --git a/docs/reference/igt-gpu-tools/igt-gpu-tools-docs.xml b/docs/reference/igt-gpu-tools/igt-gpu-tools-docs.xml index 0f49b4a3..189597c6 100644 --- a/docs/reference/igt-gpu-tools/igt-gpu-tools-docs.xml +++ b/docs/reference/igt-gpu-tools/igt-gpu-tools-docs.xml @@ -34,6 +34,7 @@ <xi:include href="xml/igt_kms.xml"/> <xi:include href="xml/igt_list.xml"/> <xi:include href="xml/igt_map.xml"/> + <xi:include href="xml/igt_msm.xml"/> <xi:include href="xml/igt_pm.xml"/> <xi:include href="xml/igt_primes.xml"/> <xi:include href="xml/igt_rand.xml"/> diff --git a/lib/igt_msm.c b/lib/igt_msm.c new file mode 100644 index 00000000..b9534164 --- /dev/null +++ b/lib/igt_msm.c @@ -0,0 +1,211 @@ +/* + * Copyright © 2021 Google, Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + */ + +#include <assert.h> +#include <string.h> +#include <signal.h> +#include <errno.h> +#include <sys/mman.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <sys/ioctl.h> +#include <fcntl.h> + +#include "drmtest.h" +#include "igt_aux.h" +#include "igt_core.h" +#include "igt_msm.h" +#include "ioctl_wrappers.h" + +/** + * SECTION:igt_msm + * @short_description: msm support library + * @title: msm + * @include: igt_msm.h + * + * This library provides various auxiliary helper functions for writing msm + * tests. + */ + +static uint64_t +get_param(struct msm_device *dev, uint32_t pipe, uint32_t param) +{ + struct drm_msm_param req = { + .pipe = pipe, + .param = param, + }; + + do_ioctl(dev->fd, DRM_IOCTL_MSM_GET_PARAM, &req); + + return req.value; +} + +/** + * igt_msm_dev_open: + * + * Open the msm drm device. + */ +struct msm_device * +igt_msm_dev_open(void) +{ + struct msm_device *dev = calloc(1, sizeof(*dev)); + + dev->fd = drm_open_driver_render(DRIVER_MSM); + dev->gen = (get_param(dev, MSM_PIPE_3D0, MSM_PARAM_CHIP_ID) >> 24) & 0xff; + + return dev; +} + +/** + * igt_msm_dev_close: + * @dev: the device to close + * + * Close the msm drm device. + */ +void +igt_msm_dev_close(struct msm_device *dev) +{ + if (!dev) + return; + close(dev->fd); + free(dev); +} + +/** + * igt_msm_bo_new: + * @dev: the device to allocate the BO from + * @size: the requested BO size in bytes + * @flags: bitmask of MSM_BO_x + * + * Allocate a buffer object of the requested size. + */ +struct msm_bo * +igt_msm_bo_new(struct msm_device *dev, size_t size, uint32_t flags) +{ + struct msm_bo *bo = calloc(1, sizeof(*bo)); + + struct drm_msm_gem_new req = { + .size = size, + .flags = flags, + }; + + bo->dev = dev; + bo->size = size; + + do_ioctl(dev->fd, DRM_IOCTL_MSM_GEM_NEW, &req); + + bo->handle = req.handle; + + return bo; +} + +/** + * igt_msm_bo_free: + * @bo: the BO to free + * + * Free a buffer object + */ +void +igt_msm_bo_free(struct msm_bo *bo) +{ + if (!bo) + return; + if (bo->map) + munmap(bo->map, bo->size); + gem_close(bo->dev->fd, bo->handle); + free(bo); +} + +/** + * igt_msm_bo_map: + * @bo: the BO to map + * + * Returns a pointer to mmap'd buffer. + */ +void * +igt_msm_bo_map(struct msm_bo *bo) +{ + if (!bo->map) { + struct drm_msm_gem_info req = { + .handle = bo->handle, + .info = MSM_INFO_GET_OFFSET, + }; + void *ptr; + + do_ioctl(bo->dev->fd, DRM_IOCTL_MSM_GEM_INFO, &req); + + ptr = mmap(0, bo->size, PROT_READ | PROT_WRITE, MAP_SHARED, + bo->dev->fd, req.value); + if (ptr == MAP_FAILED) + return NULL; + + bo->map = ptr; + } + return bo->map; +} + +/** + * igt_msm_pipe_open: + * @dev: the device to create a submitqueue/pipe against + * @prio: the requested priority, from 0 (highest) to MSM_PARAM_PRIORITIES-1 + * (lowest) + * + * Allocate a pipe/submitqueue against which cmdstream may be submitted. + */ +struct msm_pipe * +igt_msm_pipe_open(struct msm_device *dev, uint32_t prio) +{ + struct msm_pipe *pipe = calloc(1, sizeof(*pipe)); + struct drm_msm_submitqueue req = { + .flags = 0, + .prio = prio, + }; + + pipe->dev = dev; + pipe->pipe = MSM_PIPE_3D0; + + /* Note that kernels prior to v4.15 did not support submitqueues. + * Mesa maintains support for older kernels, but IGT does not need + * to. + */ + do_ioctl(dev->fd, DRM_IOCTL_MSM_SUBMITQUEUE_NEW, &req); + + pipe->submitqueue_id = req.id; + + return pipe; +} + +/** + * igt_msm_pipe_close: + * @pipe: the pipe to close + * + * Close a pipe + */ +void +igt_msm_pipe_close(struct msm_pipe *pipe) +{ + if (!pipe) + return; + do_ioctl(pipe->dev->fd, DRM_IOCTL_MSM_SUBMITQUEUE_CLOSE, &pipe->submitqueue_id); + free(pipe); +} diff --git a/lib/igt_msm.h b/lib/igt_msm.h new file mode 100644 index 00000000..99a099c1 --- /dev/null +++ b/lib/igt_msm.h @@ -0,0 +1,142 @@ +/* + * Copyright © 2021 Google, Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + */ + +#ifndef IGT_MSM_H +#define IGT_MSM_H + +#include "msm_drm.h" + +/** + * msm_device: + * @fd: the drm device file descriptor + * @gen: the device major generation (ie. 2 for a2xx, etc) + * + * Helper container for device and device related parameters used by tests. + */ +struct msm_device { + int fd; + unsigned gen; +}; + +struct msm_device *igt_msm_dev_open(void); +void igt_msm_dev_close(struct msm_device *dev); + +/** + * msm_bo: + * @dev: the device the BO is allocated from + * @handle: the BO's GEM handle + * @size: the BO's size + * @map: the BO's memory mapping (if mapped) + * + * Helper wrapper for a GEM buffer object. + */ +struct msm_bo { + struct msm_device *dev; + int handle; + uint32_t size; + void *map; +}; + +struct msm_bo *igt_msm_bo_new(struct msm_device *dev, size_t size, uint32_t flags); +void igt_msm_bo_free(struct msm_bo *bo); +void *igt_msm_bo_map(struct msm_bo *bo); + +/** + * msm_pipe: + * @dev: the device the pipe is allocated from + * @pipe: the pipe id + * @submitqueue_id: the submitqueue id + * + * Helper wrapper for a submitqueue for cmdstream submission. + */ +struct msm_pipe { + struct msm_device *dev; + uint32_t pipe; + uint32_t submitqueue_id; +}; + +struct msm_pipe *igt_msm_pipe_open(struct msm_device *dev, uint32_t prio); +void igt_msm_pipe_close(struct msm_pipe *pipe); + +/* + * Helpers for cmdstream building: + */ + +enum adreno_pm4_packet_type { + CP_TYPE0_PKT = 0, + CP_TYPE1_PKT = 0x40000000, + CP_TYPE2_PKT = 0x80000000, + CP_TYPE3_PKT = 0xc0000000, + CP_TYPE4_PKT = 0x40000000, + CP_TYPE7_PKT = 0x70000000, +}; + +enum adreno_pm4_type3_packets { + CP_NOP = 16, +}; + +static inline unsigned +pm4_odd_parity_bit(unsigned val) +{ + /* See: http://graphics.stanford.edu/~seander/bithacks.html#ParityParallel + * note that we want odd parity so 0x6996 is inverted. + */ + val ^= val >> 16; + val ^= val >> 8; + val ^= val >> 4; + val &= 0xf; + return (~0x6996 >> val) & 1; +} + +static inline uint32_t +pm4_pkt0_hdr(uint16_t regindx, uint16_t cnt) +{ + return CP_TYPE0_PKT | ((cnt - 1) << 16) | (regindx & 0x7fff); +} + +static inline uint32_t +pm4_pkt3_hdr(uint8_t opcode, uint16_t cnt) +{ + return CP_TYPE3_PKT | ((cnt - 1) << 16) | ((opcode & 0xff) << 8); +} + +static inline uint32_t +pm4_pkt4_hdr(uint16_t regindx, uint16_t cnt) +{ + return CP_TYPE4_PKT | cnt | (pm4_odd_parity_bit(cnt) << 7) | + ((regindx & 0x3ffff) << 8) | + ((pm4_odd_parity_bit(regindx) << 27)); +} + +static inline uint32_t +pm4_pkt7_hdr(uint8_t opcode, uint16_t cnt) +{ + return CP_TYPE7_PKT | cnt | (pm4_odd_parity_bit(cnt) << 15) | + ((opcode & 0x7f) << 16) | + ((pm4_odd_parity_bit(opcode) << 23)); +} + +#define U642VOID(x) ((void *)(uintptr_t)(x)) +#define VOID2U64(x) ((uint64_t)(uintptr_t)(x)) + +#endif /* IGT_MSM_H */ diff --git a/lib/meson.build b/lib/meson.build index 67d40512..c3080fc8 100644 --- a/lib/meson.build +++ b/lib/meson.build @@ -82,6 +82,7 @@ lib_sources = [ 'igt_eld.c', 'igt_infoframe.c', 'veboxcopy_gen12.c', + 'igt_msm.c', ] lib_deps = [ -- 2.31.1 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH igt v4 3/3] msm: Add submit ioctl tests 2021-08-31 16:17 ` [igt-dev] " Rob Clark @ 2021-08-31 16:17 ` Rob Clark -1 siblings, 0 replies; 10+ messages in thread From: Rob Clark @ 2021-08-31 16:17 UTC (permalink / raw) To: igt-dev Cc: freedreno, linux-arm-msm, Jordan Crouse, Akhil P Oommen, Petri Latvala, Rob Clark From: Rob Clark <robdclark@chromium.org> Add an initial set of tests for the submit ioctl. v2: Add NULL inits, igt_describe() v3: Alphabetize meson.build Signed-off-by: Rob Clark <robdclark@chromium.org> Acked-by: Petri Latvala <petri.latvala@intel.com> --- tests/meson.build | 1 + tests/msm_submit.c | 194 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 195 insertions(+) create mode 100644 tests/msm_submit.c diff --git a/tests/meson.build b/tests/meson.build index 1bdfddbb..cbc02534 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -78,6 +78,7 @@ test_progs = [ 'kms_vrr', 'kms_writeback', 'meta_test', + 'msm_submit', 'panfrost_get_param', 'panfrost_gem_new', 'panfrost_prime', diff --git a/tests/msm_submit.c b/tests/msm_submit.c new file mode 100644 index 00000000..95f8318f --- /dev/null +++ b/tests/msm_submit.c @@ -0,0 +1,194 @@ +/* + * Copyright © 2021 Google, Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + */ + +#include "igt.h" +#include "igt_msm.h" + +igt_main +{ + struct msm_device *dev = NULL; + struct msm_pipe *pipe = NULL; + struct msm_bo *a = NULL, *b = NULL; + + igt_fixture { + dev = igt_msm_dev_open(); + pipe = igt_msm_pipe_open(dev, 0); + a = igt_msm_bo_new(dev, 0x1000, MSM_BO_WC); + b = igt_msm_bo_new(dev, 0x1000, MSM_BO_WC); + } + + igt_describe("Check that a valid empty submit succeeds"); + igt_subtest("empty-submit") { + struct drm_msm_gem_submit req = { + .flags = pipe->pipe, + .queueid = pipe->submitqueue_id, + }; + do_ioctl(dev->fd, DRM_IOCTL_MSM_GEM_SUBMIT, &req); + } + + igt_describe("Check that submit with invalid submitqueue id fails"); + igt_subtest("invalid-queue-submit") { + struct drm_msm_gem_submit req = { + .flags = pipe->pipe, + .queueid = 0x1234, + }; + do_ioctl_err(dev->fd, DRM_IOCTL_MSM_GEM_SUBMIT, &req, ENOENT); + } + + igt_describe("Check that submit with invalid flags fails"); + igt_subtest("invalid-flags-submit") { + struct drm_msm_gem_submit req = { + .flags = 0x1234, + .queueid = pipe->submitqueue_id, + }; + do_ioctl_err(dev->fd, DRM_IOCTL_MSM_GEM_SUBMIT, &req, EINVAL); + } + + igt_describe("Check that submit with invalid in-fence fd fails"); + igt_subtest("invalid-in-fence-submit") { + struct drm_msm_gem_submit req = { + .flags = pipe->pipe | MSM_SUBMIT_FENCE_FD_IN, + .queueid = pipe->submitqueue_id, + .fence_fd = dev->fd, /* This is not a fence fd! */ + }; + do_ioctl_err(dev->fd, DRM_IOCTL_MSM_GEM_SUBMIT, &req, EINVAL); + } + + igt_describe("Check that submit with duplicate bo fails"); + igt_subtest("invalid-duplicate-bo-submit") { + struct drm_msm_gem_submit_bo bos[] = { + [0] = { + .handle = a->handle, + .flags = MSM_SUBMIT_BO_READ, + }, + [1] = { + .handle = b->handle, + .flags = MSM_SUBMIT_BO_READ, + }, + [2] = { + /* this is invalid.. there should not be two entries + * for the same bo, instead a single entry w/ all + * usage flags OR'd together should be used. Kernel + * should catch this, and return an error code after + * cleaning up properly (not leaking any bo's) + */ + .handle = a->handle, + .flags = MSM_SUBMIT_BO_WRITE, + }, + }; + struct drm_msm_gem_submit req = { + .flags = pipe->pipe, + .queueid = pipe->submitqueue_id, + .nr_bos = ARRAY_SIZE(bos), + .bos = VOID2U64(bos), + }; + do_ioctl_err(dev->fd, DRM_IOCTL_MSM_GEM_SUBMIT, &req, EINVAL); + } + + igt_describe("Check that submit with cmdstream referencing an invalid bo fails"); + igt_subtest("invalid-cmd-idx-submit") { + struct drm_msm_gem_submit_cmd cmds[] = { + [0] = { + .type = MSM_SUBMIT_CMD_BUF, + .submit_idx = 0, /* bos[0] does not exist */ + .size = 4 * 4, /* 4 dwords in cmdbuf */ + }, + }; + struct drm_msm_gem_submit req = { + .flags = pipe->pipe, + .queueid = pipe->submitqueue_id, + .nr_cmds = ARRAY_SIZE(cmds), + .cmds = VOID2U64(cmds), + }; + do_ioctl_err(dev->fd, DRM_IOCTL_MSM_GEM_SUBMIT, &req, EINVAL); + } + + igt_describe("Check that submit with invalid cmdstream type fails"); + igt_subtest("invalid-cmd-type-submit") { + struct drm_msm_gem_submit_bo bos[] = { + [0] = { + .handle = a->handle, + .flags = MSM_SUBMIT_BO_READ, + }, + }; + struct drm_msm_gem_submit_cmd cmds[] = { + [0] = { + .type = 0x1234, + .submit_idx = 0, + .size = 4 * 4, /* 4 dwords in cmdbuf */ + }, + }; + struct drm_msm_gem_submit req = { + .flags = pipe->pipe, + .queueid = pipe->submitqueue_id, + .nr_cmds = ARRAY_SIZE(cmds), + .cmds = VOID2U64(cmds), + .nr_bos = ARRAY_SIZE(bos), + .bos = VOID2U64(bos), + }; + do_ioctl_err(dev->fd, DRM_IOCTL_MSM_GEM_SUBMIT, &req, EINVAL); + } + + igt_describe("Check that a valid non-empty submit succeeds"); + igt_subtest("valid-submit") { + struct drm_msm_gem_submit_bo bos[] = { + [0] = { + .handle = a->handle, + .flags = MSM_SUBMIT_BO_READ, + }, + }; + struct drm_msm_gem_submit_cmd cmds[] = { + [0] = { + .type = MSM_SUBMIT_CMD_BUF, + .submit_idx = 0, + .size = 4 * 4, /* 4 dwords in cmdbuf */ + }, + }; + struct drm_msm_gem_submit req = { + .flags = pipe->pipe, + .queueid = pipe->submitqueue_id, + .nr_cmds = ARRAY_SIZE(cmds), + .cmds = VOID2U64(cmds), + .nr_bos = ARRAY_SIZE(bos), + .bos = VOID2U64(bos), + }; + uint32_t *cmdstream = igt_msm_bo_map(a); + if (dev->gen >= 5) { + *(cmdstream++) = pm4_pkt7_hdr(CP_NOP, 3); + } else { + *(cmdstream++) = pm4_pkt3_hdr(CP_NOP, 3); + } + *(cmdstream++) = 0; + *(cmdstream++) = 0; + *(cmdstream++) = 0; + + do_ioctl(dev->fd, DRM_IOCTL_MSM_GEM_SUBMIT, &req); + } + + igt_fixture { + igt_msm_bo_free(a); + igt_msm_bo_free(b); + igt_msm_pipe_close(pipe); + igt_msm_dev_close(dev); + } +} -- 2.31.1 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [igt-dev] [PATCH igt v4 3/3] msm: Add submit ioctl tests @ 2021-08-31 16:17 ` Rob Clark 0 siblings, 0 replies; 10+ messages in thread From: Rob Clark @ 2021-08-31 16:17 UTC (permalink / raw) To: igt-dev Cc: freedreno, linux-arm-msm, Jordan Crouse, Akhil P Oommen, Petri Latvala, Rob Clark From: Rob Clark <robdclark@chromium.org> Add an initial set of tests for the submit ioctl. v2: Add NULL inits, igt_describe() v3: Alphabetize meson.build Signed-off-by: Rob Clark <robdclark@chromium.org> Acked-by: Petri Latvala <petri.latvala@intel.com> --- tests/meson.build | 1 + tests/msm_submit.c | 194 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 195 insertions(+) create mode 100644 tests/msm_submit.c diff --git a/tests/meson.build b/tests/meson.build index 1bdfddbb..cbc02534 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -78,6 +78,7 @@ test_progs = [ 'kms_vrr', 'kms_writeback', 'meta_test', + 'msm_submit', 'panfrost_get_param', 'panfrost_gem_new', 'panfrost_prime', diff --git a/tests/msm_submit.c b/tests/msm_submit.c new file mode 100644 index 00000000..95f8318f --- /dev/null +++ b/tests/msm_submit.c @@ -0,0 +1,194 @@ +/* + * Copyright © 2021 Google, Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + */ + +#include "igt.h" +#include "igt_msm.h" + +igt_main +{ + struct msm_device *dev = NULL; + struct msm_pipe *pipe = NULL; + struct msm_bo *a = NULL, *b = NULL; + + igt_fixture { + dev = igt_msm_dev_open(); + pipe = igt_msm_pipe_open(dev, 0); + a = igt_msm_bo_new(dev, 0x1000, MSM_BO_WC); + b = igt_msm_bo_new(dev, 0x1000, MSM_BO_WC); + } + + igt_describe("Check that a valid empty submit succeeds"); + igt_subtest("empty-submit") { + struct drm_msm_gem_submit req = { + .flags = pipe->pipe, + .queueid = pipe->submitqueue_id, + }; + do_ioctl(dev->fd, DRM_IOCTL_MSM_GEM_SUBMIT, &req); + } + + igt_describe("Check that submit with invalid submitqueue id fails"); + igt_subtest("invalid-queue-submit") { + struct drm_msm_gem_submit req = { + .flags = pipe->pipe, + .queueid = 0x1234, + }; + do_ioctl_err(dev->fd, DRM_IOCTL_MSM_GEM_SUBMIT, &req, ENOENT); + } + + igt_describe("Check that submit with invalid flags fails"); + igt_subtest("invalid-flags-submit") { + struct drm_msm_gem_submit req = { + .flags = 0x1234, + .queueid = pipe->submitqueue_id, + }; + do_ioctl_err(dev->fd, DRM_IOCTL_MSM_GEM_SUBMIT, &req, EINVAL); + } + + igt_describe("Check that submit with invalid in-fence fd fails"); + igt_subtest("invalid-in-fence-submit") { + struct drm_msm_gem_submit req = { + .flags = pipe->pipe | MSM_SUBMIT_FENCE_FD_IN, + .queueid = pipe->submitqueue_id, + .fence_fd = dev->fd, /* This is not a fence fd! */ + }; + do_ioctl_err(dev->fd, DRM_IOCTL_MSM_GEM_SUBMIT, &req, EINVAL); + } + + igt_describe("Check that submit with duplicate bo fails"); + igt_subtest("invalid-duplicate-bo-submit") { + struct drm_msm_gem_submit_bo bos[] = { + [0] = { + .handle = a->handle, + .flags = MSM_SUBMIT_BO_READ, + }, + [1] = { + .handle = b->handle, + .flags = MSM_SUBMIT_BO_READ, + }, + [2] = { + /* this is invalid.. there should not be two entries + * for the same bo, instead a single entry w/ all + * usage flags OR'd together should be used. Kernel + * should catch this, and return an error code after + * cleaning up properly (not leaking any bo's) + */ + .handle = a->handle, + .flags = MSM_SUBMIT_BO_WRITE, + }, + }; + struct drm_msm_gem_submit req = { + .flags = pipe->pipe, + .queueid = pipe->submitqueue_id, + .nr_bos = ARRAY_SIZE(bos), + .bos = VOID2U64(bos), + }; + do_ioctl_err(dev->fd, DRM_IOCTL_MSM_GEM_SUBMIT, &req, EINVAL); + } + + igt_describe("Check that submit with cmdstream referencing an invalid bo fails"); + igt_subtest("invalid-cmd-idx-submit") { + struct drm_msm_gem_submit_cmd cmds[] = { + [0] = { + .type = MSM_SUBMIT_CMD_BUF, + .submit_idx = 0, /* bos[0] does not exist */ + .size = 4 * 4, /* 4 dwords in cmdbuf */ + }, + }; + struct drm_msm_gem_submit req = { + .flags = pipe->pipe, + .queueid = pipe->submitqueue_id, + .nr_cmds = ARRAY_SIZE(cmds), + .cmds = VOID2U64(cmds), + }; + do_ioctl_err(dev->fd, DRM_IOCTL_MSM_GEM_SUBMIT, &req, EINVAL); + } + + igt_describe("Check that submit with invalid cmdstream type fails"); + igt_subtest("invalid-cmd-type-submit") { + struct drm_msm_gem_submit_bo bos[] = { + [0] = { + .handle = a->handle, + .flags = MSM_SUBMIT_BO_READ, + }, + }; + struct drm_msm_gem_submit_cmd cmds[] = { + [0] = { + .type = 0x1234, + .submit_idx = 0, + .size = 4 * 4, /* 4 dwords in cmdbuf */ + }, + }; + struct drm_msm_gem_submit req = { + .flags = pipe->pipe, + .queueid = pipe->submitqueue_id, + .nr_cmds = ARRAY_SIZE(cmds), + .cmds = VOID2U64(cmds), + .nr_bos = ARRAY_SIZE(bos), + .bos = VOID2U64(bos), + }; + do_ioctl_err(dev->fd, DRM_IOCTL_MSM_GEM_SUBMIT, &req, EINVAL); + } + + igt_describe("Check that a valid non-empty submit succeeds"); + igt_subtest("valid-submit") { + struct drm_msm_gem_submit_bo bos[] = { + [0] = { + .handle = a->handle, + .flags = MSM_SUBMIT_BO_READ, + }, + }; + struct drm_msm_gem_submit_cmd cmds[] = { + [0] = { + .type = MSM_SUBMIT_CMD_BUF, + .submit_idx = 0, + .size = 4 * 4, /* 4 dwords in cmdbuf */ + }, + }; + struct drm_msm_gem_submit req = { + .flags = pipe->pipe, + .queueid = pipe->submitqueue_id, + .nr_cmds = ARRAY_SIZE(cmds), + .cmds = VOID2U64(cmds), + .nr_bos = ARRAY_SIZE(bos), + .bos = VOID2U64(bos), + }; + uint32_t *cmdstream = igt_msm_bo_map(a); + if (dev->gen >= 5) { + *(cmdstream++) = pm4_pkt7_hdr(CP_NOP, 3); + } else { + *(cmdstream++) = pm4_pkt3_hdr(CP_NOP, 3); + } + *(cmdstream++) = 0; + *(cmdstream++) = 0; + *(cmdstream++) = 0; + + do_ioctl(dev->fd, DRM_IOCTL_MSM_GEM_SUBMIT, &req); + } + + igt_fixture { + igt_msm_bo_free(a); + igt_msm_bo_free(b); + igt_msm_pipe_close(pipe); + igt_msm_dev_close(dev); + } +} -- 2.31.1 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for Initial igt tests for drm/msm ioctls (rev4) 2021-08-31 16:17 ` [igt-dev] " Rob Clark ` (3 preceding siblings ...) (?) @ 2021-08-31 16:53 ` Patchwork -1 siblings, 0 replies; 10+ messages in thread From: Patchwork @ 2021-08-31 16:53 UTC (permalink / raw) To: Rob Clark; +Cc: igt-dev [-- Attachment #1: Type: text/plain, Size: 3237 bytes --] == Series Details == Series: Initial igt tests for drm/msm ioctls (rev4) URL : https://patchwork.freedesktop.org/series/93973/ State : success == Summary == CI Bug Log - changes from CI_DRM_10540 -> IGTPW_6177 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/index.html Known issues ------------ Here are the changes found in IGTPW_6177 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@amdgpu/amd_basic@cs-gfx: - fi-rkl-guc: NOTRUN -> [SKIP][1] ([fdo#109315]) +17 similar issues [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/fi-rkl-guc/igt@amdgpu/amd_basic@cs-gfx.html * igt@amdgpu/amd_basic@semaphore: - fi-bsw-nick: NOTRUN -> [SKIP][2] ([fdo#109271]) +17 similar issues [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/fi-bsw-nick/igt@amdgpu/amd_basic@semaphore.html * igt@i915_selftest@live@gt_lrc: - fi-rkl-guc: NOTRUN -> [DMESG-WARN][3] ([i915#3958]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/fi-rkl-guc/igt@i915_selftest@live@gt_lrc.html #### Possible fixes #### * igt@i915_selftest@live@execlists: - fi-bsw-nick: [INCOMPLETE][4] ([i915#2940]) -> [PASS][5] [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10540/fi-bsw-nick/igt@i915_selftest@live@execlists.html [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/fi-bsw-nick/igt@i915_selftest@live@execlists.html * igt@i915_selftest@live@workarounds: - fi-rkl-guc: [DMESG-FAIL][6] ([i915#3928]) -> [PASS][7] [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10540/fi-rkl-guc/igt@i915_selftest@live@workarounds.html [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/fi-rkl-guc/igt@i915_selftest@live@workarounds.html [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315 [i915#2940]: https://gitlab.freedesktop.org/drm/intel/issues/2940 [i915#3928]: https://gitlab.freedesktop.org/drm/intel/issues/3928 [i915#3958]: https://gitlab.freedesktop.org/drm/intel/issues/3958 Participating hosts (43 -> 35) ------------------------------ Missing (8): fi-kbl-soraka fi-ilk-m540 bat-dg1-6 bat-dg1-5 fi-bsw-cyan fi-ctg-p8600 fi-bdw-samus bat-jsl-1 Build changes ------------- * CI: CI-20190529 -> None * IGT: IGT_6193 -> IGTPW_6177 CI-20190529: 20190529 CI_DRM_10540: 8eff208fe95db1015e8fe0e4026065e6f0fa7d30 @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_6177: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/index.html IGT_6193: 080869f804cb86b25a38889e5ce9a870571cd8c4 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git == Testlist changes == +igt@msm_submit@empty-submit +igt@msm_submit@invalid-cmd-idx-submit +igt@msm_submit@invalid-cmd-type-submit +igt@msm_submit@invalid-duplicate-bo-submit +igt@msm_submit@invalid-flags-submit +igt@msm_submit@invalid-in-fence-submit +igt@msm_submit@invalid-queue-submit +igt@msm_submit@valid-submit == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/index.html [-- Attachment #2: Type: text/html, Size: 3999 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* [igt-dev] ✗ Fi.CI.IGT: failure for Initial igt tests for drm/msm ioctls (rev4) 2021-08-31 16:17 ` [igt-dev] " Rob Clark ` (4 preceding siblings ...) (?) @ 2021-08-31 20:25 ` Patchwork -1 siblings, 0 replies; 10+ messages in thread From: Patchwork @ 2021-08-31 20:25 UTC (permalink / raw) To: Rob Clark; +Cc: igt-dev [-- Attachment #1: Type: text/plain, Size: 30261 bytes --] == Series Details == Series: Initial igt tests for drm/msm ioctls (rev4) URL : https://patchwork.freedesktop.org/series/93973/ State : failure == Summary == CI Bug Log - changes from CI_DRM_10540_full -> IGTPW_6177_full ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with IGTPW_6177_full absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in IGTPW_6177_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_6177/index.html Possible new issues ------------------- Here are the unknown changes that may have been introduced in IGTPW_6177_full: ### IGT changes ### #### Possible regressions #### * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b: - shard-kbl: NOTRUN -> [INCOMPLETE][1] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-kbl2/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b.html New tests --------- New tests have been introduced between CI_DRM_10540_full and IGTPW_6177_full: ### New IGT tests (8) ### * igt@msm_submit@empty-submit: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@msm_submit@invalid-cmd-idx-submit: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@msm_submit@invalid-cmd-type-submit: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@msm_submit@invalid-duplicate-bo-submit: - Statuses : 3 skip(s) - Exec time: [0.0] s * igt@msm_submit@invalid-flags-submit: - Statuses : 6 skip(s) - Exec time: [0.0] s * igt@msm_submit@invalid-in-fence-submit: - Statuses : 4 skip(s) - Exec time: [0.0] s * igt@msm_submit@invalid-queue-submit: - Statuses : 5 skip(s) - Exec time: [0.0] s * igt@msm_submit@valid-submit: - Statuses : 6 skip(s) - Exec time: [0.0] s Known issues ------------ Here are the changes found in IGTPW_6177_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_create@create-massive: - shard-snb: NOTRUN -> [DMESG-WARN][2] ([i915#3002]) [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-snb5/igt@gem_create@create-massive.html * igt@gem_ctx_persistence@smoketest: - shard-snb: NOTRUN -> [SKIP][3] ([fdo#109271] / [i915#1099]) +4 similar issues [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-snb7/igt@gem_ctx_persistence@smoketest.html * igt@gem_exec_fair@basic-none-vip@rcs0: - shard-tglb: NOTRUN -> [FAIL][4] ([i915#2842]) [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-tglb1/igt@gem_exec_fair@basic-none-vip@rcs0.html - shard-iclb: NOTRUN -> [FAIL][5] ([i915#2842]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-iclb6/igt@gem_exec_fair@basic-none-vip@rcs0.html * igt@gem_exec_fair@basic-none@rcs0: - shard-glk: NOTRUN -> [FAIL][6] ([i915#2842]) [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-glk1/igt@gem_exec_fair@basic-none@rcs0.html * igt@gem_exec_fair@basic-pace-share@rcs0: - shard-tglb: [PASS][7] -> [FAIL][8] ([i915#2842]) +1 similar issue [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10540/shard-tglb2/igt@gem_exec_fair@basic-pace-share@rcs0.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-tglb5/igt@gem_exec_fair@basic-pace-share@rcs0.html * igt@gem_exec_fair@basic-pace-solo@rcs0: - shard-kbl: [PASS][9] -> [FAIL][10] ([i915#2842]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10540/shard-kbl2/igt@gem_exec_fair@basic-pace-solo@rcs0.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-kbl6/igt@gem_exec_fair@basic-pace-solo@rcs0.html * igt@gem_exec_fair@basic-pace@vecs0: - shard-kbl: [PASS][11] -> [SKIP][12] ([fdo#109271]) +1 similar issue [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10540/shard-kbl4/igt@gem_exec_fair@basic-pace@vecs0.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-kbl1/igt@gem_exec_fair@basic-pace@vecs0.html * igt@gem_exec_fair@basic-throttle@rcs0: - shard-glk: [PASS][13] -> [FAIL][14] ([i915#2842]) +1 similar issue [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10540/shard-glk7/igt@gem_exec_fair@basic-throttle@rcs0.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-glk1/igt@gem_exec_fair@basic-throttle@rcs0.html * igt@gem_exec_flush@basic-batch-kernel-default-cmd: - shard-snb: NOTRUN -> [SKIP][15] ([fdo#109271]) +467 similar issues [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-snb2/igt@gem_exec_flush@basic-batch-kernel-default-cmd.html - shard-tglb: NOTRUN -> [SKIP][16] ([fdo#109313]) [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-tglb3/igt@gem_exec_flush@basic-batch-kernel-default-cmd.html * igt@gem_exec_params@no-bsd: - shard-tglb: NOTRUN -> [SKIP][17] ([fdo#109283]) [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-tglb2/igt@gem_exec_params@no-bsd.html - shard-iclb: NOTRUN -> [SKIP][18] ([fdo#109283]) [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-iclb6/igt@gem_exec_params@no-bsd.html * igt@gem_huc_copy@huc-copy: - shard-apl: NOTRUN -> [SKIP][19] ([fdo#109271] / [i915#2190]) [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-apl8/igt@gem_huc_copy@huc-copy.html - shard-glk: NOTRUN -> [SKIP][20] ([fdo#109271] / [i915#2190]) [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-glk8/igt@gem_huc_copy@huc-copy.html - shard-iclb: NOTRUN -> [SKIP][21] ([i915#2190]) [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-iclb4/igt@gem_huc_copy@huc-copy.html - shard-kbl: NOTRUN -> [SKIP][22] ([fdo#109271] / [i915#2190]) [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-kbl4/igt@gem_huc_copy@huc-copy.html * igt@gem_pread@exhaustion: - shard-apl: NOTRUN -> [WARN][23] ([i915#2658]) +1 similar issue [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-apl6/igt@gem_pread@exhaustion.html * igt@gem_render_copy@y-tiled-to-vebox-y-tiled: - shard-iclb: NOTRUN -> [SKIP][24] ([i915#768]) [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-iclb2/igt@gem_render_copy@y-tiled-to-vebox-y-tiled.html * igt@gem_userptr_blits@access-control: - shard-tglb: NOTRUN -> [SKIP][25] ([i915#3297]) +1 similar issue [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-tglb2/igt@gem_userptr_blits@access-control.html * igt@gem_userptr_blits@dmabuf-sync: - shard-kbl: NOTRUN -> [SKIP][26] ([fdo#109271] / [i915#3323]) [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-kbl3/igt@gem_userptr_blits@dmabuf-sync.html - shard-apl: NOTRUN -> [SKIP][27] ([fdo#109271] / [i915#3323]) [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-apl7/igt@gem_userptr_blits@dmabuf-sync.html * igt@gem_userptr_blits@readonly-pwrite-unsync: - shard-iclb: NOTRUN -> [SKIP][28] ([i915#3297]) +1 similar issue [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-iclb6/igt@gem_userptr_blits@readonly-pwrite-unsync.html * igt@gem_userptr_blits@vma-merge: - shard-apl: NOTRUN -> [FAIL][29] ([i915#3318]) [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-apl1/igt@gem_userptr_blits@vma-merge.html * igt@gen7_exec_parse@basic-allowed: - shard-tglb: NOTRUN -> [SKIP][30] ([fdo#109289]) +1 similar issue [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-tglb3/igt@gen7_exec_parse@basic-allowed.html * igt@gen9_exec_parse@bb-oversize: - shard-tglb: NOTRUN -> [SKIP][31] ([i915#2856]) +1 similar issue [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-tglb1/igt@gen9_exec_parse@bb-oversize.html * igt@gen9_exec_parse@bb-start-far: - shard-iclb: NOTRUN -> [SKIP][32] ([i915#2856]) [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-iclb1/igt@gen9_exec_parse@bb-start-far.html * igt@i915_pm_dc@dc6-dpms: - shard-kbl: NOTRUN -> [FAIL][33] ([i915#454]) [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-kbl6/igt@i915_pm_dc@dc6-dpms.html * igt@i915_pm_rc6_residency@media-rc6-accuracy: - shard-tglb: NOTRUN -> [SKIP][34] ([fdo#109289] / [fdo#111719]) [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-tglb3/igt@i915_pm_rc6_residency@media-rc6-accuracy.html * igt@i915_pm_rpm@gem-execbuf-stress-pc8: - shard-iclb: NOTRUN -> [SKIP][35] ([fdo#109293] / [fdo#109506]) [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-iclb2/igt@i915_pm_rpm@gem-execbuf-stress-pc8.html - shard-tglb: NOTRUN -> [SKIP][36] ([fdo#109506] / [i915#2411]) [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-tglb6/igt@i915_pm_rpm@gem-execbuf-stress-pc8.html * igt@i915_pm_rpm@gem-mmap-type@fixed: - shard-glk: NOTRUN -> [SKIP][37] ([fdo#109271] / [i915#3976]) [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-glk2/igt@i915_pm_rpm@gem-mmap-type@fixed.html - shard-kbl: NOTRUN -> [SKIP][38] ([fdo#109271] / [i915#3976]) [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-kbl6/igt@i915_pm_rpm@gem-mmap-type@fixed.html * igt@i915_pm_rpm@modeset-lpsp-stress-no-wait: - shard-kbl: NOTRUN -> [SKIP][39] ([fdo#109271]) +182 similar issues [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-kbl1/igt@i915_pm_rpm@modeset-lpsp-stress-no-wait.html * igt@i915_selftest@live@hangcheck: - shard-snb: NOTRUN -> [INCOMPLETE][40] ([i915#3921]) [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-snb5/igt@i915_selftest@live@hangcheck.html * igt@i915_suspend@sysfs-reader: - shard-kbl: [PASS][41] -> [INCOMPLETE][42] ([i915#155] / [i915#180]) [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10540/shard-kbl7/igt@i915_suspend@sysfs-reader.html [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-kbl4/igt@i915_suspend@sysfs-reader.html * igt@kms_big_fb@linear-32bpp-rotate-180: - shard-glk: NOTRUN -> [DMESG-WARN][43] ([i915#118] / [i915#95]) [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-glk1/igt@kms_big_fb@linear-32bpp-rotate-180.html * igt@kms_big_fb@x-tiled-32bpp-rotate-180: - shard-glk: [PASS][44] -> [DMESG-WARN][45] ([i915#118] / [i915#95]) [44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10540/shard-glk6/igt@kms_big_fb@x-tiled-32bpp-rotate-180.html [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-glk3/igt@kms_big_fb@x-tiled-32bpp-rotate-180.html * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip: - shard-iclb: [PASS][46] -> [DMESG-WARN][47] ([i915#3621]) [46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10540/shard-iclb5/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip.html [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-iclb1/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip.html * igt@kms_big_fb@y-tiled-8bpp-rotate-90: - shard-tglb: NOTRUN -> [SKIP][48] ([fdo#111614]) [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-tglb6/igt@kms_big_fb@y-tiled-8bpp-rotate-90.html - shard-iclb: NOTRUN -> [SKIP][49] ([fdo#110725] / [fdo#111614]) [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-iclb2/igt@kms_big_fb@y-tiled-8bpp-rotate-90.html * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip: - shard-apl: NOTRUN -> [SKIP][50] ([fdo#109271] / [i915#3777]) +3 similar issues [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-apl3/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip.html - shard-kbl: NOTRUN -> [SKIP][51] ([fdo#109271] / [i915#3777]) +2 similar issues [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-kbl6/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip.html * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip: - shard-glk: NOTRUN -> [SKIP][52] ([fdo#109271] / [i915#3777]) [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-glk1/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip.html * igt@kms_big_fb@yf-tiled-8bpp-rotate-90: - shard-iclb: NOTRUN -> [SKIP][53] ([fdo#110723]) [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-iclb1/igt@kms_big_fb@yf-tiled-8bpp-rotate-90.html * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-async-flip: - shard-tglb: NOTRUN -> [SKIP][54] ([fdo#111615]) +1 similar issue [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-tglb5/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-async-flip.html * igt@kms_ccs@pipe-a-bad-rotation-90-y_tiled_gen12_rc_ccs_cc: - shard-kbl: NOTRUN -> [SKIP][55] ([fdo#109271] / [i915#3886]) +10 similar issues [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-kbl4/igt@kms_ccs@pipe-a-bad-rotation-90-y_tiled_gen12_rc_ccs_cc.html * igt@kms_ccs@pipe-a-ccs-on-another-bo-y_tiled_gen12_mc_ccs: - shard-apl: NOTRUN -> [SKIP][56] ([fdo#109271] / [i915#3886]) +13 similar issues [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-apl3/igt@kms_ccs@pipe-a-ccs-on-another-bo-y_tiled_gen12_mc_ccs.html * igt@kms_ccs@pipe-a-crc-sprite-planes-basic-y_tiled_gen12_mc_ccs: - shard-glk: NOTRUN -> [SKIP][57] ([fdo#109271] / [i915#3886]) +4 similar issues [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-glk8/igt@kms_ccs@pipe-a-crc-sprite-planes-basic-y_tiled_gen12_mc_ccs.html - shard-iclb: NOTRUN -> [SKIP][58] ([fdo#109278] / [i915#3886]) +3 similar issues [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-iclb3/igt@kms_ccs@pipe-a-crc-sprite-planes-basic-y_tiled_gen12_mc_ccs.html * igt@kms_ccs@pipe-b-ccs-on-another-bo-y_tiled_gen12_mc_ccs: - shard-tglb: NOTRUN -> [SKIP][59] ([i915#3689] / [i915#3886]) +2 similar issues [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-tglb5/igt@kms_ccs@pipe-b-ccs-on-another-bo-y_tiled_gen12_mc_ccs.html * igt@kms_ccs@pipe-d-crc-sprite-planes-basic-y_tiled_ccs: - shard-tglb: NOTRUN -> [SKIP][60] ([i915#3689]) +6 similar issues [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-tglb7/igt@kms_ccs@pipe-d-crc-sprite-planes-basic-y_tiled_ccs.html * igt@kms_chamelium@dp-frame-dump: - shard-iclb: NOTRUN -> [SKIP][61] ([fdo#109284] / [fdo#111827]) +3 similar issues [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-iclb8/igt@kms_chamelium@dp-frame-dump.html * igt@kms_chamelium@hdmi-crc-single: - shard-glk: NOTRUN -> [SKIP][62] ([fdo#109271] / [fdo#111827]) +10 similar issues [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-glk9/igt@kms_chamelium@hdmi-crc-single.html * igt@kms_color_chamelium@pipe-a-ctm-blue-to-red: - shard-snb: NOTRUN -> [SKIP][63] ([fdo#109271] / [fdo#111827]) +22 similar issues [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-snb2/igt@kms_color_chamelium@pipe-a-ctm-blue-to-red.html - shard-kbl: NOTRUN -> [SKIP][64] ([fdo#109271] / [fdo#111827]) +17 similar issues [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-kbl4/igt@kms_color_chamelium@pipe-a-ctm-blue-to-red.html * igt@kms_color_chamelium@pipe-a-ctm-limited-range: - shard-apl: NOTRUN -> [SKIP][65] ([fdo#109271] / [fdo#111827]) +26 similar issues [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-apl2/igt@kms_color_chamelium@pipe-a-ctm-limited-range.html * igt@kms_color_chamelium@pipe-b-ctm-limited-range: - shard-tglb: NOTRUN -> [SKIP][66] ([fdo#109284] / [fdo#111827]) +5 similar issues [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-tglb3/igt@kms_color_chamelium@pipe-b-ctm-limited-range.html * igt@kms_color_chamelium@pipe-d-gamma: - shard-iclb: NOTRUN -> [SKIP][67] ([fdo#109278] / [fdo#109284] / [fdo#111827]) +1 similar issue [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-iclb4/igt@kms_color_chamelium@pipe-d-gamma.html * igt@kms_content_protection@atomic-dpms: - shard-apl: NOTRUN -> [TIMEOUT][68] ([i915#1319]) [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-apl3/igt@kms_content_protection@atomic-dpms.html - shard-kbl: NOTRUN -> [TIMEOUT][69] ([i915#1319]) [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-kbl6/igt@kms_content_protection@atomic-dpms.html * igt@kms_content_protection@dp-mst-lic-type-0: - shard-iclb: NOTRUN -> [SKIP][70] ([i915#3116]) [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-iclb6/igt@kms_content_protection@dp-mst-lic-type-0.html - shard-tglb: NOTRUN -> [SKIP][71] ([i915#3116]) [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-tglb1/igt@kms_content_protection@dp-mst-lic-type-0.html * igt@kms_content_protection@uevent: - shard-apl: NOTRUN -> [FAIL][72] ([i915#2105]) [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-apl7/igt@kms_content_protection@uevent.html * igt@kms_cursor_crc@pipe-a-cursor-32x32-onscreen: - shard-iclb: NOTRUN -> [SKIP][73] ([fdo#109278]) +23 similar issues [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-iclb7/igt@kms_cursor_crc@pipe-a-cursor-32x32-onscreen.html * igt@kms_cursor_crc@pipe-a-cursor-32x32-sliding: - shard-tglb: NOTRUN -> [SKIP][74] ([i915#3319]) +1 similar issue [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-tglb7/igt@kms_cursor_crc@pipe-a-cursor-32x32-sliding.html * igt@kms_cursor_crc@pipe-a-cursor-512x512-sliding: - shard-iclb: NOTRUN -> [SKIP][75] ([fdo#109278] / [fdo#109279]) +2 similar issues [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-iclb8/igt@kms_cursor_crc@pipe-a-cursor-512x512-sliding.html * igt@kms_cursor_crc@pipe-b-cursor-size-change: - shard-snb: [PASS][76] -> [FAIL][77] ([i915#4024]) [76]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10540/shard-snb7/igt@kms_cursor_crc@pipe-b-cursor-size-change.html [77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-snb5/igt@kms_cursor_crc@pipe-b-cursor-size-change.html - shard-kbl: [PASS][78] -> [FAIL][79] ([i915#3444]) [78]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10540/shard-kbl3/igt@kms_cursor_crc@pipe-b-cursor-size-change.html [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-kbl7/igt@kms_cursor_crc@pipe-b-cursor-size-change.html - shard-tglb: [PASS][80] -> [FAIL][81] ([i915#2124] / [i915#4024]) [80]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10540/shard-tglb7/igt@kms_cursor_crc@pipe-b-cursor-size-change.html [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-tglb2/igt@kms_cursor_crc@pipe-b-cursor-size-change.html - shard-apl: NOTRUN -> [FAIL][82] ([i915#3444]) [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-apl6/igt@kms_cursor_crc@pipe-b-cursor-size-change.html - shard-iclb: [PASS][83] -> [FAIL][84] ([i915#3444]) [83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10540/shard-iclb7/igt@kms_cursor_crc@pipe-b-cursor-size-change.html [84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-iclb6/igt@kms_cursor_crc@pipe-b-cursor-size-change.html * igt@kms_cursor_crc@pipe-c-cursor-512x170-offscreen: - shard-tglb: NOTRUN -> [SKIP][85] ([fdo#109279] / [i915#3359]) +3 similar issues [85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-tglb8/igt@kms_cursor_crc@pipe-c-cursor-512x170-offscreen.html * igt@kms_cursor_crc@pipe-c-cursor-suspend: - shard-kbl: NOTRUN -> [DMESG-WARN][86] ([i915#180]) +1 similar issue [86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-kbl3/igt@kms_cursor_crc@pipe-c-cursor-suspend.html * igt@kms_cursor_crc@pipe-d-cursor-512x170-rapid-movement: - shard-tglb: NOTRUN -> [SKIP][87] ([i915#3359]) +2 similar issues [87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-tglb3/igt@kms_cursor_crc@pipe-d-cursor-512x170-rapid-movement.html * igt@kms_cursor_legacy@2x-flip-vs-cursor-atomic: - shard-iclb: NOTRUN -> [SKIP][88] ([fdo#109274] / [fdo#109278]) +1 similar issue [88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-iclb3/igt@kms_cursor_legacy@2x-flip-vs-cursor-atomic.html * igt@kms_dither@fb-8bpc-vs-panel-8bpc@edp-1-pipe-a: - shard-tglb: NOTRUN -> [SKIP][89] ([i915#3788]) [89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-tglb5/igt@kms_dither@fb-8bpc-vs-panel-8bpc@edp-1-pipe-a.html * igt@kms_fbcon_fbt@fbc-suspend: - shard-kbl: [PASS][90] -> [INCOMPLETE][91] ([i915#155] / [i915#180] / [i915#636]) [90]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10540/shard-kbl1/igt@kms_fbcon_fbt@fbc-suspend.html [91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-kbl4/igt@kms_fbcon_fbt@fbc-suspend.html * igt@kms_flip@2x-flip-vs-wf_vblank: - shard-iclb: NOTRUN -> [SKIP][92] ([fdo#109274]) +4 similar issues [92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-iclb6/igt@kms_flip@2x-flip-vs-wf_vblank.html * igt@kms_flip@2x-plain-flip-ts-check: - shard-tglb: NOTRUN -> [SKIP][93] ([fdo#111825]) +20 similar issues [93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-tglb6/igt@kms_flip@2x-plain-flip-ts-check.html * igt@kms_flip@flip-vs-suspend@c-dp1: - shard-kbl: [PASS][94] -> [DMESG-WARN][95] ([i915#180]) +1 similar issue [94]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10540/shard-kbl1/igt@kms_flip@flip-vs-suspend@c-dp1.html [95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-kbl3/igt@kms_flip@flip-vs-suspend@c-dp1.html * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs: - shard-glk: NOTRUN -> [SKIP][96] ([fdo#109271] / [i915#2672]) [96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-glk9/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs.html * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-render: - shard-iclb: NOTRUN -> [SKIP][97] ([fdo#109280]) +18 similar issues [97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-iclb2/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-render.html * igt@kms_hdr@static-toggle-suspend: - shard-tglb: NOTRUN -> [SKIP][98] ([i915#1187]) [98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-tglb2/igt@kms_hdr@static-toggle-suspend.html - shard-iclb: NOTRUN -> [SKIP][99] ([i915#1187]) [99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-iclb4/igt@kms_hdr@static-toggle-suspend.html * igt@kms_pipe_b_c_ivb@pipe-b-dpms-off-modeset-pipe-c: - shard-iclb: NOTRUN -> [SKIP][100] ([fdo#109289]) +4 similar issues [100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-iclb5/igt@kms_pipe_b_c_ivb@pipe-b-dpms-off-modeset-pipe-c.html * igt@kms_pipe_crc_basic@read-crc-pipe-d: - shard-kbl: NOTRUN -> [SKIP][101] ([fdo#109271] / [i915#533]) +1 similar issue [101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-kbl6/igt@kms_pipe_crc_basic@read-crc-pipe-d.html * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-d: - shard-glk: NOTRUN -> [SKIP][102] ([fdo#109271] / [i915#533]) [102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-glk3/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-d.html * igt@kms_plane_alpha_blend@pipe-b-alpha-transparent-fb: - shard-apl: NOTRUN -> [FAIL][103] ([i915#265]) [103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-apl1/igt@kms_plane_alpha_blend@pipe-b-alpha-transparent-fb.html * igt@kms_plane_alpha_blend@pipe-b-constant-alpha-max: - shard-apl: NOTRUN -> [FAIL][104] ([fdo#108145] / [i915#265]) +5 similar issues [104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-apl6/igt@kms_plane_alpha_blend@pipe-b-constant-alpha-max.html * igt@kms_plane_alpha_blend@pipe-c-alpha-opaque-fb: - shard-kbl: NOTRUN -> [FAIL][105] ([fdo#108145] / [i915#265]) +3 similar issues [105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-kbl6/igt@kms_plane_alpha_blend@pipe-c-alpha-opaque-fb.html - shard-glk: NOTRUN -> [FAIL][106] ([fdo#108145] / [i915#265]) [106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-glk7/igt@kms_plane_alpha_blend@pipe-c-alpha-opaque-fb.html * igt@kms_psr2_sf@cursor-plane-update-sf: - shard-tglb: NOTRUN -> [SKIP][107] ([i915#2920]) +1 similar issue [107]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-tglb1/igt@kms_psr2_sf@cursor-plane-update-sf.html * igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-2: - shard-apl: NOTRUN -> [SKIP][108] ([fdo#109271] / [i915#658]) +7 similar issues [108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-apl2/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-2.html * igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-3: - shard-kbl: NOTRUN -> [SKIP][109] ([fdo#109271] / [i915#658]) +6 similar issues [109]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-kbl1/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-3.html * igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-1: - shard-iclb: NOTRUN -> [SKIP][110] ([i915#658]) +1 similar issue [110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-iclb6/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-1.html - shard-glk: NOTRUN -> [SKIP][111] ([fdo#109271] / [i915#658]) +3 similar issues [111]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-glk6/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-1.html * igt@kms_psr2_su@page_flip: - shard-tglb: NOTRUN -> [SKIP][112] ([i915#1911]) [112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-tglb6/igt@kms_psr2_su@page_flip.html - shard-iclb: NOTRUN -> [SKIP][113] ([fdo#109642] / [fdo#111068] / [i915#658]) [113]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-iclb8/igt@kms_psr2_su@page_flip.html * igt@kms_psr@psr2_cursor_mmap_gtt: - shard-tglb: NOTRUN -> [FAIL][114] ([i915#132] / [i915#3467]) [114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-tglb8/igt@kms_psr@psr2_cursor_mmap_gtt.html - shard-iclb: NOTRUN -> [SKIP][115] ([fdo#109441]) [115]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-iclb3/igt@kms_psr@psr2_cursor_mmap_gtt.html * igt@kms_psr@psr2_cursor_plane_move: - shard-iclb: [PASS][116] -> [SKIP][117] ([fdo#109441]) +1 similar issue [116]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10540/shard-iclb2/igt@kms_psr@psr2_cursor_plane_move.html [117]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-iclb1/igt@kms_psr@psr2_cursor_plane_move.html * igt@kms_rotation_crc@primary-y-tiled-reflect-x-180: - shard-glk: NOTRUN -> [SKIP][118] ([fdo#109271]) +97 similar issues [118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-glk7/igt@kms_rotation_crc@primary-y-tiled-reflect-x-180.html * igt@kms_vblank@pipe-d-ts-continuation-idle: - shard-apl: NOTRUN -> [SKIP][119] ([fdo#109271]) +324 similar issues [119]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-apl8/igt@kms_vblank@pipe-d-ts-continuation-idle.html * igt@kms_vblank@pipe-d-wait-idle: - shard-apl: NOTRUN -> [SKIP][120] ([fdo#109271] / [i915#533]) [120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-apl1/igt@kms_vblank@pipe-d-wait-idle.html * igt@kms_writeback@writeback-check-output: - shard-iclb: NOTRUN -> [SKIP][121] ([i915#2437]) +1 similar issue [121]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-iclb6/igt@kms_writeback@writeback-check-output.html * igt@kms_writeback@writeback-invalid-parameters: - shard-apl: NOTRUN -> [SKIP][122] ([fdo#109271] / [i915#2437]) [122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-apl6/igt@kms_writeback@writeback-invalid-parameters.html * igt@kms_writeback@writeback-pixel-formats: - shard-glk: NOTRUN -> [SKIP][123] ([fdo#109271] / [i915#2437]) [123]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-glk9/igt@kms_writeback@writeback-pixel-formats.html - shard-kbl: NOTRUN -> [SKIP][124] ([fdo#109271] / [i915#2437]) +1 similar issue [124]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-kbl7/igt@kms_writeback@writeback-pixel-formats.html - shard-tglb: NOTRUN -> [SKIP][125] ([i915#2437]) [125]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-tglb8/igt@kms_writeback@writeback-pixel-formats.html * {igt@msm_submit@invalid-in-fence-submit} (NEW): - shard-tglb: NOTRUN -> [SKIP][126] ([fdo#109315] / [i915#2575]) +7 similar issues [126]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-tglb3/igt@msm_submit@invalid-in-fence-submit.html * {igt@msm_submit@valid-submit} (NEW): - shard-iclb: NOTRUN -> [SKIP][127] ([fdo#109315]) +7 similar issues [127]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/shard-iclb4/igt@m == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6177/index.html [-- Attachment #2: Type: text/html, Size: 34078 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2021-08-31 20:25 UTC | newest] Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-08-31 16:17 [PATCH igt v4 0/3] Initial igt tests for drm/msm ioctls Rob Clark 2021-08-31 16:17 ` [igt-dev] " Rob Clark 2021-08-31 16:17 ` [PATCH igt v4 1/3] drmtest: Add DRIVER_MSM support Rob Clark 2021-08-31 16:17 ` [igt-dev] " Rob Clark 2021-08-31 16:17 ` [PATCH igt v4 2/3] msm: Add helper library Rob Clark 2021-08-31 16:17 ` [igt-dev] " Rob Clark 2021-08-31 16:17 ` [PATCH igt v4 3/3] msm: Add submit ioctl tests Rob Clark 2021-08-31 16:17 ` [igt-dev] " Rob Clark 2021-08-31 16:53 ` [igt-dev] ✓ Fi.CI.BAT: success for Initial igt tests for drm/msm ioctls (rev4) Patchwork 2021-08-31 20:25 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.