• Home
  • Raw
  • Download

Lines Matching refs:bo_fake

425 	drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *) bo;  in alloc_block()  local
429 unsigned int align_log2 = ffs(bo_fake->alignment) - 1; in alloc_block()
435 sz = (bo->size + bo_fake->alignment - 1) & ~(bo_fake->alignment - 1); in alloc_block()
452 bo_fake->block = block; in alloc_block()
463 drm_intel_bo_fake *bo_fake; in free_block() local
470 bo_fake = (drm_intel_bo_fake *) block->bo; in free_block()
472 if (bo_fake->flags & (BM_PINNED | BM_NO_BACKING_STORE)) in free_block()
475 if (!skip_dirty_copy && (bo_fake->card_dirty == 1)) { in free_block()
476 memcpy(bo_fake->backing_store, block->virtual, block->bo->size); in free_block()
477 bo_fake->card_dirty = 0; in free_block()
478 bo_fake->dirty = 1; in free_block()
499 drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *) bo; in alloc_backing_store() local
500 assert(!bo_fake->backing_store); in alloc_backing_store()
501 assert(!(bo_fake->flags & (BM_PINNED | BM_NO_BACKING_STORE))); in alloc_backing_store()
503 bo_fake->backing_store = malloc(bo->size); in alloc_backing_store()
505 DBG("alloc_backing - buf %d %p %lu\n", bo_fake->id, in alloc_backing_store()
506 bo_fake->backing_store, bo->size); in alloc_backing_store()
507 assert(bo_fake->backing_store); in alloc_backing_store()
513 drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *) bo; in free_backing_store() local
515 if (bo_fake->backing_store) { in free_backing_store()
516 assert(!(bo_fake->flags & (BM_PINNED | BM_NO_BACKING_STORE))); in free_backing_store()
517 free(bo_fake->backing_store); in free_backing_store()
518 bo_fake->backing_store = NULL; in free_backing_store()
527 drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *) bo; in set_dirty() local
529 if (bo_fake->flags & BM_NO_BACKING_STORE in set_dirty()
530 && bo_fake->invalidate_cb != NULL) in set_dirty()
531 bo_fake->invalidate_cb(bo, bo_fake->invalidate_ptr); in set_dirty()
533 assert(!(bo_fake->flags & BM_PINNED)); in set_dirty()
535 DBG("set_dirty - buf %d\n", bo_fake->id); in set_dirty()
536 bo_fake->dirty = 1; in set_dirty()
547 drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *) block->bo; in evict_lru() local
549 if (bo_fake != NULL && (bo_fake->flags & BM_NO_FENCE_SUBDATA)) in evict_lru()
556 set_dirty(&bo_fake->bo); in evict_lru()
557 bo_fake->block = NULL; in evict_lru()
574 drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *) block->bo; in evict_mru() local
576 if (bo_fake && (bo_fake->flags & BM_NO_FENCE_SUBDATA)) in evict_mru()
579 set_dirty(&bo_fake->bo); in evict_mru()
580 bo_fake->block = NULL; in evict_mru()
662 drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *) bo; in evict_and_alloc_block() local
664 assert(bo_fake->block == NULL); in evict_and_alloc_block()
748 drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *) bo; in drm_intel_fake_bo_wait_rendering_locked() local
750 if (bo_fake->block == NULL || !bo_fake->block->fenced) in drm_intel_fake_bo_wait_rendering_locked()
753 _fence_wait_internal(bufmgr_fake, bo_fake->block->fence); in drm_intel_fake_bo_wait_rendering_locked()
809 drm_intel_bo_fake *bo_fake; in drm_intel_fake_bo_alloc() local
815 bo_fake = calloc(1, sizeof(*bo_fake)); in drm_intel_fake_bo_alloc()
816 if (!bo_fake) in drm_intel_fake_bo_alloc()
819 bo_fake->bo.size = size; in drm_intel_fake_bo_alloc()
820 bo_fake->bo.offset = -1; in drm_intel_fake_bo_alloc()
821 bo_fake->bo.virtual = NULL; in drm_intel_fake_bo_alloc()
822 bo_fake->bo.bufmgr = bufmgr; in drm_intel_fake_bo_alloc()
823 bo_fake->refcount = 1; in drm_intel_fake_bo_alloc()
829 bo_fake->alignment = alignment; in drm_intel_fake_bo_alloc()
830 bo_fake->id = ++bufmgr_fake->buf_nr; in drm_intel_fake_bo_alloc()
831 bo_fake->name = name; in drm_intel_fake_bo_alloc()
832 bo_fake->flags = 0; in drm_intel_fake_bo_alloc()
833 bo_fake->is_static = 0; in drm_intel_fake_bo_alloc()
835 DBG("drm_bo_alloc: (buf %d: %s, %lu kb)\n", bo_fake->id, bo_fake->name, in drm_intel_fake_bo_alloc()
836 bo_fake->bo.size / 1024); in drm_intel_fake_bo_alloc()
838 return &bo_fake->bo; in drm_intel_fake_bo_alloc()
874 drm_intel_bo_fake *bo_fake; in drm_intel_bo_fake_alloc_static() local
880 bo_fake = calloc(1, sizeof(*bo_fake)); in drm_intel_bo_fake_alloc_static()
881 if (!bo_fake) in drm_intel_bo_fake_alloc_static()
884 bo_fake->bo.size = size; in drm_intel_bo_fake_alloc_static()
885 bo_fake->bo.offset = offset; in drm_intel_bo_fake_alloc_static()
886 bo_fake->bo.virtual = virtual; in drm_intel_bo_fake_alloc_static()
887 bo_fake->bo.bufmgr = bufmgr; in drm_intel_bo_fake_alloc_static()
888 bo_fake->refcount = 1; in drm_intel_bo_fake_alloc_static()
889 bo_fake->id = ++bufmgr_fake->buf_nr; in drm_intel_bo_fake_alloc_static()
890 bo_fake->name = name; in drm_intel_bo_fake_alloc_static()
891 bo_fake->flags = BM_PINNED; in drm_intel_bo_fake_alloc_static()
892 bo_fake->is_static = 1; in drm_intel_bo_fake_alloc_static()
894 DBG("drm_bo_alloc_static: (buf %d: %s, %lu kb)\n", bo_fake->id, in drm_intel_bo_fake_alloc_static()
895 bo_fake->name, bo_fake->bo.size / 1024); in drm_intel_bo_fake_alloc_static()
897 return &bo_fake->bo; in drm_intel_bo_fake_alloc_static()
905 drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *) bo; in drm_intel_fake_bo_reference() local
908 bo_fake->refcount++; in drm_intel_fake_bo_reference()
915 drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *) bo; in drm_intel_fake_bo_reference_locked() local
917 bo_fake->refcount++; in drm_intel_fake_bo_reference_locked()
925 drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *) bo; in drm_intel_fake_bo_unreference_locked() local
928 if (--bo_fake->refcount == 0) { in drm_intel_fake_bo_unreference_locked()
929 assert(bo_fake->map_count == 0); in drm_intel_fake_bo_unreference_locked()
931 if (bo_fake->block) in drm_intel_fake_bo_unreference_locked()
932 free_block(bufmgr_fake, bo_fake->block, 1); in drm_intel_fake_bo_unreference_locked()
935 for (i = 0; i < bo_fake->nr_relocs; i++) in drm_intel_fake_bo_unreference_locked()
936 drm_intel_fake_bo_unreference_locked(bo_fake->relocs[i]. in drm_intel_fake_bo_unreference_locked()
939 DBG("drm_bo_unreference: free buf %d %s\n", bo_fake->id, in drm_intel_fake_bo_unreference_locked()
940 bo_fake->name); in drm_intel_fake_bo_unreference_locked()
942 free(bo_fake->relocs); in drm_intel_fake_bo_unreference_locked()
970 drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *) bo; in drm_intel_bo_fake_disable_backing_store() local
974 if (bo_fake->backing_store) in drm_intel_bo_fake_disable_backing_store()
977 bo_fake->flags |= BM_NO_BACKING_STORE; in drm_intel_bo_fake_disable_backing_store()
979 DBG("disable_backing_store set buf %d dirty\n", bo_fake->id); in drm_intel_bo_fake_disable_backing_store()
980 bo_fake->dirty = 1; in drm_intel_bo_fake_disable_backing_store()
981 bo_fake->invalidate_cb = invalidate_cb; in drm_intel_bo_fake_disable_backing_store()
982 bo_fake->invalidate_ptr = ptr; in drm_intel_bo_fake_disable_backing_store()
1003 drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *) bo; in drm_intel_fake_bo_map_locked() local
1006 if (bo_fake->is_static) { in drm_intel_fake_bo_map_locked()
1007 if (bo_fake->card_dirty) { in drm_intel_fake_bo_map_locked()
1009 bo_fake->card_dirty = 0; in drm_intel_fake_bo_map_locked()
1018 if (bo_fake->map_count++ != 0) in drm_intel_fake_bo_map_locked()
1022 DBG("drm_bo_map: (buf %d: %s, %lu kb)\n", bo_fake->id, in drm_intel_fake_bo_map_locked()
1023 bo_fake->name, bo_fake->bo.size / 1024); in drm_intel_fake_bo_map_locked()
1028 } else if (bo_fake->flags & (BM_NO_BACKING_STORE | BM_PINNED)) { in drm_intel_fake_bo_map_locked()
1030 if (!bo_fake->block && !evict_and_alloc_block(bo)) { in drm_intel_fake_bo_map_locked()
1035 assert(bo_fake->block); in drm_intel_fake_bo_map_locked()
1036 bo_fake->dirty = 0; in drm_intel_fake_bo_map_locked()
1038 if (!(bo_fake->flags & BM_NO_FENCE_SUBDATA) && in drm_intel_fake_bo_map_locked()
1039 bo_fake->block->fenced) { in drm_intel_fake_bo_map_locked()
1044 bo->virtual = bo_fake->block->virtual; in drm_intel_fake_bo_map_locked()
1050 if (bo_fake->backing_store == 0) in drm_intel_fake_bo_map_locked()
1053 if ((bo_fake->card_dirty == 1) && bo_fake->block) { in drm_intel_fake_bo_map_locked()
1054 if (bo_fake->block->fenced) in drm_intel_fake_bo_map_locked()
1058 memcpy(bo_fake->backing_store, in drm_intel_fake_bo_map_locked()
1059 bo_fake->block->virtual, in drm_intel_fake_bo_map_locked()
1060 bo_fake->block->bo->size); in drm_intel_fake_bo_map_locked()
1061 bo_fake->card_dirty = 0; in drm_intel_fake_bo_map_locked()
1064 bo->virtual = bo_fake->backing_store; in drm_intel_fake_bo_map_locked()
1090 drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *) bo; in drm_intel_fake_bo_unmap_locked() local
1093 if (bo_fake->is_static) in drm_intel_fake_bo_unmap_locked()
1096 assert(bo_fake->map_count != 0); in drm_intel_fake_bo_unmap_locked()
1097 if (--bo_fake->map_count != 0) in drm_intel_fake_bo_unmap_locked()
1100 DBG("drm_bo_unmap: (buf %d: %s, %lu kb)\n", bo_fake->id, bo_fake->name, in drm_intel_fake_bo_unmap_locked()
1101 bo_fake->bo.size / 1024); in drm_intel_fake_bo_unmap_locked()
1147 drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *) block->bo; in drm_intel_fake_kick_all_locked() local
1151 bo_fake->block = NULL; in drm_intel_fake_kick_all_locked()
1152 bo_fake->validated = 0; in drm_intel_fake_kick_all_locked()
1153 if (!(bo_fake->flags & BM_NO_BACKING_STORE)) in drm_intel_fake_kick_all_locked()
1154 bo_fake->dirty = 1; in drm_intel_fake_kick_all_locked()
1163 drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *) bo; in drm_intel_fake_bo_validate() local
1167 DBG("drm_bo_validate: (buf %d: %s, %lu kb)\n", bo_fake->id, in drm_intel_fake_bo_validate()
1168 bo_fake->name, bo_fake->bo.size / 1024); in drm_intel_fake_bo_validate()
1174 assert(bo_fake->map_count == 0); in drm_intel_fake_bo_validate()
1176 if (bo_fake->is_static) { in drm_intel_fake_bo_validate()
1183 if (!bo_fake->block && !evict_and_alloc_block(bo)) { in drm_intel_fake_bo_validate()
1185 DBG("Failed to validate buf %d:%s\n", bo_fake->id, in drm_intel_fake_bo_validate()
1186 bo_fake->name); in drm_intel_fake_bo_validate()
1190 assert(bo_fake->block); in drm_intel_fake_bo_validate()
1191 assert(bo_fake->block->bo == &bo_fake->bo); in drm_intel_fake_bo_validate()
1193 bo->offset = bo_fake->block->mem->ofs; in drm_intel_fake_bo_validate()
1196 if (bo_fake->dirty) { in drm_intel_fake_bo_validate()
1197 DBG("Upload dirty buf %d:%s, sz %lu offset 0x%x\n", bo_fake->id, in drm_intel_fake_bo_validate()
1198 bo_fake->name, bo->size, bo_fake->block->mem->ofs); in drm_intel_fake_bo_validate()
1200 assert(!(bo_fake->flags & (BM_NO_BACKING_STORE | BM_PINNED))); in drm_intel_fake_bo_validate()
1211 if (bo_fake->backing_store) in drm_intel_fake_bo_validate()
1212 memcpy(bo_fake->block->virtual, bo_fake->backing_store, in drm_intel_fake_bo_validate()
1215 memset(bo_fake->block->virtual, 0, bo->size); in drm_intel_fake_bo_validate()
1217 bo_fake->dirty = 0; in drm_intel_fake_bo_validate()
1220 bo_fake->block->fenced = 0; in drm_intel_fake_bo_validate()
1221 bo_fake->block->on_hardware = 1; in drm_intel_fake_bo_validate()
1222 DRMLISTDEL(bo_fake->block); in drm_intel_fake_bo_validate()
1223 DRMLISTADDTAIL(bo_fake->block, &bufmgr_fake->on_hardware); in drm_intel_fake_bo_validate()
1225 bo_fake->validated = 1; in drm_intel_fake_bo_validate()
1261 drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *) bo; in drm_intel_fake_emit_reloc() local
1270 if (bo_fake->relocs == NULL) { in drm_intel_fake_emit_reloc()
1271 bo_fake->relocs = in drm_intel_fake_emit_reloc()
1275 r = &bo_fake->relocs[bo_fake->nr_relocs++]; in drm_intel_fake_emit_reloc()
1277 assert(bo_fake->nr_relocs <= MAX_RELOCS); in drm_intel_fake_emit_reloc()
1282 bo_fake->child_size += in drm_intel_fake_emit_reloc()
1284 bo_fake->child_size += target_fake->child_size; in drm_intel_fake_emit_reloc()
1297 for (i = 0; i < bo_fake->nr_relocs - 1; i++) { in drm_intel_fake_emit_reloc()
1298 struct fake_buffer_reloc *r2 = &bo_fake->relocs[i]; in drm_intel_fake_emit_reloc()
1316 drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *) bo; in drm_intel_fake_calculate_domains() local
1319 for (i = 0; i < bo_fake->nr_relocs; i++) { in drm_intel_fake_calculate_domains()
1320 struct fake_buffer_reloc *r = &bo_fake->relocs[i]; in drm_intel_fake_calculate_domains()
1337 drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *) bo; in drm_intel_fake_reloc_and_validate_buffer() local
1340 assert(bo_fake->map_count == 0); in drm_intel_fake_reloc_and_validate_buffer()
1342 for (i = 0; i < bo_fake->nr_relocs; i++) { in drm_intel_fake_reloc_and_validate_buffer()
1343 struct fake_buffer_reloc *r = &bo_fake->relocs[i]; in drm_intel_fake_reloc_and_validate_buffer()
1376 if (bo_fake->write_domain != 0) { in drm_intel_fake_reloc_and_validate_buffer()
1377 if (!(bo_fake->flags & (BM_NO_BACKING_STORE | BM_PINNED))) { in drm_intel_fake_reloc_and_validate_buffer()
1378 if (bo_fake->backing_store == 0) in drm_intel_fake_reloc_and_validate_buffer()
1381 bo_fake->card_dirty = 1; in drm_intel_fake_reloc_and_validate_buffer()
1393 drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *) bo; in drm_intel_bo_fake_post_submit() local
1396 for (i = 0; i < bo_fake->nr_relocs; i++) { in drm_intel_bo_fake_post_submit()
1397 struct fake_buffer_reloc *r = &bo_fake->relocs[i]; in drm_intel_bo_fake_post_submit()
1405 bo_fake->name, (uint32_t) bo->offset, r->offset, in drm_intel_bo_fake_post_submit()
1410 assert(bo_fake->map_count == 0); in drm_intel_bo_fake_post_submit()
1411 bo_fake->validated = 0; in drm_intel_bo_fake_post_submit()
1412 bo_fake->read_domains = 0; in drm_intel_bo_fake_post_submit()
1413 bo_fake->write_domain = 0; in drm_intel_bo_fake_post_submit()
1511 drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *) bo_array[i]; in drm_intel_fake_check_aperture_space() local
1513 if (bo_fake == NULL) in drm_intel_fake_check_aperture_space()
1516 if (!bo_fake->is_static) in drm_intel_fake_check_aperture_space()
1517 sz += ALIGN(bo_array[i]->size, bo_fake->alignment); in drm_intel_fake_check_aperture_space()
1518 sz += bo_fake->child_size; in drm_intel_fake_check_aperture_space()
1563 drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *) block->bo; in drm_intel_bufmgr_fake_evict_all() local
1568 bo_fake->block = NULL; in drm_intel_bufmgr_fake_evict_all()