* [Intel-gfx] [CI 1/5] drm/i915: Fix cmdparser drm.debug @ 2019-12-11 11:04 Chris Wilson 2019-12-11 11:04 ` [Intel-gfx] [CI 2/5] drm/i915: Remove redundant parameters from intel_engine_cmd_parser Chris Wilson ` (8 more replies) 0 siblings, 9 replies; 10+ messages in thread From: Chris Wilson @ 2019-12-11 11:04 UTC (permalink / raw) To: intel-gfx The cmdparser rejection debug is not for driver development, but for the user, for which we use a plain DRM_DEBUG(). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> --- drivers/gpu/drm/i915/i915_cmd_parser.c | 55 +++++++++++++------------- 1 file changed, 27 insertions(+), 28 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_cmd_parser.c b/drivers/gpu/drm/i915/i915_cmd_parser.c index 2ed497e7c9fd..7b7061973c5e 100644 --- a/drivers/gpu/drm/i915/i915_cmd_parser.c +++ b/drivers/gpu/drm/i915/i915_cmd_parser.c @@ -731,7 +731,7 @@ static u32 gen7_render_get_cmd_length_mask(u32 cmd_header) return 0xFF; } - DRM_DEBUG_DRIVER("CMD: Abnormal rcs cmd length! 0x%08X\n", cmd_header); + DRM_DEBUG("CMD: Abnormal rcs cmd length! 0x%08X\n", cmd_header); return 0; } @@ -754,7 +754,7 @@ static u32 gen7_bsd_get_cmd_length_mask(u32 cmd_header) return 0xFF; } - DRM_DEBUG_DRIVER("CMD: Abnormal bsd cmd length! 0x%08X\n", cmd_header); + DRM_DEBUG("CMD: Abnormal bsd cmd length! 0x%08X\n", cmd_header); return 0; } @@ -767,7 +767,7 @@ static u32 gen7_blt_get_cmd_length_mask(u32 cmd_header) else if (client == INSTR_BC_CLIENT) return 0xFF; - DRM_DEBUG_DRIVER("CMD: Abnormal blt cmd length! 0x%08X\n", cmd_header); + DRM_DEBUG("CMD: Abnormal blt cmd length! 0x%08X\n", cmd_header); return 0; } @@ -778,7 +778,7 @@ static u32 gen9_blt_get_cmd_length_mask(u32 cmd_header) if (client == INSTR_MI_CLIENT || client == INSTR_BC_CLIENT) return 0xFF; - DRM_DEBUG_DRIVER("CMD: Abnormal blt cmd length! 0x%08X\n", cmd_header); + DRM_DEBUG("CMD: Abnormal blt cmd length! 0x%08X\n", cmd_header); return 0; } @@ -1211,7 +1211,7 @@ static bool check_cmd(const struct intel_engine_cs *engine, return true; if (desc->flags & CMD_DESC_REJECT) { - DRM_DEBUG_DRIVER("CMD: Rejected command: 0x%08X\n", *cmd); + DRM_DEBUG("CMD: Rejected command: 0x%08X\n", *cmd); return false; } @@ -1231,8 +1231,8 @@ static bool check_cmd(const struct intel_engine_cs *engine, find_reg(engine, reg_addr); if (!reg) { - DRM_DEBUG_DRIVER("CMD: Rejected register 0x%08X in command: 0x%08X (%s)\n", - reg_addr, *cmd, engine->name); + DRM_DEBUG("CMD: Rejected register 0x%08X in command: 0x%08X (%s)\n", + reg_addr, *cmd, engine->name); return false; } @@ -1242,22 +1242,22 @@ static bool check_cmd(const struct intel_engine_cs *engine, */ if (reg->mask) { if (desc->cmd.value == MI_LOAD_REGISTER_MEM) { - DRM_DEBUG_DRIVER("CMD: Rejected LRM to masked register 0x%08X\n", - reg_addr); + DRM_DEBUG("CMD: Rejected LRM to masked register 0x%08X\n", + reg_addr); return false; } if (desc->cmd.value == MI_LOAD_REGISTER_REG) { - DRM_DEBUG_DRIVER("CMD: Rejected LRR to masked register 0x%08X\n", - reg_addr); + DRM_DEBUG("CMD: Rejected LRR to masked register 0x%08X\n", + reg_addr); return false; } if (desc->cmd.value == MI_LOAD_REGISTER_IMM(1) && (offset + 2 > length || (cmd[offset + 1] & reg->mask) != reg->value)) { - DRM_DEBUG_DRIVER("CMD: Rejected LRI to masked register 0x%08X\n", - reg_addr); + DRM_DEBUG("CMD: Rejected LRI to masked register 0x%08X\n", + reg_addr); return false; } } @@ -1284,8 +1284,8 @@ static bool check_cmd(const struct intel_engine_cs *engine, } if (desc->bits[i].offset >= length) { - DRM_DEBUG_DRIVER("CMD: Rejected command 0x%08X, too short to check bitmask (%s)\n", - *cmd, engine->name); + DRM_DEBUG("CMD: Rejected command 0x%08X, too short to check bitmask (%s)\n", + *cmd, engine->name); return false; } @@ -1293,11 +1293,11 @@ static bool check_cmd(const struct intel_engine_cs *engine, desc->bits[i].mask; if (dword != desc->bits[i].expected) { - DRM_DEBUG_DRIVER("CMD: Rejected command 0x%08X for bitmask 0x%08X (exp=0x%08X act=0x%08X) (%s)\n", - *cmd, - desc->bits[i].mask, - desc->bits[i].expected, - dword, engine->name); + DRM_DEBUG("CMD: Rejected command 0x%08X for bitmask 0x%08X (exp=0x%08X act=0x%08X) (%s)\n", + *cmd, + desc->bits[i].mask, + desc->bits[i].expected, + dword, engine->name); return false; } } @@ -1425,7 +1425,7 @@ int intel_engine_cmd_parser(struct intel_engine_cs *engine, batch_start_offset, batch_len, &needs_clflush_after); if (IS_ERR(cmd)) { - DRM_DEBUG_DRIVER("CMD: Failed to copy batch\n"); + DRM_DEBUG("CMD: Failed to copy batch\n"); return PTR_ERR(cmd); } @@ -1446,8 +1446,7 @@ int intel_engine_cmd_parser(struct intel_engine_cs *engine, desc = find_cmd(engine, *cmd, desc, &default_desc); if (!desc) { - DRM_DEBUG_DRIVER("CMD: Unrecognized command: 0x%08X\n", - *cmd); + DRM_DEBUG("CMD: Unrecognized command: 0x%08X\n", *cmd); ret = -EINVAL; goto err; } @@ -1458,10 +1457,10 @@ int intel_engine_cmd_parser(struct intel_engine_cs *engine, length = ((*cmd & desc->length.mask) + LENGTH_BIAS); if ((batch_end - cmd) < length) { - DRM_DEBUG_DRIVER("CMD: Command length exceeds batch length: 0x%08X length=%u batchlen=%td\n", - *cmd, - length, - batch_end - cmd); + DRM_DEBUG("CMD: Command length exceeds batch length: 0x%08X length=%u batchlen=%td\n", + *cmd, + length, + batch_end - cmd); ret = -EINVAL; goto err; } @@ -1488,7 +1487,7 @@ int intel_engine_cmd_parser(struct intel_engine_cs *engine, cmd += length; offset += length; if (cmd >= batch_end) { - DRM_DEBUG_DRIVER("CMD: Got to the end of the buffer w/o a BBE cmd!\n"); + DRM_DEBUG("CMD: Got to the end of the buffer w/o a BBE cmd!\n"); ret = -EINVAL; goto err; } -- 2.24.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [Intel-gfx] [CI 2/5] drm/i915: Remove redundant parameters from intel_engine_cmd_parser 2019-12-11 11:04 [Intel-gfx] [CI 1/5] drm/i915: Fix cmdparser drm.debug Chris Wilson @ 2019-12-11 11:04 ` Chris Wilson 2019-12-11 11:04 ` [Intel-gfx] [CI 3/5] drm/i915: Simplify error escape from cmdparser Chris Wilson ` (7 subsequent siblings) 8 siblings, 0 replies; 10+ messages in thread From: Chris Wilson @ 2019-12-11 11:04 UTC (permalink / raw) To: intel-gfx Declutter the calling interface by reducing the parameters to the i915_vma and associated offsets. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> --- .../gpu/drm/i915/gem/i915_gem_execbuffer.c | 33 +----- drivers/gpu/drm/i915/gt/intel_gpu_commands.h | 21 ++++ drivers/gpu/drm/i915/i915_cmd_parser.c | 106 +++++++++--------- drivers/gpu/drm/i915/i915_drv.h | 10 +- 4 files changed, 82 insertions(+), 88 deletions(-) diff --git a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c index 5003e616a1ad..796ed5340741 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c @@ -276,25 +276,6 @@ struct i915_execbuffer { #define exec_entry(EB, VMA) (&(EB)->exec[(VMA)->exec_flags - (EB)->flags]) -/* - * Used to convert any address to canonical form. - * Starting from gen8, some commands (e.g. STATE_BASE_ADDRESS, - * MI_LOAD_REGISTER_MEM and others, see Broadwell PRM Vol2a) require the - * addresses to be in a canonical form: - * "GraphicsAddress[63:48] are ignored by the HW and assumed to be in correct - * canonical form [63:48] == [47]." - */ -#define GEN8_HIGH_ADDRESS_BIT 47 -static inline u64 gen8_canonical_addr(u64 address) -{ - return sign_extend64(address, GEN8_HIGH_ADDRESS_BIT); -} - -static inline u64 gen8_noncanonical_addr(u64 address) -{ - return address & GENMASK_ULL(GEN8_HIGH_ADDRESS_BIT, 0); -} - static inline bool eb_use_cmdparser(const struct i915_execbuffer *eb) { return intel_engine_requires_cmd_parser(eb->engine) || @@ -2005,8 +1986,6 @@ static struct i915_vma *eb_parse(struct i915_execbuffer *eb) { struct intel_engine_pool_node *pool; struct i915_vma *vma; - u64 batch_start; - u64 shadow_batch_start; int err; pool = intel_engine_get_pool(eb->engine, eb->batch_len); @@ -2017,19 +1996,11 @@ static struct i915_vma *eb_parse(struct i915_execbuffer *eb) if (IS_ERR(vma)) goto err; - batch_start = gen8_canonical_addr(eb->batch->node.start) + - eb->batch_start_offset; - - shadow_batch_start = gen8_canonical_addr(vma->node.start); - err = intel_engine_cmd_parser(eb->engine, - eb->batch->obj, - batch_start, + eb->batch, eb->batch_start_offset, eb->batch_len, - pool->obj, - shadow_batch_start); - + vma); if (err) { i915_vma_unpin(vma); diff --git a/drivers/gpu/drm/i915/gt/intel_gpu_commands.h b/drivers/gpu/drm/i915/gt/intel_gpu_commands.h index 4294f146f13c..c68c0e033f30 100644 --- a/drivers/gpu/drm/i915/gt/intel_gpu_commands.h +++ b/drivers/gpu/drm/i915/gt/intel_gpu_commands.h @@ -7,6 +7,8 @@ #ifndef _INTEL_GPU_COMMANDS_H_ #define _INTEL_GPU_COMMANDS_H_ +#include <linux/bitops.h> + /* * Target address alignments required for GPU access e.g. * MI_STORE_DWORD_IMM. @@ -319,4 +321,23 @@ #define COLOR_BLT ((0x2<<29)|(0x40<<22)) #define SRC_COPY_BLT ((0x2<<29)|(0x43<<22)) +/* + * Used to convert any address to canonical form. + * Starting from gen8, some commands (e.g. STATE_BASE_ADDRESS, + * MI_LOAD_REGISTER_MEM and others, see Broadwell PRM Vol2a) require the + * addresses to be in a canonical form: + * "GraphicsAddress[63:48] are ignored by the HW and assumed to be in correct + * canonical form [63:48] == [47]." + */ +#define GEN8_HIGH_ADDRESS_BIT 47 +static inline u64 gen8_canonical_addr(u64 address) +{ + return sign_extend64(address, GEN8_HIGH_ADDRESS_BIT); +} + +static inline u64 gen8_noncanonical_addr(u64 address) +{ + return address & GENMASK_ULL(GEN8_HIGH_ADDRESS_BIT, 0); +} + #endif /* _INTEL_GPU_COMMANDS_H_ */ diff --git a/drivers/gpu/drm/i915/i915_cmd_parser.c b/drivers/gpu/drm/i915/i915_cmd_parser.c index 7b7061973c5e..2f5811d3707e 100644 --- a/drivers/gpu/drm/i915/i915_cmd_parser.c +++ b/drivers/gpu/drm/i915/i915_cmd_parser.c @@ -1127,8 +1127,7 @@ find_reg(const struct intel_engine_cs *engine, u32 addr) /* Returns a vmap'd pointer to dst_obj, which the caller must unmap */ static u32 *copy_batch(struct drm_i915_gem_object *dst_obj, struct drm_i915_gem_object *src_obj, - u32 batch_start_offset, - u32 batch_len, + u32 offset, u32 length, bool *needs_clflush_after) { unsigned int src_needs_clflush; @@ -1153,22 +1152,21 @@ static u32 *copy_batch(struct drm_i915_gem_object *dst_obj, src = ERR_PTR(-ENODEV); if (src_needs_clflush && - i915_can_memcpy_from_wc(NULL, batch_start_offset, 0)) { + i915_can_memcpy_from_wc(NULL, offset, 0)) { src = i915_gem_object_pin_map(src_obj, I915_MAP_WC); if (!IS_ERR(src)) { i915_memcpy_from_wc(dst, - src + batch_start_offset, - ALIGN(batch_len, 16)); + src + offset, + ALIGN(length, 16)); i915_gem_object_unpin_map(src_obj); } } if (IS_ERR(src)) { void *ptr; - int offset, n; + int x, n; - offset = offset_in_page(batch_start_offset); - - /* We can avoid clflushing partial cachelines before the write + /* + * We can avoid clflushing partial cachelines before the write * if we only every write full cache-lines. Since we know that * both the source and destination are in multiples of * PAGE_SIZE, we can simply round up to the next cacheline. @@ -1176,22 +1174,23 @@ static u32 *copy_batch(struct drm_i915_gem_object *dst_obj, * validate up to the end of the batch. */ if (dst_needs_clflush & CLFLUSH_BEFORE) - batch_len = roundup(batch_len, - boot_cpu_data.x86_clflush_size); + length = round_up(length, + boot_cpu_data.x86_clflush_size); ptr = dst; - for (n = batch_start_offset >> PAGE_SHIFT; batch_len; n++) { - int len = min_t(int, batch_len, PAGE_SIZE - offset); + x = offset_in_page(offset); + for (n = offset >> PAGE_SHIFT; length; n++) { + int len = min_t(int, length, PAGE_SIZE - x); src = kmap_atomic(i915_gem_object_get_page(src_obj, n)); if (src_needs_clflush) - drm_clflush_virt_range(src + offset, len); - memcpy(ptr, src + offset, len); + drm_clflush_virt_range(src + x, len); + memcpy(ptr, src + x, len); kunmap_atomic(src); ptr += len; - batch_len -= len; - offset = 0; + length -= len; + x = 0; } } @@ -1307,9 +1306,9 @@ static bool check_cmd(const struct intel_engine_cs *engine, } static int check_bbstart(u32 *cmd, u32 offset, u32 length, - u32 batch_len, - u64 batch_start, - u64 shadow_batch_start, + u32 batch_length, + u64 batch_addr, + u64 shadow_addr, const unsigned long *jump_whitelist) { u64 jump_offset, jump_target; @@ -1327,14 +1326,14 @@ static int check_bbstart(u32 *cmd, u32 offset, u32 length, return -EINVAL; } - jump_target = *(u64*)(cmd+1); - jump_offset = jump_target - batch_start; + jump_target = *(u64 *)(cmd + 1); + jump_offset = jump_target - batch_addr; /* * Any underflow of jump_target is guaranteed to be outside the range * of a u32, so >= test catches both too large and too small */ - if (jump_offset >= batch_len) { + if (jump_offset >= batch_length) { DRM_DEBUG("CMD: BB_START to 0x%llx jumps out of BB\n", jump_target); return -EINVAL; @@ -1342,12 +1341,12 @@ static int check_bbstart(u32 *cmd, u32 offset, u32 length, /* * This cannot overflow a u32 because we already checked jump_offset - * is within the BB, and the batch_len is a u32 + * is within the BB, and the batch_length is a u32 */ target_cmd_offset = lower_32_bits(jump_offset); target_cmd_index = target_cmd_offset / sizeof(u32); - *(u64*)(cmd + 1) = shadow_batch_start + target_cmd_offset; + *(u64 *)(cmd + 1) = shadow_addr + target_cmd_offset; if (target_cmd_index == offset) return 0; @@ -1365,12 +1364,12 @@ static int check_bbstart(u32 *cmd, u32 offset, u32 length, } static unsigned long * -alloc_whitelist(struct drm_i915_private *i915, u32 batch_len) +alloc_whitelist(struct drm_i915_private *i915, u32 batch_length) { unsigned long *jmp; /* - * We expect batch_len to be less than 256KiB for known users, + * We expect batch_length to be less than 256KiB for known users, * i.e. we need at most an 8KiB bitmap allocation which should be * reasonably cheap due to kmalloc caches. */ @@ -1379,7 +1378,7 @@ alloc_whitelist(struct drm_i915_private *i915, u32 batch_len) return NULL; /* Prefer to report transient allocation failure rather than hit oom */ - jmp = bitmap_zalloc(DIV_ROUND_UP(batch_len, sizeof(u32)), + jmp = bitmap_zalloc(DIV_ROUND_UP(batch_length, sizeof(u32)), GFP_KERNEL | __GFP_RETRY_MAYFAIL | __GFP_NOWARN); if (!jmp) return ERR_PTR(-ENOMEM); @@ -1390,14 +1389,12 @@ alloc_whitelist(struct drm_i915_private *i915, u32 batch_len) #define LENGTH_BIAS 2 /** - * i915_parse_cmds() - parse a submitted batch buffer for privilege violations + * intel_engine_cmd_parser() - parse a batch buffer for privilege violations * @engine: the engine on which the batch is to execute - * @batch_obj: the batch buffer in question - * @batch_start: Canonical base address of batch - * @batch_start_offset: byte offset in the batch at which execution starts - * @batch_len: length of the commands in batch_obj - * @shadow_batch_obj: copy of the batch buffer in question - * @shadow_batch_start: Canonical base address of shadow_batch_obj + * @batch: the batch buffer in question + * @batch_offset: byte offset in the batch at which execution starts + * @batch_length: length of the commands in batch_obj + * @shadow: validated copy of the batch buffer in question * * Parses the specified batch buffer looking for privilege violations as * described in the overview. @@ -1407,22 +1404,27 @@ alloc_whitelist(struct drm_i915_private *i915, u32 batch_len) */ int intel_engine_cmd_parser(struct intel_engine_cs *engine, - struct drm_i915_gem_object *batch_obj, - u64 batch_start, - u32 batch_start_offset, - u32 batch_len, - struct drm_i915_gem_object *shadow_batch_obj, - u64 shadow_batch_start) + struct i915_vma *batch, + u32 batch_offset, + u32 batch_length, + struct i915_vma *shadow) { u32 *cmd, *batch_end, offset = 0; struct drm_i915_cmd_descriptor default_desc = noop_desc; const struct drm_i915_cmd_descriptor *desc = &default_desc; bool needs_clflush_after = false; unsigned long *jump_whitelist; + u64 batch_addr, shadow_addr; int ret = 0; - cmd = copy_batch(shadow_batch_obj, batch_obj, - batch_start_offset, batch_len, + GEM_BUG_ON(!IS_ALIGNED(batch_offset, sizeof(*cmd))); + GEM_BUG_ON(!IS_ALIGNED(batch_length, sizeof(*cmd))); + GEM_BUG_ON(range_overflows_t(u64, batch_offset, batch_length, + batch->size)); + GEM_BUG_ON(!batch_length); + + cmd = copy_batch(shadow->obj, batch->obj, + batch_offset, batch_length, &needs_clflush_after); if (IS_ERR(cmd)) { DRM_DEBUG("CMD: Failed to copy batch\n"); @@ -1430,14 +1432,17 @@ int intel_engine_cmd_parser(struct intel_engine_cs *engine, } /* Defer failure until attempted use */ - jump_whitelist = alloc_whitelist(engine->i915, batch_len); + jump_whitelist = alloc_whitelist(engine->i915, batch_length); + + shadow_addr = gen8_canonical_addr(shadow->node.start); + batch_addr = gen8_canonical_addr(batch->node.start + batch_offset); /* * We use the batch length as size because the shadow object is as * large or larger and copy_batch() will write MI_NOPs to the extra * space. Parsing should be faster in some cases this way. */ - batch_end = cmd + (batch_len / sizeof(*batch_end)); + batch_end = cmd + batch_length / sizeof(*batch_end); do { u32 length; @@ -1454,7 +1459,7 @@ int intel_engine_cmd_parser(struct intel_engine_cs *engine, if (desc->flags & CMD_DESC_FIXED) length = desc->length.fixed; else - length = ((*cmd & desc->length.mask) + LENGTH_BIAS); + length = (*cmd & desc->length.mask) + LENGTH_BIAS; if ((batch_end - cmd) < length) { DRM_DEBUG("CMD: Command length exceeds batch length: 0x%08X length=%u batchlen=%td\n", @@ -1471,9 +1476,8 @@ int intel_engine_cmd_parser(struct intel_engine_cs *engine, } if (desc->cmd.value == MI_BATCH_BUFFER_START) { - ret = check_bbstart(cmd, offset, length, - batch_len, batch_start, - shadow_batch_start, + ret = check_bbstart(cmd, offset, length, batch_length, + batch_addr, shadow_addr, jump_whitelist); if (ret) @@ -1494,7 +1498,7 @@ int intel_engine_cmd_parser(struct intel_engine_cs *engine, } while (1); if (needs_clflush_after) { - void *ptr = page_mask_bits(shadow_batch_obj->mm.mapping); + void *ptr = page_mask_bits(shadow->obj->mm.mapping); drm_clflush_virt_range(ptr, (void *)(cmd + 1) - ptr); } @@ -1502,7 +1506,7 @@ int intel_engine_cmd_parser(struct intel_engine_cs *engine, err: if (!IS_ERR_OR_NULL(jump_whitelist)) kfree(jump_whitelist); - i915_gem_object_unpin_map(shadow_batch_obj); + i915_gem_object_unpin_map(shadow->obj); return ret; } diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index ce130e1f1e47..45f31197b390 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -1946,12 +1946,10 @@ int i915_cmd_parser_get_version(struct drm_i915_private *dev_priv); void intel_engine_init_cmd_parser(struct intel_engine_cs *engine); void intel_engine_cleanup_cmd_parser(struct intel_engine_cs *engine); int intel_engine_cmd_parser(struct intel_engine_cs *engine, - struct drm_i915_gem_object *batch_obj, - u64 user_batch_start, - u32 batch_start_offset, - u32 batch_len, - struct drm_i915_gem_object *shadow_batch_obj, - u64 shadow_batch_start); + struct i915_vma *batch, + u32 batch_offset, + u32 batch_length, + struct i915_vma *shadow); /* intel_device_info.c */ static inline struct intel_device_info * -- 2.24.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [Intel-gfx] [CI 3/5] drm/i915: Simplify error escape from cmdparser 2019-12-11 11:04 [Intel-gfx] [CI 1/5] drm/i915: Fix cmdparser drm.debug Chris Wilson 2019-12-11 11:04 ` [Intel-gfx] [CI 2/5] drm/i915: Remove redundant parameters from intel_engine_cmd_parser Chris Wilson @ 2019-12-11 11:04 ` Chris Wilson 2019-12-11 11:04 ` [Intel-gfx] [CI 4/5] drm/i915/gem: Tidy up error handling for eb_parse() Chris Wilson ` (6 subsequent siblings) 8 siblings, 0 replies; 10+ messages in thread From: Chris Wilson @ 2019-12-11 11:04 UTC (permalink / raw) To: intel-gfx We need to flush the destination buffer, even on error, to maintain consistent cache state. Thereby removing the jump on error past the clear, and reducing the loop-escape mechanism to a mere break. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> --- drivers/gpu/drm/i915/i915_cmd_parser.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_cmd_parser.c b/drivers/gpu/drm/i915/i915_cmd_parser.c index 2f5811d3707e..b692c40348a1 100644 --- a/drivers/gpu/drm/i915/i915_cmd_parser.c +++ b/drivers/gpu/drm/i915/i915_cmd_parser.c @@ -1453,7 +1453,7 @@ int intel_engine_cmd_parser(struct intel_engine_cs *engine, if (!desc) { DRM_DEBUG("CMD: Unrecognized command: 0x%08X\n", *cmd); ret = -EINVAL; - goto err; + break; } if (desc->flags & CMD_DESC_FIXED) @@ -1467,21 +1467,18 @@ int intel_engine_cmd_parser(struct intel_engine_cs *engine, length, batch_end - cmd); ret = -EINVAL; - goto err; + break; } if (!check_cmd(engine, desc, cmd, length)) { ret = -EACCES; - goto err; + break; } if (desc->cmd.value == MI_BATCH_BUFFER_START) { ret = check_bbstart(cmd, offset, length, batch_length, batch_addr, shadow_addr, jump_whitelist); - - if (ret) - goto err; break; } @@ -1493,7 +1490,7 @@ int intel_engine_cmd_parser(struct intel_engine_cs *engine, if (cmd >= batch_end) { DRM_DEBUG("CMD: Got to the end of the buffer w/o a BBE cmd!\n"); ret = -EINVAL; - goto err; + break; } } while (1); @@ -1503,7 +1500,6 @@ int intel_engine_cmd_parser(struct intel_engine_cs *engine, drm_clflush_virt_range(ptr, (void *)(cmd + 1) - ptr); } -err: if (!IS_ERR_OR_NULL(jump_whitelist)) kfree(jump_whitelist); i915_gem_object_unpin_map(shadow->obj); -- 2.24.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [Intel-gfx] [CI 4/5] drm/i915/gem: Tidy up error handling for eb_parse() 2019-12-11 11:04 [Intel-gfx] [CI 1/5] drm/i915: Fix cmdparser drm.debug Chris Wilson 2019-12-11 11:04 ` [Intel-gfx] [CI 2/5] drm/i915: Remove redundant parameters from intel_engine_cmd_parser Chris Wilson 2019-12-11 11:04 ` [Intel-gfx] [CI 3/5] drm/i915: Simplify error escape from cmdparser Chris Wilson @ 2019-12-11 11:04 ` Chris Wilson 2019-12-11 11:04 ` [Intel-gfx] [CI 5/5] drm/i915: Align start for memcpy_from_wc Chris Wilson ` (5 subsequent siblings) 8 siblings, 0 replies; 10+ messages in thread From: Chris Wilson @ 2019-12-11 11:04 UTC (permalink / raw) To: intel-gfx As the caller no longer uses the i915_vma result, stop returning it and just return the error code instead. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> --- .../gpu/drm/i915/gem/i915_gem_execbuffer.c | 39 +++++++++---------- 1 file changed, 18 insertions(+), 21 deletions(-) diff --git a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c index 796ed5340741..13f88fc536c7 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c @@ -1982,19 +1982,24 @@ shadow_batch_pin(struct i915_execbuffer *eb, struct drm_i915_gem_object *obj) return vma; } -static struct i915_vma *eb_parse(struct i915_execbuffer *eb) +static int eb_parse(struct i915_execbuffer *eb) { struct intel_engine_pool_node *pool; struct i915_vma *vma; int err; + if (!eb_use_cmdparser(eb)) + return 0; + pool = intel_engine_get_pool(eb->engine, eb->batch_len); if (IS_ERR(pool)) - return ERR_CAST(pool); + return PTR_ERR(pool); vma = shadow_batch_pin(eb, pool->obj); - if (IS_ERR(vma)) + if (IS_ERR(vma)) { + err = PTR_ERR(vma); goto err; + } err = intel_engine_cmd_parser(eb->engine, eb->batch, @@ -2002,8 +2007,6 @@ static struct i915_vma *eb_parse(struct i915_execbuffer *eb) eb->batch_len, vma); if (err) { - i915_vma_unpin(vma); - /* * Unsafe GGTT-backed buffers can still be submitted safely * as non-secure. @@ -2011,11 +2014,9 @@ static struct i915_vma *eb_parse(struct i915_execbuffer *eb) * reject unsafe buffers */ if (i915_vma_is_ggtt(vma) && err == -EACCES) - /* Execute original buffer non-secure */ - vma = NULL; - else - vma = ERR_PTR(err); - goto err; + err = 0; + + goto err_unpin; } eb->vma[eb->buffer_count] = i915_vma_get(vma); @@ -2033,11 +2034,13 @@ static struct i915_vma *eb_parse(struct i915_execbuffer *eb) /* eb->batch_len unchanged */ vma->private = pool; - return vma; + return 0; +err_unpin: + i915_vma_unpin(vma); err: intel_engine_pool_put(pool); - return vma; + return err; } static void @@ -2558,15 +2561,9 @@ i915_gem_do_execbuffer(struct drm_device *dev, if (eb.batch_len == 0) eb.batch_len = eb.batch->size - eb.batch_start_offset; - if (eb_use_cmdparser(&eb)) { - struct i915_vma *vma; - - vma = eb_parse(&eb); - if (IS_ERR(vma)) { - err = PTR_ERR(vma); - goto err_vma; - } - } + err = eb_parse(&eb); + if (err) + goto err_vma; /* * snb/ivb/vlv conflate the "batch in ppgtt" bit with the "non-secure -- 2.24.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [Intel-gfx] [CI 5/5] drm/i915: Align start for memcpy_from_wc 2019-12-11 11:04 [Intel-gfx] [CI 1/5] drm/i915: Fix cmdparser drm.debug Chris Wilson ` (2 preceding siblings ...) 2019-12-11 11:04 ` [Intel-gfx] [CI 4/5] drm/i915/gem: Tidy up error handling for eb_parse() Chris Wilson @ 2019-12-11 11:04 ` Chris Wilson 2019-12-11 13:23 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [CI,1/5] drm/i915: Fix cmdparser drm.debug Patchwork ` (4 subsequent siblings) 8 siblings, 0 replies; 10+ messages in thread From: Chris Wilson @ 2019-12-11 11:04 UTC (permalink / raw) To: intel-gfx The movntqda requires 16-byte alignment for the source pointer. Avoid falling back to clflush if the source pointer is misaligned by doing the doing a small uncached memcpy to fixup the alignments. v2: Turn the unaligned copy into a genuine helper Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> --- drivers/gpu/drm/i915/i915_cmd_parser.c | 9 ++-- drivers/gpu/drm/i915/i915_memcpy.c | 75 ++++++++++++++++++++++++-- drivers/gpu/drm/i915/i915_memcpy.h | 2 + 3 files changed, 77 insertions(+), 9 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_cmd_parser.c b/drivers/gpu/drm/i915/i915_cmd_parser.c index b692c40348a1..ddc8bf5175d9 100644 --- a/drivers/gpu/drm/i915/i915_cmd_parser.c +++ b/drivers/gpu/drm/i915/i915_cmd_parser.c @@ -1151,13 +1151,12 @@ static u32 *copy_batch(struct drm_i915_gem_object *dst_obj, } src = ERR_PTR(-ENODEV); - if (src_needs_clflush && - i915_can_memcpy_from_wc(NULL, offset, 0)) { + if (src_needs_clflush && i915_has_memcpy_from_wc()) { src = i915_gem_object_pin_map(src_obj, I915_MAP_WC); if (!IS_ERR(src)) { - i915_memcpy_from_wc(dst, - src + offset, - ALIGN(length, 16)); + i915_unaligned_memcpy_from_wc(dst, + src + offset, + length); i915_gem_object_unpin_map(src_obj); } } diff --git a/drivers/gpu/drm/i915/i915_memcpy.c b/drivers/gpu/drm/i915/i915_memcpy.c index 07b04b0acb77..fdd550405fd3 100644 --- a/drivers/gpu/drm/i915/i915_memcpy.c +++ b/drivers/gpu/drm/i915/i915_memcpy.c @@ -27,6 +27,12 @@ #include "i915_memcpy.h" +#if IS_ENABLED(CONFIG_DRM_I915_DEBUG) +#define CI_BUG_ON(expr) BUG_ON(expr) +#else +#define CI_BUG_ON(expr) BUILD_BUG_ON_INVALID(expr) +#endif + static DEFINE_STATIC_KEY_FALSE(has_movntdqa); #ifdef CONFIG_AS_MOVNTDQA @@ -34,7 +40,6 @@ static void __memcpy_ntdqa(void *dst, const void *src, unsigned long len) { kernel_fpu_begin(); - len >>= 4; while (len >= 4) { asm("movntdqa (%0), %%xmm0\n" "movntdqa 16(%0), %%xmm1\n" @@ -59,6 +64,38 @@ static void __memcpy_ntdqa(void *dst, const void *src, unsigned long len) kernel_fpu_end(); } + +static void __memcpy_ntdqu(void *dst, const void *src, unsigned long len) +{ + kernel_fpu_begin(); + + while (len >= 4) { + asm("movntdqa (%0), %%xmm0\n" + "movntdqa 16(%0), %%xmm1\n" + "movntdqa 32(%0), %%xmm2\n" + "movntdqa 48(%0), %%xmm3\n" + "movups %%xmm0, (%1)\n" + "movups %%xmm1, 16(%1)\n" + "movups %%xmm2, 32(%1)\n" + "movups %%xmm3, 48(%1)\n" + :: "r" (src), "r" (dst) : "memory"); + src += 64; + dst += 64; + len -= 4; + } + while (len--) { + asm("movntdqa (%0), %%xmm0\n" + "movups %%xmm0, (%1)\n" + :: "r" (src), "r" (dst) : "memory"); + src += 16; + dst += 16; + } + + kernel_fpu_end(); +} +#else +static void __memcpy_ntdqa(void *dst, const void *src, unsigned long len) {} +static void __memcpy_ntdqu(void *dst, const void *src, unsigned long len) {} #endif /** @@ -83,17 +120,47 @@ bool i915_memcpy_from_wc(void *dst, const void *src, unsigned long len) if (unlikely(((unsigned long)dst | (unsigned long)src | len) & 15)) return false; -#ifdef CONFIG_AS_MOVNTDQA if (static_branch_likely(&has_movntdqa)) { if (likely(len)) - __memcpy_ntdqa(dst, src, len); + __memcpy_ntdqa(dst, src, len >> 4); return true; } -#endif return false; } +/** + * i915_unaligned_memcpy_from_wc: perform a mostly accelerated read from WC + * @dst: destination pointer + * @src: source pointer + * @len: how many bytes to copy + * + * Like i915_memcpy_from_wc(), the unaligned variant copies @len bytes from + * @src to @dst using * non-temporal instructions where available, but + * accepts that its arguments may not be aligned, but are valid for the + * potential 16-byte read past the end. + */ +void i915_unaligned_memcpy_from_wc(void *dst, void *src, unsigned long len) +{ + unsigned long addr; + + CI_BUG_ON(!i915_has_memcpy_from_wc()); + + addr = (unsigned long)src; + if (!IS_ALIGNED(addr, 16)) { + unsigned long x = min(ALIGN(addr, 16) - addr, len); + + memcpy(dst, src, x); + + len -= x; + dst += x; + src += x; + } + + if (likely(len)) + __memcpy_ntdqu(dst, src, DIV_ROUND_UP(len, 16)); +} + void i915_memcpy_init_early(struct drm_i915_private *dev_priv) { /* diff --git a/drivers/gpu/drm/i915/i915_memcpy.h b/drivers/gpu/drm/i915/i915_memcpy.h index 970d84b16987..e36d30edd987 100644 --- a/drivers/gpu/drm/i915/i915_memcpy.h +++ b/drivers/gpu/drm/i915/i915_memcpy.h @@ -11,7 +11,9 @@ struct drm_i915_private; void i915_memcpy_init_early(struct drm_i915_private *i915); + bool i915_memcpy_from_wc(void *dst, const void *src, unsigned long len); +void i915_unaligned_memcpy_from_wc(void *dst, void *src, unsigned long len); /* The movntdqa instructions used for memcpy-from-wc require 16-byte alignment, * as well as SSE4.1 support. i915_memcpy_from_wc() will report if it cannot -- 2.24.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [CI,1/5] drm/i915: Fix cmdparser drm.debug 2019-12-11 11:04 [Intel-gfx] [CI 1/5] drm/i915: Fix cmdparser drm.debug Chris Wilson ` (3 preceding siblings ...) 2019-12-11 11:04 ` [Intel-gfx] [CI 5/5] drm/i915: Align start for memcpy_from_wc Chris Wilson @ 2019-12-11 13:23 ` Patchwork 2019-12-11 13:58 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork ` (3 subsequent siblings) 8 siblings, 0 replies; 10+ messages in thread From: Patchwork @ 2019-12-11 13:23 UTC (permalink / raw) To: Chris Wilson; +Cc: intel-gfx == Series Details == Series: series starting with [CI,1/5] drm/i915: Fix cmdparser drm.debug URL : https://patchwork.freedesktop.org/series/70751/ State : warning == Summary == $ dim checkpatch origin/drm-tip 932afa9f6249 drm/i915: Fix cmdparser drm.debug d6fc56037549 drm/i915: Remove redundant parameters from intel_engine_cmd_parser 37ab9c58f463 drm/i915: Simplify error escape from cmdparser 2c1527f75ee4 drm/i915/gem: Tidy up error handling for eb_parse() fa5e1faeee3f drm/i915: Align start for memcpy_from_wc -:46: WARNING:AVOID_BUG: Avoid crashing the kernel - try using WARN_ON & recovery code rather than BUG() or BUG_ON() #46: FILE: drivers/gpu/drm/i915/i915_memcpy.c:31: +#define CI_BUG_ON(expr) BUG_ON(expr) total: 0 errors, 1 warnings, 0 checks, 133 lines checked _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [CI,1/5] drm/i915: Fix cmdparser drm.debug 2019-12-11 11:04 [Intel-gfx] [CI 1/5] drm/i915: Fix cmdparser drm.debug Chris Wilson ` (4 preceding siblings ...) 2019-12-11 13:23 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [CI,1/5] drm/i915: Fix cmdparser drm.debug Patchwork @ 2019-12-11 13:58 ` Patchwork 2019-12-11 19:09 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [CI,1/5] drm/i915: Fix cmdparser drm.debug (rev2) Patchwork ` (2 subsequent siblings) 8 siblings, 0 replies; 10+ messages in thread From: Patchwork @ 2019-12-11 13:58 UTC (permalink / raw) To: Chris Wilson; +Cc: intel-gfx == Series Details == Series: series starting with [CI,1/5] drm/i915: Fix cmdparser drm.debug URL : https://patchwork.freedesktop.org/series/70751/ State : failure == Summary == CI Bug Log - changes from CI_DRM_7540 -> Patchwork_15688 ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with Patchwork_15688 absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in Patchwork_15688, 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/Patchwork_15688/index.html Possible new issues ------------------- Here are the unknown changes that may have been introduced in Patchwork_15688: ### IGT changes ### #### Possible regressions #### * igt@gem_sync@basic-store-all: - fi-tgl-y: NOTRUN -> [INCOMPLETE][1] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15688/fi-tgl-y/igt@gem_sync@basic-store-all.html * igt@i915_selftest@live_gem_contexts: - fi-cfl-guc: [PASS][2] -> [DMESG-FAIL][3] [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7540/fi-cfl-guc/igt@i915_selftest@live_gem_contexts.html [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15688/fi-cfl-guc/igt@i915_selftest@live_gem_contexts.html Known issues ------------ Here are the changes found in Patchwork_15688 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@i915_pm_rpm@module-reload: - fi-skl-6770hq: [PASS][4] -> [FAIL][5] ([i915#178]) [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7540/fi-skl-6770hq/igt@i915_pm_rpm@module-reload.html [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15688/fi-skl-6770hq/igt@i915_pm_rpm@module-reload.html * igt@i915_selftest@live_blt: - fi-ivb-3770: [PASS][6] -> [DMESG-FAIL][7] ([i915#725]) [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7540/fi-ivb-3770/igt@i915_selftest@live_blt.html [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15688/fi-ivb-3770/igt@i915_selftest@live_blt.html * igt@kms_busy@basic-flip-pipe-a: - fi-icl-u2: [PASS][8] -> [TIMEOUT][9] ([i915#449]) [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7540/fi-icl-u2/igt@kms_busy@basic-flip-pipe-a.html [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15688/fi-icl-u2/igt@kms_busy@basic-flip-pipe-a.html * igt@kms_chamelium@hdmi-hpd-fast: - fi-kbl-7500u: [PASS][10] -> [FAIL][11] ([fdo#111407]) [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7540/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15688/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html #### Possible fixes #### * igt@i915_selftest@live_blt: - fi-hsw-4770: [DMESG-FAIL][12] ([i915#725]) -> [PASS][13] [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7540/fi-hsw-4770/igt@i915_selftest@live_blt.html [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15688/fi-hsw-4770/igt@i915_selftest@live_blt.html * igt@i915_selftest@live_hangcheck: - fi-icl-u3: [INCOMPLETE][14] ([fdo#108569] / [i915#140]) -> [PASS][15] [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7540/fi-icl-u3/igt@i915_selftest@live_hangcheck.html [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15688/fi-icl-u3/igt@i915_selftest@live_hangcheck.html #### Warnings #### * igt@gem_exec_suspend@basic-s3: - fi-kbl-x1275: [DMESG-WARN][16] ([i915#62] / [i915#92] / [i915#95]) -> [DMESG-WARN][17] ([i915#62] / [i915#92]) +4 similar issues [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7540/fi-kbl-x1275/igt@gem_exec_suspend@basic-s3.html [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15688/fi-kbl-x1275/igt@gem_exec_suspend@basic-s3.html * igt@kms_busy@basic-flip-pipe-b: - fi-kbl-x1275: [DMESG-WARN][18] ([i915#62] / [i915#92]) -> [DMESG-WARN][19] ([i915#62] / [i915#92] / [i915#95]) +4 similar issues [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7540/fi-kbl-x1275/igt@kms_busy@basic-flip-pipe-b.html [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15688/fi-kbl-x1275/igt@kms_busy@basic-flip-pipe-b.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569 [fdo#111407]: https://bugs.freedesktop.org/show_bug.cgi?id=111407 [i915#140]: https://gitlab.freedesktop.org/drm/intel/issues/140 [i915#178]: https://gitlab.freedesktop.org/drm/intel/issues/178 [i915#449]: https://gitlab.freedesktop.org/drm/intel/issues/449 [i915#476]: https://gitlab.freedesktop.org/drm/intel/issues/476 [i915#62]: https://gitlab.freedesktop.org/drm/intel/issues/62 [i915#725]: https://gitlab.freedesktop.org/drm/intel/issues/725 [i915#92]: https://gitlab.freedesktop.org/drm/intel/issues/92 [i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95 Participating hosts (53 -> 46) ------------------------------ Additional (1): fi-tgl-y Missing (8): fi-hsw-4770r fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-byt-clapper fi-bdw-samus Build changes ------------- * CI: CI-20190529 -> None * Linux: CI_DRM_7540 -> Patchwork_15688 CI-20190529: 20190529 CI_DRM_7540: f7af732973915f9e52e939c0a8046f2eb8c6db63 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_5343: e3664f8ce1f9152712b32e9bfa1e4ec93ffa5349 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_15688: fa5e1faeee3f31fd63c7ab6a4e11d029ad4ff51c @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == fa5e1faeee3f drm/i915: Align start for memcpy_from_wc 2c1527f75ee4 drm/i915/gem: Tidy up error handling for eb_parse() 37ab9c58f463 drm/i915: Simplify error escape from cmdparser d6fc56037549 drm/i915: Remove redundant parameters from intel_engine_cmd_parser 932afa9f6249 drm/i915: Fix cmdparser drm.debug == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15688/index.html _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [CI,1/5] drm/i915: Fix cmdparser drm.debug (rev2) 2019-12-11 11:04 [Intel-gfx] [CI 1/5] drm/i915: Fix cmdparser drm.debug Chris Wilson ` (5 preceding siblings ...) 2019-12-11 13:58 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork @ 2019-12-11 19:09 ` Patchwork 2019-12-11 20:07 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork 2019-12-12 5:37 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork 8 siblings, 0 replies; 10+ messages in thread From: Patchwork @ 2019-12-11 19:09 UTC (permalink / raw) To: Chris Wilson; +Cc: intel-gfx == Series Details == Series: series starting with [CI,1/5] drm/i915: Fix cmdparser drm.debug (rev2) URL : https://patchwork.freedesktop.org/series/70751/ State : warning == Summary == $ dim checkpatch origin/drm-tip e2943a8b9e49 drm/i915: Fix cmdparser drm.debug da0dfb8ec55a drm/i915: Remove redundant parameters from intel_engine_cmd_parser ff95ac69b9ab drm/i915: Simplify error escape from cmdparser 55e105d789c8 drm/i915/gem: Tidy up error handling for eb_parse() 3abc3e67c1b8 drm/i915: Align start for memcpy_from_wc -:46: WARNING:AVOID_BUG: Avoid crashing the kernel - try using WARN_ON & recovery code rather than BUG() or BUG_ON() #46: FILE: drivers/gpu/drm/i915/i915_memcpy.c:31: +#define CI_BUG_ON(expr) BUG_ON(expr) total: 0 errors, 1 warnings, 0 checks, 133 lines checked _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [CI,1/5] drm/i915: Fix cmdparser drm.debug (rev2) 2019-12-11 11:04 [Intel-gfx] [CI 1/5] drm/i915: Fix cmdparser drm.debug Chris Wilson ` (6 preceding siblings ...) 2019-12-11 19:09 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [CI,1/5] drm/i915: Fix cmdparser drm.debug (rev2) Patchwork @ 2019-12-11 20:07 ` Patchwork 2019-12-12 5:37 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork 8 siblings, 0 replies; 10+ messages in thread From: Patchwork @ 2019-12-11 20:07 UTC (permalink / raw) To: Chris Wilson; +Cc: intel-gfx == Series Details == Series: series starting with [CI,1/5] drm/i915: Fix cmdparser drm.debug (rev2) URL : https://patchwork.freedesktop.org/series/70751/ State : success == Summary == CI Bug Log - changes from CI_DRM_7543 -> Patchwork_15692 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/index.html Known issues ------------ Here are the changes found in Patchwork_15692 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@i915_pm_rpm@basic-pci-d3-state: - fi-hsw-4770: [PASS][1] -> [SKIP][2] ([fdo#109271]) +1 similar issue [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/fi-hsw-4770/igt@i915_pm_rpm@basic-pci-d3-state.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/fi-hsw-4770/igt@i915_pm_rpm@basic-pci-d3-state.html * igt@i915_selftest@live_gem_contexts: - fi-byt-j1900: [PASS][3] -> [INCOMPLETE][4] ([i915#45]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/fi-byt-j1900/igt@i915_selftest@live_gem_contexts.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/fi-byt-j1900/igt@i915_selftest@live_gem_contexts.html - fi-hsw-peppy: [PASS][5] -> [INCOMPLETE][6] ([i915#694]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/fi-hsw-peppy/igt@i915_selftest@live_gem_contexts.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/fi-hsw-peppy/igt@i915_selftest@live_gem_contexts.html #### Possible fixes #### * igt@gem_exec_gttfill@basic: - {fi-tgl-u}: [INCOMPLETE][7] ([fdo#111593]) -> [PASS][8] [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/fi-tgl-u/igt@gem_exec_gttfill@basic.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/fi-tgl-u/igt@gem_exec_gttfill@basic.html * igt@gem_exec_suspend@basic-s3: - fi-cml-s: [DMESG-WARN][9] ([fdo#111764]) -> [PASS][10] [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/fi-cml-s/igt@gem_exec_suspend@basic-s3.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/fi-cml-s/igt@gem_exec_suspend@basic-s3.html * igt@i915_pm_rpm@module-reload: - fi-skl-6770hq: [FAIL][11] ([i915#178]) -> [PASS][12] [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/fi-skl-6770hq/igt@i915_pm_rpm@module-reload.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/fi-skl-6770hq/igt@i915_pm_rpm@module-reload.html * igt@i915_selftest@live_gem_contexts: - fi-byt-n2820: [DMESG-FAIL][13] ([i915#722]) -> [PASS][14] [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/fi-byt-n2820/igt@i915_selftest@live_gem_contexts.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/fi-byt-n2820/igt@i915_selftest@live_gem_contexts.html * igt@i915_selftest@live_requests: - fi-ivb-3770: [INCOMPLETE][15] ([i915#773]) -> [PASS][16] [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/fi-ivb-3770/igt@i915_selftest@live_requests.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/fi-ivb-3770/igt@i915_selftest@live_requests.html - fi-hsw-4770: [INCOMPLETE][17] ([i915#773]) -> [PASS][18] [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/fi-hsw-4770/igt@i915_selftest@live_requests.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/fi-hsw-4770/igt@i915_selftest@live_requests.html * igt@kms_busy@basic-flip-pipe-a: - fi-kbl-soraka: [DMESG-WARN][19] ([i915#95]) -> [PASS][20] [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/fi-kbl-soraka/igt@kms_busy@basic-flip-pipe-a.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/fi-kbl-soraka/igt@kms_busy@basic-flip-pipe-a.html #### Warnings #### * igt@kms_chamelium@hdmi-hpd-fast: - fi-kbl-7500u: [FAIL][21] ([fdo#111096] / [i915#323]) -> [FAIL][22] ([fdo#111407]) [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy: - fi-kbl-x1275: [DMESG-WARN][23] ([i915#62] / [i915#92]) -> [DMESG-WARN][24] ([i915#62] / [i915#92] / [i915#95]) +4 similar issues [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/fi-kbl-x1275/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/fi-kbl-x1275/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a: - fi-kbl-x1275: [DMESG-WARN][25] ([i915#62] / [i915#92] / [i915#95]) -> [DMESG-WARN][26] ([i915#62] / [i915#92]) +4 similar issues [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/fi-kbl-x1275/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/fi-kbl-x1275/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.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#111096]: https://bugs.freedesktop.org/show_bug.cgi?id=111096 [fdo#111407]: https://bugs.freedesktop.org/show_bug.cgi?id=111407 [fdo#111593]: https://bugs.freedesktop.org/show_bug.cgi?id=111593 [fdo#111764]: https://bugs.freedesktop.org/show_bug.cgi?id=111764 [i915#178]: https://gitlab.freedesktop.org/drm/intel/issues/178 [i915#323]: https://gitlab.freedesktop.org/drm/intel/issues/323 [i915#45]: https://gitlab.freedesktop.org/drm/intel/issues/45 [i915#62]: https://gitlab.freedesktop.org/drm/intel/issues/62 [i915#694]: https://gitlab.freedesktop.org/drm/intel/issues/694 [i915#722]: https://gitlab.freedesktop.org/drm/intel/issues/722 [i915#773]: https://gitlab.freedesktop.org/drm/intel/issues/773 [i915#92]: https://gitlab.freedesktop.org/drm/intel/issues/92 [i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95 Participating hosts (51 -> 46) ------------------------------ Additional (2): fi-tgl-guc fi-tgl-y Missing (7): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-byt-clapper fi-bdw-samus Build changes ------------- * CI: CI-20190529 -> None * Linux: CI_DRM_7543 -> Patchwork_15692 CI-20190529: 20190529 CI_DRM_7543: 91752f80df9b582561be6bbac12ef780b12f606c @ git://anongit.freedesktop.org/gfx-ci/linux IGT_5345: 9e0c82b6d70065db894ececf2be8de372e983cf0 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_15692: 3abc3e67c1b81f7737657d21f30f4df67f5720dc @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == 3abc3e67c1b8 drm/i915: Align start for memcpy_from_wc 55e105d789c8 drm/i915/gem: Tidy up error handling for eb_parse() ff95ac69b9ab drm/i915: Simplify error escape from cmdparser da0dfb8ec55a drm/i915: Remove redundant parameters from intel_engine_cmd_parser e2943a8b9e49 drm/i915: Fix cmdparser drm.debug == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/index.html _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Intel-gfx] ✗ Fi.CI.IGT: failure for series starting with [CI,1/5] drm/i915: Fix cmdparser drm.debug (rev2) 2019-12-11 11:04 [Intel-gfx] [CI 1/5] drm/i915: Fix cmdparser drm.debug Chris Wilson ` (7 preceding siblings ...) 2019-12-11 20:07 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork @ 2019-12-12 5:37 ` Patchwork 8 siblings, 0 replies; 10+ messages in thread From: Patchwork @ 2019-12-12 5:37 UTC (permalink / raw) To: Chris Wilson; +Cc: intel-gfx == Series Details == Series: series starting with [CI,1/5] drm/i915: Fix cmdparser drm.debug (rev2) URL : https://patchwork.freedesktop.org/series/70751/ State : failure == Summary == CI Bug Log - changes from CI_DRM_7543_full -> Patchwork_15692_full ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with Patchwork_15692_full absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in Patchwork_15692_full, please notify your bug team to allow them to document this new failure mode, which will reduce false positives in CI. Possible new issues ------------------- Here are the unknown changes that may have been introduced in Patchwork_15692_full: ### IGT changes ### #### Possible regressions #### * igt@gem_exec_balancer@bonded-slice: - shard-tglb: NOTRUN -> [FAIL][1] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-tglb2/igt@gem_exec_balancer@bonded-slice.html * igt@prime_mmap_coherency@ioctl-errors: - shard-iclb: NOTRUN -> [FAIL][2] [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-iclb7/igt@prime_mmap_coherency@ioctl-errors.html Known issues ------------ Here are the changes found in Patchwork_15692_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_busy@busy-vcs1: - shard-iclb: [PASS][3] -> [SKIP][4] ([fdo#112080]) +1 similar issue [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-iclb2/igt@gem_busy@busy-vcs1.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-iclb7/igt@gem_busy@busy-vcs1.html * igt@gem_ctx_isolation@vcs1-reset: - shard-iclb: [PASS][5] -> [SKIP][6] ([fdo#109276] / [fdo#112080]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-iclb2/igt@gem_ctx_isolation@vcs1-reset.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-iclb5/igt@gem_ctx_isolation@vcs1-reset.html * igt@gem_ctx_persistence@vecs0-mixed-process: - shard-apl: [PASS][7] -> [FAIL][8] ([i915#679]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-apl1/igt@gem_ctx_persistence@vecs0-mixed-process.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-apl8/igt@gem_ctx_persistence@vecs0-mixed-process.html * igt@gem_ctx_shared@q-smoketest-bsd: - shard-tglb: [PASS][9] -> [INCOMPLETE][10] ([i915#461]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-tglb7/igt@gem_ctx_shared@q-smoketest-bsd.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-tglb4/igt@gem_ctx_shared@q-smoketest-bsd.html * igt@gem_eio@in-flight-suspend: - shard-skl: [PASS][11] -> [INCOMPLETE][12] ([i915#69]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-skl1/igt@gem_eio@in-flight-suspend.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-skl10/igt@gem_eio@in-flight-suspend.html * igt@gem_exec_gttfill@basic: - shard-tglb: [PASS][13] -> [INCOMPLETE][14] ([fdo#111593]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-tglb8/igt@gem_exec_gttfill@basic.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-tglb6/igt@gem_exec_gttfill@basic.html * igt@gem_exec_nop@basic-parallel: - shard-tglb: [PASS][15] -> [INCOMPLETE][16] ([i915#435]) [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-tglb1/igt@gem_exec_nop@basic-parallel.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-tglb8/igt@gem_exec_nop@basic-parallel.html * igt@gem_exec_schedule@independent-bsd2: - shard-iclb: [PASS][17] -> [SKIP][18] ([fdo#109276]) +6 similar issues [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-iclb2/igt@gem_exec_schedule@independent-bsd2.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-iclb3/igt@gem_exec_schedule@independent-bsd2.html * igt@gem_persistent_relocs@forked-interruptible-faulting-reloc-thrash-inactive: - shard-glk: [PASS][19] -> [TIMEOUT][20] ([i915#530]) [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-glk5/igt@gem_persistent_relocs@forked-interruptible-faulting-reloc-thrash-inactive.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-glk1/igt@gem_persistent_relocs@forked-interruptible-faulting-reloc-thrash-inactive.html - shard-hsw: [PASS][21] -> [TIMEOUT][22] ([i915#530]) [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-hsw8/igt@gem_persistent_relocs@forked-interruptible-faulting-reloc-thrash-inactive.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-hsw6/igt@gem_persistent_relocs@forked-interruptible-faulting-reloc-thrash-inactive.html * igt@gem_persistent_relocs@forked-interruptible-thrashing: - shard-iclb: [PASS][23] -> [FAIL][24] ([i915#520]) [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-iclb3/igt@gem_persistent_relocs@forked-interruptible-thrashing.html [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-iclb8/igt@gem_persistent_relocs@forked-interruptible-thrashing.html * igt@gem_ppgtt@flink-and-close-vma-leak: - shard-apl: [PASS][25] -> [FAIL][26] ([i915#644]) [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-apl7/igt@gem_ppgtt@flink-and-close-vma-leak.html [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-apl8/igt@gem_ppgtt@flink-and-close-vma-leak.html * igt@gem_sync@basic-many-each: - shard-tglb: [PASS][27] -> [INCOMPLETE][28] ([i915#472] / [i915#707]) [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-tglb9/igt@gem_sync@basic-many-each.html [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-tglb7/igt@gem_sync@basic-many-each.html * igt@gem_userptr_blits@map-fixed-invalidate-busy-gup: - shard-snb: [PASS][29] -> [DMESG-WARN][30] ([fdo#111870]) [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-snb5/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-snb2/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html * igt@kms_color@pipe-a-ctm-0-75: - shard-skl: [PASS][31] -> [DMESG-WARN][32] ([i915#109]) +1 similar issue [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-skl4/igt@kms_color@pipe-a-ctm-0-75.html [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-skl7/igt@kms_color@pipe-a-ctm-0-75.html * igt@kms_cursor_crc@pipe-a-cursor-64x64-sliding: - shard-skl: [PASS][33] -> [FAIL][34] ([i915#54]) +6 similar issues [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-skl2/igt@kms_cursor_crc@pipe-a-cursor-64x64-sliding.html [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-skl3/igt@kms_cursor_crc@pipe-a-cursor-64x64-sliding.html * igt@kms_cursor_crc@pipe-a-cursor-suspend: - shard-apl: [PASS][35] -> [DMESG-WARN][36] ([i915#180]) +1 similar issue [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-apl7/igt@kms_cursor_crc@pipe-a-cursor-suspend.html [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-apl4/igt@kms_cursor_crc@pipe-a-cursor-suspend.html * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic: - shard-glk: [PASS][37] -> [FAIL][38] ([i915#72]) [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-glk4/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic.html [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-glk8/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic.html * igt@kms_draw_crc@draw-method-rgb565-render-xtiled: - shard-kbl: [PASS][39] -> [INCOMPLETE][40] ([fdo#103665] / [i915#667]) [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-kbl7/igt@kms_draw_crc@draw-method-rgb565-render-xtiled.html [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-kbl4/igt@kms_draw_crc@draw-method-rgb565-render-xtiled.html * igt@kms_draw_crc@draw-method-xrgb8888-render-xtiled: - shard-tglb: [PASS][41] -> [INCOMPLETE][42] ([i915#435] / [i915#667]) [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-tglb2/igt@kms_draw_crc@draw-method-xrgb8888-render-xtiled.html [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-tglb1/igt@kms_draw_crc@draw-method-xrgb8888-render-xtiled.html * igt@kms_flip@flip-vs-suspend: - shard-tglb: [PASS][43] -> [INCOMPLETE][44] ([i915#460] / [i915#516]) [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-tglb6/igt@kms_flip@flip-vs-suspend.html [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-tglb8/igt@kms_flip@flip-vs-suspend.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-wc: - shard-tglb: [PASS][45] -> [INCOMPLETE][46] ([i915#474] / [i915#667]) [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-tglb3/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-wc.html [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-tglb4/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-wc.html * igt@kms_frontbuffer_tracking@fbcpsr-suspend: - shard-tglb: [PASS][47] -> [INCOMPLETE][48] ([i915#456] / [i915#460] / [i915#474]) [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-tglb8/igt@kms_frontbuffer_tracking@fbcpsr-suspend.html [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-tglb8/igt@kms_frontbuffer_tracking@fbcpsr-suspend.html * igt@kms_plane@pixel-format-pipe-a-planes-source-clamping: - shard-kbl: [PASS][49] -> [INCOMPLETE][50] ([fdo#103665] / [i915#648] / [i915#667]) [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-kbl1/igt@kms_plane@pixel-format-pipe-a-planes-source-clamping.html [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-kbl2/igt@kms_plane@pixel-format-pipe-a-planes-source-clamping.html * igt@kms_plane_alpha_blend@pipe-a-coverage-7efc: - shard-skl: [PASS][51] -> [FAIL][52] ([fdo#108145]) [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-skl10/igt@kms_plane_alpha_blend@pipe-a-coverage-7efc.html [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-skl8/igt@kms_plane_alpha_blend@pipe-a-coverage-7efc.html * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc: - shard-skl: [PASS][53] -> [FAIL][54] ([fdo#108145] / [i915#265]) [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-skl3/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-skl1/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html * igt@kms_psr@psr2_sprite_plane_move: - shard-iclb: [PASS][55] -> [SKIP][56] ([fdo#109441]) +2 similar issues [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-iclb2/igt@kms_psr@psr2_sprite_plane_move.html [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-iclb3/igt@kms_psr@psr2_sprite_plane_move.html #### Possible fixes #### * igt@gem_ctx_persistence@processes: - shard-skl: [FAIL][57] ([i915#570]) -> [PASS][58] [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-skl8/igt@gem_ctx_persistence@processes.html [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-skl1/igt@gem_ctx_persistence@processes.html * igt@gem_exec_schedule@in-order-bsd: - shard-iclb: [SKIP][59] ([fdo#112146]) -> [PASS][60] +2 similar issues [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-iclb2/igt@gem_exec_schedule@in-order-bsd.html [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-iclb5/igt@gem_exec_schedule@in-order-bsd.html * {igt@gem_exec_schedule@pi-distinct-iova-bsd}: - shard-iclb: [SKIP][61] ([i915#677]) -> [PASS][62] [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-iclb2/igt@gem_exec_schedule@pi-distinct-iova-bsd.html [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-iclb3/igt@gem_exec_schedule@pi-distinct-iova-bsd.html * igt@gem_persistent_relocs@forked-interruptible-faulting-reloc-thrash-inactive: - shard-snb: [TIMEOUT][63] ([i915#530]) -> [PASS][64] [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-snb1/igt@gem_persistent_relocs@forked-interruptible-faulting-reloc-thrash-inactive.html [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-snb1/igt@gem_persistent_relocs@forked-interruptible-faulting-reloc-thrash-inactive.html * igt@gem_sync@basic-each: - shard-tglb: [INCOMPLETE][65] ([i915#472] / [i915#707]) -> [PASS][66] [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-tglb8/igt@gem_sync@basic-each.html [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-tglb1/igt@gem_sync@basic-each.html * igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy: - shard-snb: [DMESG-WARN][67] ([fdo#111870]) -> [PASS][68] +1 similar issue [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-snb6/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy.html [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-snb4/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy.html * igt@gem_wait@await-vecs0: - shard-skl: [DMESG-WARN][69] ([i915#109]) -> [PASS][70] +1 similar issue [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-skl4/igt@gem_wait@await-vecs0.html [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-skl7/igt@gem_wait@await-vecs0.html * igt@i915_pm_dc@dc5-dpms: - shard-iclb: [FAIL][71] ([i915#447]) -> [PASS][72] [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-iclb3/igt@i915_pm_dc@dc5-dpms.html [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-iclb8/igt@i915_pm_dc@dc5-dpms.html * igt@i915_suspend@sysfs-reader: - shard-apl: [DMESG-WARN][73] ([i915#180]) -> [PASS][74] +2 similar issues [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-apl6/igt@i915_suspend@sysfs-reader.html [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-apl4/igt@i915_suspend@sysfs-reader.html * igt@kms_cursor_crc@pipe-a-cursor-128x42-sliding: - shard-skl: [FAIL][75] ([i915#54]) -> [PASS][76] +1 similar issue [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-skl7/igt@kms_cursor_crc@pipe-a-cursor-128x42-sliding.html [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-skl7/igt@kms_cursor_crc@pipe-a-cursor-128x42-sliding.html * igt@kms_cursor_crc@pipe-d-cursor-suspend: - shard-tglb: [INCOMPLETE][77] ([i915#460]) -> [PASS][78] +1 similar issue [77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-tglb1/igt@kms_cursor_crc@pipe-d-cursor-suspend.html [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-tglb4/igt@kms_cursor_crc@pipe-d-cursor-suspend.html * igt@kms_draw_crc@draw-method-rgb565-blt-xtiled: - shard-tglb: [INCOMPLETE][79] ([i915#667]) -> [PASS][80] [79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-tglb9/igt@kms_draw_crc@draw-method-rgb565-blt-xtiled.html [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-tglb8/igt@kms_draw_crc@draw-method-rgb565-blt-xtiled.html * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible: - shard-glk: [FAIL][81] ([i915#79]) -> [PASS][82] [81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-glk8/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-glk8/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html * igt@kms_flip@flip-vs-expired-vblank-interruptible: - shard-skl: [FAIL][83] ([i915#79]) -> [PASS][84] [83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-skl7/igt@kms_flip@flip-vs-expired-vblank-interruptible.html [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-skl10/igt@kms_flip@flip-vs-expired-vblank-interruptible.html * igt@kms_flip@flip-vs-suspend-interruptible: - shard-tglb: [INCOMPLETE][85] ([i915#456] / [i915#460] / [i915#516]) -> [PASS][86] [85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-tglb2/igt@kms_flip@flip-vs-suspend-interruptible.html [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-tglb9/igt@kms_flip@flip-vs-suspend-interruptible.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-onoff: - shard-tglb: [INCOMPLETE][87] ([i915#474] / [i915#667]) -> [PASS][88] +1 similar issue [87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-tglb9/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-onoff.html [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-tglb1/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-onoff.html * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a: - shard-kbl: [DMESG-WARN][89] ([i915#180]) -> [PASS][90] +11 similar issues [89]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-kbl2/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-kbl6/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html * igt@kms_plane@pixel-format-pipe-a-planes-source-clamping: - shard-skl: [INCOMPLETE][91] ([i915#648] / [i915#667]) -> [PASS][92] [91]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-skl1/igt@kms_plane@pixel-format-pipe-a-planes-source-clamping.html [92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-skl6/igt@kms_plane@pixel-format-pipe-a-planes-source-clamping.html * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes: - shard-tglb: [INCOMPLETE][93] ([i915#456] / [i915#460]) -> [PASS][94] +2 similar issues [93]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-tglb7/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes.html [94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-tglb6/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes.html #### Warnings #### * igt@gem_ctx_isolation@vcs2-reset: - shard-tglb: [SKIP][95] ([fdo#111912] / [fdo#112080]) -> [SKIP][96] ([fdo#112080]) [95]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-tglb2/igt@gem_ctx_isolation@vcs2-reset.html [96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-tglb9/igt@gem_ctx_isolation@vcs2-reset.html * igt@kms_plane@pixel-format-pipe-a-planes: - shard-skl: [INCOMPLETE][97] ([fdo#112391] / [i915#648] / [i915#667]) -> [INCOMPLETE][98] ([i915#648]) [97]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-skl7/igt@kms_plane@pixel-format-pipe-a-planes.html [98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-skl8/igt@kms_plane@pixel-format-pipe-a-planes.html * igt@kms_plane@pixel-format-pipe-b-planes: - shard-skl: [INCOMPLETE][99] ([fdo#112347] / [fdo#112391] / [i915#648] / [i915#667]) -> [INCOMPLETE][100] ([fdo#112347] / [i915#648] / [i915#667]) [99]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-skl6/igt@kms_plane@pixel-format-pipe-b-planes.html [100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-skl2/igt@kms_plane@pixel-format-pipe-b-planes.html * igt@kms_plane@pixel-format-pipe-b-planes-source-clamping: - shard-skl: [INCOMPLETE][101] ([fdo#112391] / [i915#648] / [i915#667]) -> [INCOMPLETE][102] ([fdo#112347] / [i915#648] / [i915#667]) [101]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7543/shard-skl4/igt@kms_plane@pixel-format-pipe-b-planes-source-clamping.html [102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/shard-skl7/igt@kms_plane@pixel-format-pipe-b-planes-source-clamping.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665 [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145 [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276 [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441 [fdo#111593]: https://bugs.freedesktop.org/show_bug.cgi?id=111593 [fdo#111870]: https://bugs.freedesktop.org/show_bug.cgi?id=111870 [fdo#111912]: https://bugs.freedesktop.org/show_bug.cgi?id=111912 [fdo#112080]: https://bugs.freedesktop.org/show_bug.cgi?id=112080 [fdo#112146]: https://bugs.freedesktop.org/show_bug.cgi?id=112146 [fdo#112347]: https://bugs.freedesktop.org/show_bug.cgi?id=112347 [fdo#112391]: https://bugs.freedesktop.org/show_bug.cgi?id=112391 [i915#109]: https://gitlab.freedesktop.org/drm/intel/issues/109 [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180 [i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265 [i915#435]: https://gitlab.freedesktop.org/drm/intel/issues/435 [i915#447]: https://gitlab.freedesktop.org/drm/intel/issues/447 [i915#456]: https://gitlab.freedesktop.org/drm/intel/issues/456 [i915#460]: https://gitlab.freedesktop.org/drm/intel/issues/460 [i915#461]: https://gitlab.freedesktop.org/drm/intel/issues/461 [i915#472]: https://gitlab.freedesktop.org/drm/intel/issues/472 [i915#474]: https://gitlab.freedesktop.org/drm/intel/issues/474 [i915#516]: https://gitlab.freedesktop.org/drm/intel/issues/516 [i915#520]: https://gitlab.freedesktop.org/drm/intel/issues/520 [i915#530]: https://gitlab.freedesktop.org/drm/intel/issues/530 [i915#54]: https://gitlab.freedesktop.org/drm/intel/issues/54 [i915#570]: https://gitlab.freedesktop.org/drm/intel/issues/570 [i915#644]: https://gitlab.freedesktop.org/drm/intel/issues/644 [i915#648]: https://gitlab.freedesktop.org/drm/intel/issues/648 [i915#667]: https://gitlab.freedesktop.org/drm/intel/issues/667 [i915#677]: https://gitlab.freedesktop.org/drm/intel/issues/677 [i915#679]: https://gitlab.freedesktop.org/drm/intel/issues/679 [i915#69]: https://gitlab.freedesktop.org/drm/intel/issues/69 [i915#707]: https://gitlab.freedesktop.org/drm/intel/issues/707 [i915#72]: https://gitlab.freedesktop.org/drm/intel/issues/72 [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79 Participating hosts (11 -> 11) ------------------------------ No changes in participating hosts Build changes ------------- * CI: CI-20190529 -> None * Linux: CI_DRM_7543 -> Patchwork_15692 CI-20190529: 20190529 CI_DRM_7543: 91752f80df9b582561be6bbac12ef780b12f606c @ git://anongit.freedesktop.org/gfx-ci/linux IGT_5345: 9e0c82b6d70065db894ececf2be8de372e983cf0 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_15692: 3abc3e67c1b81f7737657d21f30f4df67f5720dc @ git://anongit.freedesktop.org/gfx-ci/linux piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15692/index.html _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2019-12-12 5:38 UTC | newest] Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2019-12-11 11:04 [Intel-gfx] [CI 1/5] drm/i915: Fix cmdparser drm.debug Chris Wilson 2019-12-11 11:04 ` [Intel-gfx] [CI 2/5] drm/i915: Remove redundant parameters from intel_engine_cmd_parser Chris Wilson 2019-12-11 11:04 ` [Intel-gfx] [CI 3/5] drm/i915: Simplify error escape from cmdparser Chris Wilson 2019-12-11 11:04 ` [Intel-gfx] [CI 4/5] drm/i915/gem: Tidy up error handling for eb_parse() Chris Wilson 2019-12-11 11:04 ` [Intel-gfx] [CI 5/5] drm/i915: Align start for memcpy_from_wc Chris Wilson 2019-12-11 13:23 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [CI,1/5] drm/i915: Fix cmdparser drm.debug Patchwork 2019-12-11 13:58 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork 2019-12-11 19:09 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [CI,1/5] drm/i915: Fix cmdparser drm.debug (rev2) Patchwork 2019-12-11 20:07 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork 2019-12-12 5:37 ` [Intel-gfx] ✗ 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.