Lines Matching refs:bo_gem

248 	drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo;  in drm_intel_gem_dump_validation_list()  local
250 if (bo_gem->relocs == NULL) { in drm_intel_gem_dump_validation_list()
251 DBG("%2d: %d (%s)\n", i, bo_gem->gem_handle, bo_gem->name); in drm_intel_gem_dump_validation_list()
255 for (j = 0; j < bo_gem->reloc_count; j++) { in drm_intel_gem_dump_validation_list()
256 drm_intel_bo *target_bo = bo_gem->reloc_target_bo[j]; in drm_intel_gem_dump_validation_list()
261 bo_gem->gem_handle, bo_gem->name, in drm_intel_gem_dump_validation_list()
262 (unsigned long long)bo_gem->relocs[j].offset, in drm_intel_gem_dump_validation_list()
264 bo_gem->relocs[j].delta); in drm_intel_gem_dump_validation_list()
281 drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; in drm_intel_add_validate_buffer() local
284 if (bo_gem->validate_index != -1) in drm_intel_add_validate_buffer()
304 bo_gem->validate_index = index; in drm_intel_add_validate_buffer()
306 bufmgr_gem->exec_objects[index].handle = bo_gem->gem_handle; in drm_intel_add_validate_buffer()
307 bufmgr_gem->exec_objects[index].relocation_count = bo_gem->reloc_count; in drm_intel_add_validate_buffer()
308 bufmgr_gem->exec_objects[index].relocs_ptr = (uintptr_t)bo_gem->relocs; in drm_intel_add_validate_buffer()
323 drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; in drm_intel_setup_reloc_list() local
326 bo_gem->relocs = malloc(bufmgr_gem->max_relocs * in drm_intel_setup_reloc_list()
328 bo_gem->reloc_target_bo = malloc(bufmgr_gem->max_relocs * in drm_intel_setup_reloc_list()
340 drm_intel_bo_gem *bo_gem; in drm_intel_gem_bo_alloc_internal() local
372 bo_gem = DRMLISTENTRY(drm_intel_bo_gem, bucket->head.prev, head); in drm_intel_gem_bo_alloc_internal()
373 DRMLISTDEL(&bo_gem->head); in drm_intel_gem_bo_alloc_internal()
383 bo_gem = DRMLISTENTRY(drm_intel_bo_gem, bucket->head.next, head); in drm_intel_gem_bo_alloc_internal()
386 busy.handle = bo_gem->gem_handle; in drm_intel_gem_bo_alloc_internal()
392 DRMLISTDEL(&bo_gem->head); in drm_intel_gem_bo_alloc_internal()
402 bo_gem = calloc(1, sizeof(*bo_gem)); in drm_intel_gem_bo_alloc_internal()
403 if (!bo_gem) in drm_intel_gem_bo_alloc_internal()
406 bo_gem->bo.size = bo_size; in drm_intel_gem_bo_alloc_internal()
411 bo_gem->gem_handle = create.handle; in drm_intel_gem_bo_alloc_internal()
412 bo_gem->bo.handle = bo_gem->gem_handle; in drm_intel_gem_bo_alloc_internal()
414 free(bo_gem); in drm_intel_gem_bo_alloc_internal()
417 bo_gem->bo.bufmgr = bufmgr; in drm_intel_gem_bo_alloc_internal()
420 bo_gem->name = name; in drm_intel_gem_bo_alloc_internal()
421 bo_gem->refcount = 1; in drm_intel_gem_bo_alloc_internal()
422 bo_gem->validate_index = -1; in drm_intel_gem_bo_alloc_internal()
423 bo_gem->reloc_tree_size = bo_gem->bo.size; in drm_intel_gem_bo_alloc_internal()
424 bo_gem->reloc_tree_fences = 0; in drm_intel_gem_bo_alloc_internal()
425 bo_gem->used_as_reloc_target = 0; in drm_intel_gem_bo_alloc_internal()
426 bo_gem->tiling_mode = I915_TILING_NONE; in drm_intel_gem_bo_alloc_internal()
427 bo_gem->swizzle_mode = I915_BIT_6_SWIZZLE_NONE; in drm_intel_gem_bo_alloc_internal()
428 bo_gem->reusable = 1; in drm_intel_gem_bo_alloc_internal()
431 bo_gem->gem_handle, bo_gem->name, size); in drm_intel_gem_bo_alloc_internal()
433 return &bo_gem->bo; in drm_intel_gem_bo_alloc_internal()
461 drm_intel_bo_gem *bo_gem; in drm_intel_bo_gem_create_from_name() local
466 bo_gem = calloc(1, sizeof(*bo_gem)); in drm_intel_bo_gem_create_from_name()
467 if (!bo_gem) in drm_intel_bo_gem_create_from_name()
476 free(bo_gem); in drm_intel_bo_gem_create_from_name()
479 bo_gem->bo.size = open_arg.size; in drm_intel_bo_gem_create_from_name()
480 bo_gem->bo.offset = 0; in drm_intel_bo_gem_create_from_name()
481 bo_gem->bo.virtual = NULL; in drm_intel_bo_gem_create_from_name()
482 bo_gem->bo.bufmgr = bufmgr; in drm_intel_bo_gem_create_from_name()
483 bo_gem->name = name; in drm_intel_bo_gem_create_from_name()
484 bo_gem->refcount = 1; in drm_intel_bo_gem_create_from_name()
485 bo_gem->validate_index = -1; in drm_intel_bo_gem_create_from_name()
486 bo_gem->gem_handle = open_arg.handle; in drm_intel_bo_gem_create_from_name()
487 bo_gem->global_name = handle; in drm_intel_bo_gem_create_from_name()
488 bo_gem->reusable = 0; in drm_intel_bo_gem_create_from_name()
491 get_tiling.handle = bo_gem->gem_handle; in drm_intel_bo_gem_create_from_name()
494 drm_intel_gem_bo_unreference(&bo_gem->bo); in drm_intel_bo_gem_create_from_name()
497 bo_gem->tiling_mode = get_tiling.tiling_mode; in drm_intel_bo_gem_create_from_name()
498 bo_gem->swizzle_mode = get_tiling.swizzle_mode; in drm_intel_bo_gem_create_from_name()
499 if (bo_gem->tiling_mode == I915_TILING_NONE) in drm_intel_bo_gem_create_from_name()
500 bo_gem->reloc_tree_fences = 0; in drm_intel_bo_gem_create_from_name()
502 bo_gem->reloc_tree_fences = 1; in drm_intel_bo_gem_create_from_name()
504 DBG("bo_create_from_handle: %d (%s)\n", handle, bo_gem->name); in drm_intel_bo_gem_create_from_name()
506 return &bo_gem->bo; in drm_intel_bo_gem_create_from_name()
513 drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; in drm_intel_gem_bo_reference() local
515 assert(bo_gem->refcount > 0); in drm_intel_gem_bo_reference()
517 bo_gem->refcount++; in drm_intel_gem_bo_reference()
524 drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; in drm_intel_gem_bo_reference_locked() local
526 assert(bo_gem->refcount > 0); in drm_intel_gem_bo_reference_locked()
527 bo_gem->refcount++; in drm_intel_gem_bo_reference_locked()
534 drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; in drm_intel_gem_bo_free() local
538 if (bo_gem->mem_virtual) in drm_intel_gem_bo_free()
539 munmap (bo_gem->mem_virtual, bo_gem->bo.size); in drm_intel_gem_bo_free()
540 if (bo_gem->gtt_virtual) in drm_intel_gem_bo_free()
541 munmap (bo_gem->gtt_virtual, bo_gem->bo.size); in drm_intel_gem_bo_free()
545 close.handle = bo_gem->gem_handle; in drm_intel_gem_bo_free()
550 bo_gem->gem_handle, bo_gem->name, strerror(errno)); in drm_intel_gem_bo_free()
559 drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; in drm_intel_gem_bo_unreference_locked() local
561 assert(bo_gem->refcount > 0); in drm_intel_gem_bo_unreference_locked()
562 if (--bo_gem->refcount == 0) { in drm_intel_gem_bo_unreference_locked()
566 if (bo_gem->relocs != NULL) { in drm_intel_gem_bo_unreference_locked()
570 for (i = 0; i < bo_gem->reloc_count; i++) in drm_intel_gem_bo_unreference_locked()
571 drm_intel_gem_bo_unreference_locked(bo_gem->reloc_target_bo[i]); in drm_intel_gem_bo_unreference_locked()
572 free(bo_gem->reloc_target_bo); in drm_intel_gem_bo_unreference_locked()
573 free(bo_gem->relocs); in drm_intel_gem_bo_unreference_locked()
577 bo_gem->gem_handle, bo_gem->name); in drm_intel_gem_bo_unreference_locked()
582 if (bo_gem->reusable && in drm_intel_gem_bo_unreference_locked()
589 bo_gem->name = NULL; in drm_intel_gem_bo_unreference_locked()
590 bo_gem->validate_index = -1; in drm_intel_gem_bo_unreference_locked()
591 bo_gem->relocs = NULL; in drm_intel_gem_bo_unreference_locked()
592 bo_gem->reloc_target_bo = NULL; in drm_intel_gem_bo_unreference_locked()
593 bo_gem->reloc_count = 0; in drm_intel_gem_bo_unreference_locked()
595 DRMLISTADDTAIL(&bo_gem->head, &bucket->head); in drm_intel_gem_bo_unreference_locked()
617 drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; in drm_intel_gem_bo_map() local
626 if (!bo_gem->mem_virtual) { in drm_intel_gem_bo_map()
629 DBG("bo_map: %d (%s)\n", bo_gem->gem_handle, bo_gem->name); in drm_intel_gem_bo_map()
632 mmap_arg.handle = bo_gem->gem_handle; in drm_intel_gem_bo_map()
639 bo_gem->gem_handle, bo_gem->name, strerror(errno)); in drm_intel_gem_bo_map()
643 bo_gem->mem_virtual = (void *)(uintptr_t)mmap_arg.addr_ptr; in drm_intel_gem_bo_map()
644 bo_gem->swrast = 0; in drm_intel_gem_bo_map()
646 DBG("bo_map: %d (%s) -> %p\n", bo_gem->gem_handle, bo_gem->name, in drm_intel_gem_bo_map()
647 bo_gem->mem_virtual); in drm_intel_gem_bo_map()
648 bo->virtual = bo_gem->mem_virtual; in drm_intel_gem_bo_map()
650 if (bo_gem->global_name != 0 || !bo_gem->swrast) { in drm_intel_gem_bo_map()
651 set_domain.handle = bo_gem->gem_handle; in drm_intel_gem_bo_map()
663 __FILE__, __LINE__, bo_gem->gem_handle, strerror (errno)); in drm_intel_gem_bo_map()
667 bo_gem->swrast = 1; in drm_intel_gem_bo_map()
679 drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; in drm_intel_gem_bo_map_gtt() local
686 if (bo_gem->gtt_virtual == NULL) { in drm_intel_gem_bo_map_gtt()
689 DBG("bo_map_gtt: %d (%s)\n", bo_gem->gem_handle, bo_gem->name); in drm_intel_gem_bo_map_gtt()
692 mmap_arg.handle = bo_gem->gem_handle; in drm_intel_gem_bo_map_gtt()
700 bo_gem->gem_handle, bo_gem->name, in drm_intel_gem_bo_map_gtt()
707 bo_gem->gtt_virtual = mmap(0, bo->size, PROT_READ | PROT_WRITE, in drm_intel_gem_bo_map_gtt()
710 if (bo_gem->gtt_virtual == MAP_FAILED) { in drm_intel_gem_bo_map_gtt()
714 bo_gem->gem_handle, bo_gem->name, in drm_intel_gem_bo_map_gtt()
721 bo->virtual = bo_gem->gtt_virtual; in drm_intel_gem_bo_map_gtt()
723 DBG("bo_map: %d (%s) -> %p\n", bo_gem->gem_handle, bo_gem->name, in drm_intel_gem_bo_map_gtt()
724 bo_gem->gtt_virtual); in drm_intel_gem_bo_map_gtt()
727 set_domain.handle = bo_gem->gem_handle; in drm_intel_gem_bo_map_gtt()
737 __FILE__, __LINE__, bo_gem->gem_handle, strerror (errno)); in drm_intel_gem_bo_map_gtt()
749 drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; in drm_intel_gem_bo_unmap_gtt() local
755 assert(bo_gem->gtt_virtual != NULL); in drm_intel_gem_bo_unmap_gtt()
768 drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; in drm_intel_gem_bo_unmap() local
775 assert(bo_gem->mem_virtual != NULL); in drm_intel_gem_bo_unmap()
778 if (bo_gem->swrast) { in drm_intel_gem_bo_unmap()
779 sw_finish.handle = bo_gem->gem_handle; in drm_intel_gem_bo_unmap()
784 bo_gem->swrast = 0; in drm_intel_gem_bo_unmap()
796 drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; in drm_intel_gem_bo_subdata() local
801 pwrite.handle = bo_gem->gem_handle; in drm_intel_gem_bo_subdata()
811 bo_gem->gem_handle, (int) offset, (int) size, in drm_intel_gem_bo_subdata()
845 drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; in drm_intel_gem_bo_get_subdata() local
850 pread.handle = bo_gem->gem_handle; in drm_intel_gem_bo_get_subdata()
860 bo_gem->gem_handle, (int) offset, (int) size, in drm_intel_gem_bo_get_subdata()
884 drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; in drm_intel_gem_bo_start_gtt_access() local
888 set_domain.handle = bo_gem->gem_handle; in drm_intel_gem_bo_start_gtt_access()
897 bo_gem->gem_handle, set_domain.read_domains, set_domain.write_domain, in drm_intel_gem_bo_start_gtt_access()
916 drm_intel_bo_gem *bo_gem; in drm_intel_bufmgr_gem_destroy() local
919 bo_gem = DRMLISTENTRY(drm_intel_bo_gem, bucket->head.next, head); in drm_intel_bufmgr_gem_destroy()
920 DRMLISTDEL(&bo_gem->head); in drm_intel_bufmgr_gem_destroy()
923 drm_intel_gem_bo_free(&bo_gem->bo); in drm_intel_bufmgr_gem_destroy()
945 drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; in drm_intel_gem_bo_emit_reloc() local
951 if (bo_gem->relocs == NULL) in drm_intel_gem_bo_emit_reloc()
955 assert(bo_gem->reloc_count < bufmgr_gem->max_relocs); in drm_intel_gem_bo_emit_reloc()
964 assert(!bo_gem->used_as_reloc_target); in drm_intel_gem_bo_emit_reloc()
965 bo_gem->reloc_tree_size += target_bo_gem->reloc_tree_size; in drm_intel_gem_bo_emit_reloc()
966 bo_gem->reloc_tree_fences += target_bo_gem->reloc_tree_fences; in drm_intel_gem_bo_emit_reloc()
971 bo_gem->relocs[bo_gem->reloc_count].offset = offset; in drm_intel_gem_bo_emit_reloc()
972 bo_gem->relocs[bo_gem->reloc_count].delta = target_offset; in drm_intel_gem_bo_emit_reloc()
973 bo_gem->relocs[bo_gem->reloc_count].target_handle = in drm_intel_gem_bo_emit_reloc()
975 bo_gem->relocs[bo_gem->reloc_count].read_domains = read_domains; in drm_intel_gem_bo_emit_reloc()
976 bo_gem->relocs[bo_gem->reloc_count].write_domain = write_domain; in drm_intel_gem_bo_emit_reloc()
977 bo_gem->relocs[bo_gem->reloc_count].presumed_offset = target_bo->offset; in drm_intel_gem_bo_emit_reloc()
979 bo_gem->reloc_target_bo[bo_gem->reloc_count] = target_bo; in drm_intel_gem_bo_emit_reloc()
982 bo_gem->reloc_count++; in drm_intel_gem_bo_emit_reloc()
997 drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; in drm_intel_gem_bo_process_reloc() local
1000 if (bo_gem->relocs == NULL) in drm_intel_gem_bo_process_reloc()
1003 for (i = 0; i < bo_gem->reloc_count; i++) { in drm_intel_gem_bo_process_reloc()
1004 drm_intel_bo *target_bo = bo_gem->reloc_target_bo[i]; in drm_intel_gem_bo_process_reloc()
1021 drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; in drm_intel_update_buffer_offsets() local
1026 bo_gem->gem_handle, bo_gem->name, bo->offset, in drm_intel_update_buffer_offsets()
1079 drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; in drm_intel_gem_bo_exec() local
1082 bo_gem->swrast = 0; in drm_intel_gem_bo_exec()
1085 bo_gem->validate_index = -1; in drm_intel_gem_bo_exec()
1099 drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; in drm_intel_gem_bo_pin() local
1104 pin.handle = bo_gem->gem_handle; in drm_intel_gem_bo_pin()
1122 drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; in drm_intel_gem_bo_unpin() local
1127 unpin.handle = bo_gem->gem_handle; in drm_intel_gem_bo_unpin()
1141 drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; in drm_intel_gem_bo_set_tiling() local
1145 if (bo_gem->global_name == 0 && *tiling_mode == bo_gem->tiling_mode) in drm_intel_gem_bo_set_tiling()
1149 if (bo_gem->tiling_mode == I915_TILING_NONE) in drm_intel_gem_bo_set_tiling()
1150 bo_gem->reloc_tree_fences++; in drm_intel_gem_bo_set_tiling()
1153 set_tiling.handle = bo_gem->gem_handle; in drm_intel_gem_bo_set_tiling()
1159 *tiling_mode = bo_gem->tiling_mode; in drm_intel_gem_bo_set_tiling()
1162 bo_gem->tiling_mode = set_tiling.tiling_mode; in drm_intel_gem_bo_set_tiling()
1163 bo_gem->swizzle_mode = set_tiling.swizzle_mode; in drm_intel_gem_bo_set_tiling()
1166 if (bo_gem->tiling_mode == I915_TILING_NONE) in drm_intel_gem_bo_set_tiling()
1167 bo_gem->reloc_tree_fences--; in drm_intel_gem_bo_set_tiling()
1169 *tiling_mode = bo_gem->tiling_mode; in drm_intel_gem_bo_set_tiling()
1177 drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; in drm_intel_gem_bo_get_tiling() local
1179 *tiling_mode = bo_gem->tiling_mode; in drm_intel_gem_bo_get_tiling()
1180 *swizzle_mode = bo_gem->swizzle_mode; in drm_intel_gem_bo_get_tiling()
1188 drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; in drm_intel_gem_bo_flink() local
1192 if (!bo_gem->global_name) { in drm_intel_gem_bo_flink()
1194 flink.handle = bo_gem->gem_handle; in drm_intel_gem_bo_flink()
1199 bo_gem->global_name = flink.name; in drm_intel_gem_bo_flink()
1200 bo_gem->reusable = 0; in drm_intel_gem_bo_flink()
1203 *name = bo_gem->global_name; in drm_intel_gem_bo_flink()
1232 drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; in drm_intel_gem_bo_get_aperture_space() local
1236 if (bo == NULL || bo_gem->included_in_check_aperture) in drm_intel_gem_bo_get_aperture_space()
1240 bo_gem->included_in_check_aperture = 1; in drm_intel_gem_bo_get_aperture_space()
1242 for (i = 0; i < bo_gem->reloc_count; i++) in drm_intel_gem_bo_get_aperture_space()
1243 total += drm_intel_gem_bo_get_aperture_space(bo_gem->reloc_target_bo[i]); in drm_intel_gem_bo_get_aperture_space()
1263 drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo_array[i]; in drm_intel_gem_total_fences() local
1265 if (bo_gem == NULL) in drm_intel_gem_total_fences()
1268 total += bo_gem->reloc_tree_fences; in drm_intel_gem_total_fences()
1280 drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; in drm_intel_gem_bo_clear_aperture_space_flag() local
1283 if (bo == NULL || !bo_gem->included_in_check_aperture) in drm_intel_gem_bo_clear_aperture_space_flag()
1286 bo_gem->included_in_check_aperture = 0; in drm_intel_gem_bo_clear_aperture_space_flag()
1288 for (i = 0; i < bo_gem->reloc_count; i++) in drm_intel_gem_bo_clear_aperture_space_flag()
1289 drm_intel_gem_bo_clear_aperture_space_flag(bo_gem->reloc_target_bo[i]); in drm_intel_gem_bo_clear_aperture_space_flag()
1303 drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo_array[i]; in drm_intel_gem_estimate_batch_space() local
1304 if (bo_gem != NULL) in drm_intel_gem_estimate_batch_space()
1305 total += bo_gem->reloc_tree_size; in drm_intel_gem_estimate_batch_space()
1332 drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo_array[i]; in drm_intel_gem_compute_batch_space() local
1333 bo_gem->reloc_tree_size = total; in drm_intel_gem_compute_batch_space()
1396 drm_intel_bo_gem *bo_gem = (drm_intel_bo_gem *)bo; in drm_intel_gem_bo_disable_reuse() local
1398 bo_gem->reusable = 0; in drm_intel_gem_bo_disable_reuse()