| /linux/drivers/accel/amdxdna/ |
| H A D | amdxdna_gem.c | 99 amdxdna_gem_heap_alloc(struct amdxdna_gem_obj *abo) in amdxdna_gem_heap_alloc() argument 101 struct amdxdna_client *client = abo->client; in amdxdna_gem_heap_alloc() 103 struct amdxdna_mem *mem = &abo->mem; in amdxdna_gem_heap_alloc() 120 &abo->mm_node, in amdxdna_gem_heap_alloc() 128 ret = amdxdna_init_dev_bo(abo); in amdxdna_gem_heap_alloc() 130 drm_mm_remove_node(&abo->mm_node); in amdxdna_gem_heap_alloc() 136 abo->heap_start_id, abo->heap_end_id) in amdxdna_gem_heap_alloc() 146 amdxdna_gem_heap_free(struct amdxdna_gem_obj *abo) in amdxdna_gem_heap_free() argument 148 struct amdxdna_client *client = abo->client; in amdxdna_gem_heap_free() 154 drm_mm_remove_node(&abo->mm_node); in amdxdna_gem_heap_free() [all …]
|
| H A D | amdxdna_gem.h | 18 struct amdxdna_gem_obj *abo; member 72 static inline void amdxdna_gem_put_obj(struct amdxdna_gem_obj *abo) in amdxdna_gem_put_obj() argument 74 drm_gem_object_put(to_gobj(abo)); in amdxdna_gem_put_obj() 81 static inline u64 amdxdna_gem_uva(struct amdxdna_gem_obj *abo) in amdxdna_gem_uva() argument 83 return abo->mem.uva; in amdxdna_gem_uva() 86 void *amdxdna_gem_vmap(struct amdxdna_gem_obj *abo); 87 u64 amdxdna_gem_dev_addr(struct amdxdna_gem_obj *abo); 89 static inline u64 amdxdna_dev_bo_offset(struct amdxdna_gem_obj *abo) in amdxdna_dev_bo_offset() argument 91 return amdxdna_gem_dev_addr(abo) - to_xdna_dev(to_gobj(abo)->dev)->dev_info->dev_mem_base; in amdxdna_dev_bo_offset() 94 static inline u64 amdxdna_obj_dma_addr(struct amdxdna_gem_obj *abo) in amdxdna_obj_dma_addr() argument [all …]
|
| H A D | amdxdna_iommu.c | 39 int amdxdna_dma_map_bo(struct amdxdna_dev *xdna, struct amdxdna_gem_obj *abo) in amdxdna_dma_map_bo() argument 47 if (abo->type != AMDXDNA_BO_DEV_HEAP && abo->type != AMDXDNA_BO_SHARE) in amdxdna_dma_map_bo() 50 sgt = drm_gem_shmem_get_pages_sgt(&abo->base); in amdxdna_dma_map_bo() 67 iova = amdxdna_iommu_alloc_iova(xdna, abo->mem.size, &dma_addr, in amdxdna_dma_map_bo() 68 (abo->type == AMDXDNA_BO_DEV_HEAP)); in amdxdna_dma_map_bo() 81 if (size < abo->mem.size) { in amdxdna_dma_map_bo() 86 abo->mem.dma_addr = dma_addr; in amdxdna_dma_map_bo() 90 if (contig_sz < abo->mem.size) { in amdxdna_dma_map_bo() 93 contig_sz, abo->mem.size); in amdxdna_dma_map_bo() 96 abo->mem.dma_addr = sg_dma_address(sgt->sgl); in amdxdna_dma_map_bo() [all …]
|
| H A D | amdxdna_ctx.c | 115 void *amdxdna_cmd_get_payload(struct amdxdna_gem_obj *abo, u32 *size) in amdxdna_cmd_get_payload() argument 117 struct amdxdna_cmd *cmd = amdxdna_gem_vmap(abo); in amdxdna_cmd_get_payload() 123 if (amdxdna_cmd_get_op(abo) == ERT_CMD_CHAIN) in amdxdna_cmd_get_payload() 133 abo->mem.size)) { in amdxdna_cmd_get_payload() 142 u32 amdxdna_cmd_get_cu_idx(struct amdxdna_gem_obj *abo) in amdxdna_cmd_get_cu_idx() argument 144 struct amdxdna_cmd *cmd = amdxdna_gem_vmap(abo); in amdxdna_cmd_get_cu_idx() 151 if (amdxdna_cmd_get_op(abo) == ERT_CMD_CHAIN) in amdxdna_cmd_get_cu_idx() 164 int amdxdna_cmd_set_error(struct amdxdna_gem_obj *abo, in amdxdna_cmd_set_error() argument 170 struct amdxdna_cmd *cmd = amdxdna_gem_vmap(abo); in amdxdna_cmd_set_error() 179 if (amdxdna_cmd_get_op(abo) == ERT_CMD_CHAIN) { in amdxdna_cmd_set_error() [all …]
|
| H A D | amdxdna_ctx.h | 165 amdxdna_cmd_get_op(struct amdxdna_gem_obj *abo) in amdxdna_cmd_get_op() argument 167 struct amdxdna_cmd *cmd = amdxdna_gem_vmap(abo); in amdxdna_cmd_get_op() 176 amdxdna_cmd_set_state(struct amdxdna_gem_obj *abo, enum ert_cmd_state s) in amdxdna_cmd_set_state() argument 178 struct amdxdna_cmd *cmd = amdxdna_gem_vmap(abo); in amdxdna_cmd_set_state() 188 amdxdna_cmd_get_state(struct amdxdna_gem_obj *abo) in amdxdna_cmd_get_state() argument 190 struct amdxdna_cmd *cmd = amdxdna_gem_vmap(abo); in amdxdna_cmd_get_state() 198 void *amdxdna_cmd_get_payload(struct amdxdna_gem_obj *abo, u32 *size); 199 u32 amdxdna_cmd_get_cu_idx(struct amdxdna_gem_obj *abo); 200 int amdxdna_cmd_set_error(struct amdxdna_gem_obj *abo,
|
| H A D | aie2_message.c | 500 struct amdxdna_gem_obj *abo; in aie2_config_cu() local 525 abo = to_xdna_obj(gobj); in aie2_config_cu() 527 if (abo->type != AMDXDNA_BO_DEV) { in aie2_config_cu() 534 amdxdna_gem_dev_addr(abo) >> shift); in aie2_config_cu() 537 amdxdna_gem_dev_addr(abo), req.cfgs[i]); in aie2_config_cu() 1005 struct amdxdna_gem_obj *abo; in aie2_cmdlist_multi_execbuf() local 1007 abo = amdxdna_gem_get_obj(client, boh, AMDXDNA_BO_SHARE); in aie2_cmdlist_multi_execbuf() 1008 if (!abo) { in aie2_cmdlist_multi_execbuf() 1014 ret = aie2_cmdlist_fill_slot(cmd_buf + offset, abo, &size, &op); in aie2_cmdlist_multi_execbuf() 1015 amdxdna_gem_put_obj(abo); in aie2_cmdlist_multi_execbuf() [all …]
|
| H A D | amdxdna_pci_drv.h | 66 void (*hmm_invalidate)(struct amdxdna_gem_obj *abo, unsigned long cur_seq); 193 int amdxdna_dma_map_bo(struct amdxdna_dev *xdna, struct amdxdna_gem_obj *abo); 194 void amdxdna_dma_unmap_bo(struct amdxdna_dev *xdna, struct amdxdna_gem_obj *abo);
|
| H A D | aie2_pci.h | 302 void aie2_hmm_invalidate(struct amdxdna_gem_obj *abo, unsigned long cur_seq);
|
| /linux/drivers/gpu/drm/amd/amdgpu/ |
| H A D | amdgpu_dev_coredump.c | 219 struct amdgpu_bo *abo; in amdgpu_devcoredump_print_ibs() local 266 abo = mapping->bo_va->base.bo; in amdgpu_devcoredump_print_ibs() 267 r = drm_exec_lock_obj(&exec, &abo->tbo.base); in amdgpu_devcoredump_print_ibs() 288 abo = mapping->bo_va->base.bo; in amdgpu_devcoredump_print_ibs() 291 if (abo->flags & AMDGPU_GEM_CREATE_NO_CPU_ACCESS) { in amdgpu_devcoredump_print_ibs() 296 if (abo->tbo.resource->mem_type != TTM_PL_VRAM) in amdgpu_devcoredump_print_ibs() 299 amdgpu_res_first(abo->tbo.resource, offset, in amdgpu_devcoredump_print_ibs() 310 r = ttm_bo_kmap(&abo->tbo, 0, PFN_UP(abo->tbo.base.size), in amdgpu_devcoredump_print_ibs() 311 &abo->kmap); in amdgpu_devcoredump_print_ibs() 315 kptr = amdgpu_bo_kptr(abo); in amdgpu_devcoredump_print_ibs() [all …]
|
| H A D | amdgpu_gem.c | 233 struct amdgpu_bo *abo = gem_to_amdgpu_bo(obj); in amdgpu_gem_object_open() local 234 struct amdgpu_device *adev = amdgpu_ttm_adev(abo->tbo.bdev); in amdgpu_gem_object_open() 242 mm = amdgpu_ttm_tt_get_usermm(abo->tbo.ttm); in amdgpu_gem_object_open() 246 if (abo->flags & AMDGPU_GEM_CREATE_VM_ALWAYS_VALID && in amdgpu_gem_object_open() 247 !amdgpu_vm_is_bo_always_valid(vm, abo)) in amdgpu_gem_object_open() 252 r = drm_exec_prepare_obj(&exec, &abo->tbo.base, TTM_NUM_MOVE_FENCES + 1); in amdgpu_gem_object_open() 263 amdgpu_vm_bo_update_shared(abo); in amdgpu_gem_object_open() 264 bo_va = amdgpu_vm_bo_find(vm, abo); in amdgpu_gem_object_open() 266 bo_va = amdgpu_vm_bo_add(adev, vm, abo); in amdgpu_gem_object_open() 267 r = amdgpu_evf_mgr_attach_fence(&fpriv->evf_mgr, abo); in amdgpu_gem_object_open() [all …]
|
| H A D | amdgpu_ttm.c | 98 struct amdgpu_bo *abo; in amdgpu_evict_flags() local 119 abo = ttm_to_amdgpu_bo(bo); in amdgpu_evict_flags() 120 if (abo->flags & AMDGPU_GEM_CREATE_DISCARDABLE) { in amdgpu_evict_flags() 137 amdgpu_bo_placement_from_domain(abo, AMDGPU_GEM_DOMAIN_CPU); in amdgpu_evict_flags() 140 !(abo->flags & AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED) && in amdgpu_evict_flags() 148 amdgpu_bo_placement_from_domain(abo, AMDGPU_GEM_DOMAIN_VRAM | in amdgpu_evict_flags() 151 abo->placements[0].fpfn = adev->gmc.visible_vram_size >> PAGE_SHIFT; in amdgpu_evict_flags() 152 abo->placements[0].lpfn = 0; in amdgpu_evict_flags() 153 abo->placements[0].flags |= TTM_PL_FLAG_DESIRED; in amdgpu_evict_flags() 156 amdgpu_bo_placement_from_domain(abo, AMDGPU_GEM_DOMAIN_GTT | in amdgpu_evict_flags() [all …]
|
| H A D | amdgpu_uvd.c | 138 static void amdgpu_uvd_force_into_vcpu_segment(struct amdgpu_bo *abo); 571 static void amdgpu_uvd_force_into_uvd_segment(struct amdgpu_bo *abo) in amdgpu_uvd_force_into_uvd_segment() argument 575 for (i = 0; i < abo->placement.num_placement; ++i) { in amdgpu_uvd_force_into_uvd_segment() 576 abo->placements[i].fpfn = 0 >> PAGE_SHIFT; in amdgpu_uvd_force_into_uvd_segment() 577 abo->placements[i].lpfn = (256 * 1024 * 1024) >> PAGE_SHIFT; in amdgpu_uvd_force_into_uvd_segment() 578 if (abo->placements[i].mem_type == TTM_PL_VRAM) in amdgpu_uvd_force_into_uvd_segment() 579 abo->placements[i].flags |= TTM_PL_FLAG_CONTIGUOUS; in amdgpu_uvd_force_into_uvd_segment()
|
| H A D | amdgpu_vm.c | 1326 struct amdgpu_bo *abo = gem_to_amdgpu_bo(gobj); in amdgpu_vm_bo_update() local 1328 if (abo->tbo.resource && in amdgpu_vm_bo_update() 1329 abo->tbo.resource->mem_type == TTM_PL_VRAM) in amdgpu_vm_bo_update()
|
| /linux/scripts/ |
| H A D | extract-ikconfig | 19 if pos=`tr "$cf1\n$cf2" "\n$cf2=" < "$1" | grep -abo "^$cf2"` 33 for pos in `tr "$1\n$2" "\n$2=" < "$img" | grep -abo "^$2"`
|
| /linux/drivers/gpu/drm/amd/display/amdgpu_dm/ |
| H A D | amdgpu_dm.c | 3607 struct amdgpu_bo *abo = gem_to_amdgpu_bo(fb->obj[0]); in get_mem_type() local 3609 return abo->tbo.resource ? abo->tbo.resource->mem_type : 0; in get_mem_type()
|