Lines Matching refs:args
54 eb_create(struct drm_i915_gem_execbuffer2 *args) in eb_create() argument
58 if (args->flags & I915_EXEC_HANDLE_LUT) { in eb_create()
59 unsigned size = args->buffer_count; in eb_create()
66 unsigned size = args->buffer_count; in eb_create()
79 eb->and = -args->buffer_count; in eb_create()
95 const struct drm_i915_gem_execbuffer2 *args, in eb_lookup_vmas() argument
107 for (i = 0; i < args->buffer_count; i++) { in eb_lookup_vmas()
161 uint32_t handle = args->flags & I915_EXEC_HANDLE_LUT ? i : exec[i].handle; in eb_lookup_vmas()
790 struct drm_i915_gem_execbuffer2 *args, in i915_gem_execbuffer_relocate_slow() argument
803 unsigned count = args->buffer_count; in i915_gem_execbuffer_relocate_slow()
876 ret = eb_lookup_vmas(eb, exec, args, vm, file); in i915_gem_execbuffer_relocate_slow()
880 need_relocs = (args->flags & I915_EXEC_NO_RELOC) == 0; in i915_gem_execbuffer_relocate_slow()
1181 struct drm_i915_gem_execbuffer2 *args, in i915_gem_ringbuffer_submission() argument
1203 instp_mode = args->flags & I915_EXEC_CONSTANTS_MASK; in i915_gem_ringbuffer_submission()
1251 if (args->flags & I915_EXEC_GEN7_SOL_RESET) { in i915_gem_ringbuffer_submission()
1257 exec_len = args->batch_len; in i915_gem_ringbuffer_submission()
1328 struct drm_i915_gem_execbuffer2 *args, in i915_gem_do_execbuffer() argument
1340 const u32 ctx_id = i915_execbuffer2_get_context_id(*args); in i915_gem_do_execbuffer()
1345 if (!i915_gem_check_execbuffer(args)) in i915_gem_do_execbuffer()
1348 ret = validate_exec_list(dev, exec, args->buffer_count); in i915_gem_do_execbuffer()
1353 if (args->flags & I915_EXEC_SECURE) { in i915_gem_do_execbuffer()
1359 if (args->flags & I915_EXEC_IS_PINNED) in i915_gem_do_execbuffer()
1362 if ((args->flags & I915_EXEC_RING_MASK) > LAST_USER_RING) { in i915_gem_do_execbuffer()
1364 (int)(args->flags & I915_EXEC_RING_MASK)); in i915_gem_do_execbuffer()
1368 if (((args->flags & I915_EXEC_RING_MASK) != I915_EXEC_BSD) && in i915_gem_do_execbuffer()
1369 ((args->flags & I915_EXEC_BSD_MASK) != 0)) { in i915_gem_do_execbuffer()
1371 "bsd dispatch flags: %d\n", (int)(args->flags)); in i915_gem_do_execbuffer()
1375 if ((args->flags & I915_EXEC_RING_MASK) == I915_EXEC_DEFAULT) in i915_gem_do_execbuffer()
1377 else if ((args->flags & I915_EXEC_RING_MASK) == I915_EXEC_BSD) { in i915_gem_do_execbuffer()
1381 switch (args->flags & I915_EXEC_BSD_MASK) { in i915_gem_do_execbuffer()
1394 (int)(args->flags & I915_EXEC_BSD_MASK)); in i915_gem_do_execbuffer()
1400 ring = &dev_priv->ring[(args->flags & I915_EXEC_RING_MASK) - 1]; in i915_gem_do_execbuffer()
1404 (int)(args->flags & I915_EXEC_RING_MASK)); in i915_gem_do_execbuffer()
1408 if (args->buffer_count < 1) { in i915_gem_do_execbuffer()
1409 DRM_DEBUG("execbuf with %d buffers\n", args->buffer_count); in i915_gem_do_execbuffer()
1413 if (args->flags & I915_EXEC_RESOURCE_STREAMER) { in i915_gem_do_execbuffer()
1449 eb = eb_create(args); in i915_gem_do_execbuffer()
1458 ret = eb_lookup_vmas(eb, exec, args, vm, file); in i915_gem_do_execbuffer()
1466 need_relocs = (args->flags & I915_EXEC_NO_RELOC) == 0; in i915_gem_do_execbuffer()
1476 ret = i915_gem_execbuffer_relocate_slow(dev, args, file, ring, in i915_gem_do_execbuffer()
1491 params->args_batch_start_offset = args->batch_start_offset; in i915_gem_do_execbuffer()
1492 if (i915_needs_cmd_parser(ring) && args->batch_len) { in i915_gem_do_execbuffer()
1499 args->batch_start_offset, in i915_gem_do_execbuffer()
1500 args->batch_len, in i915_gem_do_execbuffer()
1574 ret = dev_priv->gt.execbuf_submit(params, args, &eb->vmas); in i915_gem_do_execbuffer()
1616 struct drm_i915_gem_execbuffer *args = data; in i915_gem_execbuffer() local
1622 if (args->buffer_count < 1) { in i915_gem_execbuffer()
1623 DRM_DEBUG("execbuf with %d buffers\n", args->buffer_count); in i915_gem_execbuffer()
1628 exec_list = drm_malloc_ab(sizeof(*exec_list), args->buffer_count); in i915_gem_execbuffer()
1629 exec2_list = drm_malloc_ab(sizeof(*exec2_list), args->buffer_count); in i915_gem_execbuffer()
1632 args->buffer_count); in i915_gem_execbuffer()
1638 to_user_ptr(args->buffers_ptr), in i915_gem_execbuffer()
1639 sizeof(*exec_list) * args->buffer_count); in i915_gem_execbuffer()
1642 args->buffer_count, ret); in i915_gem_execbuffer()
1648 for (i = 0; i < args->buffer_count; i++) { in i915_gem_execbuffer()
1660 exec2.buffers_ptr = args->buffers_ptr; in i915_gem_execbuffer()
1661 exec2.buffer_count = args->buffer_count; in i915_gem_execbuffer()
1662 exec2.batch_start_offset = args->batch_start_offset; in i915_gem_execbuffer()
1663 exec2.batch_len = args->batch_len; in i915_gem_execbuffer()
1664 exec2.DR1 = args->DR1; in i915_gem_execbuffer()
1665 exec2.DR4 = args->DR4; in i915_gem_execbuffer()
1666 exec2.num_cliprects = args->num_cliprects; in i915_gem_execbuffer()
1667 exec2.cliprects_ptr = args->cliprects_ptr; in i915_gem_execbuffer()
1674 to_user_ptr(args->buffers_ptr); in i915_gem_execbuffer()
1677 for (i = 0; i < args->buffer_count; i++) { in i915_gem_execbuffer()
1685 args->buffer_count, ret); in i915_gem_execbuffer()
1700 struct drm_i915_gem_execbuffer2 *args = data; in i915_gem_execbuffer2() local
1704 if (args->buffer_count < 1 || in i915_gem_execbuffer2()
1705 args->buffer_count > UINT_MAX / sizeof(*exec2_list)) { in i915_gem_execbuffer2()
1706 DRM_DEBUG("execbuf2 with %d buffers\n", args->buffer_count); in i915_gem_execbuffer2()
1710 if (args->rsvd2 != 0) { in i915_gem_execbuffer2()
1715 exec2_list = kmalloc(sizeof(*exec2_list)*args->buffer_count, in i915_gem_execbuffer2()
1719 args->buffer_count); in i915_gem_execbuffer2()
1722 args->buffer_count); in i915_gem_execbuffer2()
1726 to_user_ptr(args->buffers_ptr), in i915_gem_execbuffer2()
1727 sizeof(*exec2_list) * args->buffer_count); in i915_gem_execbuffer2()
1730 args->buffer_count, ret); in i915_gem_execbuffer2()
1735 ret = i915_gem_do_execbuffer(dev, data, file, args, exec2_list); in i915_gem_execbuffer2()
1739 to_user_ptr(args->buffers_ptr); in i915_gem_execbuffer2()
1742 for (i = 0; i < args->buffer_count; i++) { in i915_gem_execbuffer2()
1750 args->buffer_count); in i915_gem_execbuffer2()