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()
780 struct drm_i915_gem_execbuffer2 *args, in i915_gem_execbuffer_relocate_slow() argument
792 unsigned count = args->buffer_count; in i915_gem_execbuffer_relocate_slow()
865 ret = eb_lookup_vmas(eb, exec, args, vm, file); in i915_gem_execbuffer_relocate_slow()
869 need_relocs = (args->flags & I915_EXEC_NO_RELOC) == 0; in i915_gem_execbuffer_relocate_slow()
1191 struct drm_i915_gem_execbuffer2 *args, in i915_gem_ringbuffer_submission() argument
1203 if (args->num_cliprects != 0) { in i915_gem_ringbuffer_submission()
1214 if (args->num_cliprects > UINT_MAX / sizeof(*cliprects)) { in i915_gem_ringbuffer_submission()
1216 args->num_cliprects); in i915_gem_ringbuffer_submission()
1220 cliprects = kcalloc(args->num_cliprects, in i915_gem_ringbuffer_submission()
1229 to_user_ptr(args->cliprects_ptr), in i915_gem_ringbuffer_submission()
1230 sizeof(*cliprects)*args->num_cliprects)) { in i915_gem_ringbuffer_submission()
1235 if (args->DR4 == 0xffffffff) { in i915_gem_ringbuffer_submission()
1237 args->DR4 = 0; in i915_gem_ringbuffer_submission()
1240 if (args->DR1 || args->DR4 || args->cliprects_ptr) { in i915_gem_ringbuffer_submission()
1261 instp_mode = args->flags & I915_EXEC_CONSTANTS_MASK; in i915_gem_ringbuffer_submission()
1313 if (args->flags & I915_EXEC_GEN7_SOL_RESET) { in i915_gem_ringbuffer_submission()
1319 exec_len = args->batch_len; in i915_gem_ringbuffer_submission()
1321 for (i = 0; i < args->num_cliprects; i++) { in i915_gem_ringbuffer_submission()
1323 args->DR1, args->DR4); in i915_gem_ringbuffer_submission()
1404 struct drm_i915_gem_execbuffer2 *args, in i915_gem_do_execbuffer() argument
1414 const u32 ctx_id = i915_execbuffer2_get_context_id(*args); in i915_gem_do_execbuffer()
1415 u64 exec_start = args->batch_start_offset; in i915_gem_do_execbuffer()
1420 if (!i915_gem_check_execbuffer(args)) in i915_gem_do_execbuffer()
1423 ret = validate_exec_list(dev, exec, args->buffer_count); in i915_gem_do_execbuffer()
1428 if (args->flags & I915_EXEC_SECURE) { in i915_gem_do_execbuffer()
1434 if (args->flags & I915_EXEC_IS_PINNED) in i915_gem_do_execbuffer()
1437 if ((args->flags & I915_EXEC_RING_MASK) > LAST_USER_RING) { in i915_gem_do_execbuffer()
1439 (int)(args->flags & I915_EXEC_RING_MASK)); in i915_gem_do_execbuffer()
1443 if (((args->flags & I915_EXEC_RING_MASK) != I915_EXEC_BSD) && in i915_gem_do_execbuffer()
1444 ((args->flags & I915_EXEC_BSD_MASK) != 0)) { in i915_gem_do_execbuffer()
1446 "bsd dispatch flags: %d\n", (int)(args->flags)); in i915_gem_do_execbuffer()
1450 if ((args->flags & I915_EXEC_RING_MASK) == I915_EXEC_DEFAULT) in i915_gem_do_execbuffer()
1452 else if ((args->flags & I915_EXEC_RING_MASK) == I915_EXEC_BSD) { in i915_gem_do_execbuffer()
1456 switch (args->flags & I915_EXEC_BSD_MASK) { in i915_gem_do_execbuffer()
1469 (int)(args->flags & I915_EXEC_BSD_MASK)); in i915_gem_do_execbuffer()
1475 ring = &dev_priv->ring[(args->flags & I915_EXEC_RING_MASK) - 1]; in i915_gem_do_execbuffer()
1479 (int)(args->flags & I915_EXEC_RING_MASK)); in i915_gem_do_execbuffer()
1483 if (args->buffer_count < 1) { in i915_gem_do_execbuffer()
1484 DRM_DEBUG("execbuf with %d buffers\n", args->buffer_count); in i915_gem_do_execbuffer()
1508 eb = eb_create(args); in i915_gem_do_execbuffer()
1517 ret = eb_lookup_vmas(eb, exec, args, vm, file); in i915_gem_do_execbuffer()
1525 need_relocs = (args->flags & I915_EXEC_NO_RELOC) == 0; in i915_gem_do_execbuffer()
1535 ret = i915_gem_execbuffer_relocate_slow(dev, args, file, ring, in i915_gem_do_execbuffer()
1550 if (i915_needs_cmd_parser(ring) && args->batch_len) { in i915_gem_do_execbuffer()
1555 args->batch_start_offset, in i915_gem_do_execbuffer()
1556 args->batch_len, in i915_gem_do_execbuffer()
1604 ret = dev_priv->gt.do_execbuf(dev, file, ring, ctx, args, in i915_gem_do_execbuffer()
1638 struct drm_i915_gem_execbuffer *args = data; in i915_gem_execbuffer() local
1644 if (args->buffer_count < 1) { in i915_gem_execbuffer()
1645 DRM_DEBUG("execbuf with %d buffers\n", args->buffer_count); in i915_gem_execbuffer()
1650 exec_list = drm_malloc_ab(sizeof(*exec_list), args->buffer_count); in i915_gem_execbuffer()
1651 exec2_list = drm_malloc_ab(sizeof(*exec2_list), args->buffer_count); in i915_gem_execbuffer()
1654 args->buffer_count); in i915_gem_execbuffer()
1660 to_user_ptr(args->buffers_ptr), in i915_gem_execbuffer()
1661 sizeof(*exec_list) * args->buffer_count); in i915_gem_execbuffer()
1664 args->buffer_count, ret); in i915_gem_execbuffer()
1670 for (i = 0; i < args->buffer_count; i++) { in i915_gem_execbuffer()
1682 exec2.buffers_ptr = args->buffers_ptr; in i915_gem_execbuffer()
1683 exec2.buffer_count = args->buffer_count; in i915_gem_execbuffer()
1684 exec2.batch_start_offset = args->batch_start_offset; in i915_gem_execbuffer()
1685 exec2.batch_len = args->batch_len; in i915_gem_execbuffer()
1686 exec2.DR1 = args->DR1; in i915_gem_execbuffer()
1687 exec2.DR4 = args->DR4; in i915_gem_execbuffer()
1688 exec2.num_cliprects = args->num_cliprects; in i915_gem_execbuffer()
1689 exec2.cliprects_ptr = args->cliprects_ptr; in i915_gem_execbuffer()
1696 to_user_ptr(args->buffers_ptr); in i915_gem_execbuffer()
1699 for (i = 0; i < args->buffer_count; i++) { in i915_gem_execbuffer()
1707 args->buffer_count, ret); in i915_gem_execbuffer()
1722 struct drm_i915_gem_execbuffer2 *args = data; in i915_gem_execbuffer2() local
1726 if (args->buffer_count < 1 || in i915_gem_execbuffer2()
1727 args->buffer_count > UINT_MAX / sizeof(*exec2_list)) { in i915_gem_execbuffer2()
1728 DRM_DEBUG("execbuf2 with %d buffers\n", args->buffer_count); in i915_gem_execbuffer2()
1732 if (args->rsvd2 != 0) { in i915_gem_execbuffer2()
1737 exec2_list = kmalloc(sizeof(*exec2_list)*args->buffer_count, in i915_gem_execbuffer2()
1741 args->buffer_count); in i915_gem_execbuffer2()
1744 args->buffer_count); in i915_gem_execbuffer2()
1748 to_user_ptr(args->buffers_ptr), in i915_gem_execbuffer2()
1749 sizeof(*exec2_list) * args->buffer_count); in i915_gem_execbuffer2()
1752 args->buffer_count, ret); in i915_gem_execbuffer2()
1757 ret = i915_gem_do_execbuffer(dev, data, file, args, exec2_list); in i915_gem_execbuffer2()
1761 to_user_ptr(args->buffers_ptr); in i915_gem_execbuffer2()
1764 for (i = 0; i < args->buffer_count; i++) { in i915_gem_execbuffer2()
1772 args->buffer_count); in i915_gem_execbuffer2()