Lines Matching refs:mman
78 return ttm_range_man_init(&adev->mman.bdev, type, in amdgpu_ttm_init_on_chip()
135 if (!adev->mman.buffer_funcs_enabled) { in amdgpu_evict_flags()
198 BUG_ON(adev->mman.buffer_funcs->copy_max_bytes < in amdgpu_ttm_map_buffer()
228 num_dw = ALIGN(adev->mman.buffer_funcs->copy_num_dw, 8); in amdgpu_ttm_map_buffer()
231 r = amdgpu_job_alloc_with_ib(adev, &adev->mman.high_pr, in amdgpu_ttm_map_buffer()
299 struct amdgpu_ring *ring = adev->mman.buffer_funcs_ring; in amdgpu_ttm_copy_mem_to_mem()
304 if (!adev->mman.buffer_funcs_enabled) { in amdgpu_ttm_copy_mem_to_mem()
312 mutex_lock(&adev->mman.gtt_window_lock); in amdgpu_ttm_copy_mem_to_mem()
343 mutex_unlock(&adev->mman.gtt_window_lock); in amdgpu_ttm_copy_mem_to_mem()
518 if (adev->mman.buffer_funcs_enabled) { in amdgpu_bo_move()
579 if (adev->mman.aper_base_kaddr && in amdgpu_ttm_io_mem_reserve()
581 mem->bus.addr = (u8 *)adev->mman.aper_base_kaddr + in amdgpu_ttm_io_mem_reserve()
1124 if (adev->mman.ttm_pools && gtt->pool_id >= 0) in amdgpu_ttm_tt_populate()
1125 pool = &adev->mman.ttm_pools[gtt->pool_id]; in amdgpu_ttm_tt_populate()
1127 pool = &adev->mman.bdev.pool; in amdgpu_ttm_tt_populate()
1169 if (adev->mman.ttm_pools && gtt->pool_id >= 0) in amdgpu_ttm_tt_unpopulate()
1170 pool = &adev->mman.ttm_pools[gtt->pool_id]; in amdgpu_ttm_tt_unpopulate()
1172 pool = &adev->mman.bdev.pool; in amdgpu_ttm_tt_unpopulate()
1462 if (!adev->mman.sdma_access_ptr) in amdgpu_ttm_access_memory_sdma()
1469 memcpy(adev->mman.sdma_access_ptr, buf, len); in amdgpu_ttm_access_memory_sdma()
1471 num_dw = ALIGN(adev->mman.buffer_funcs->copy_num_dw, 8); in amdgpu_ttm_access_memory_sdma()
1472 r = amdgpu_job_alloc_with_ib(adev, &adev->mman.high_pr, in amdgpu_ttm_access_memory_sdma()
1482 dst_addr = amdgpu_bo_gpu_offset(adev->mman.sdma_access_bo); in amdgpu_ttm_access_memory_sdma()
1489 amdgpu_ring_pad_ib(adev->mman.buffer_funcs_ring, &job->ibs[0]); in amdgpu_ttm_access_memory_sdma()
1499 memcpy(buf, adev->mman.sdma_access_ptr, len); in amdgpu_ttm_access_memory_sdma()
1588 amdgpu_bo_free_kernel(&adev->mman.fw_vram_usage_reserved_bo, in amdgpu_ttm_fw_reserve_vram_fini()
1589 NULL, &adev->mman.fw_vram_usage_va); in amdgpu_ttm_fw_reserve_vram_fini()
1604 amdgpu_bo_free_kernel(&adev->mman.drv_vram_usage_reserved_bo, in amdgpu_ttm_drv_reserve_vram_fini()
1606 &adev->mman.drv_vram_usage_va); in amdgpu_ttm_drv_reserve_vram_fini()
1620 adev->mman.fw_vram_usage_va = NULL; in amdgpu_ttm_fw_reserve_vram_init()
1621 adev->mman.fw_vram_usage_reserved_bo = NULL; in amdgpu_ttm_fw_reserve_vram_init()
1623 if (adev->mman.fw_vram_usage_size == 0 || in amdgpu_ttm_fw_reserve_vram_init()
1624 adev->mman.fw_vram_usage_size > vram_size) in amdgpu_ttm_fw_reserve_vram_init()
1628 adev->mman.fw_vram_usage_start_offset, in amdgpu_ttm_fw_reserve_vram_init()
1629 adev->mman.fw_vram_usage_size, in amdgpu_ttm_fw_reserve_vram_init()
1630 &adev->mman.fw_vram_usage_reserved_bo, in amdgpu_ttm_fw_reserve_vram_init()
1631 &adev->mman.fw_vram_usage_va); in amdgpu_ttm_fw_reserve_vram_init()
1645 adev->mman.drv_vram_usage_va = NULL; in amdgpu_ttm_drv_reserve_vram_init()
1646 adev->mman.drv_vram_usage_reserved_bo = NULL; in amdgpu_ttm_drv_reserve_vram_init()
1648 if (adev->mman.drv_vram_usage_size == 0 || in amdgpu_ttm_drv_reserve_vram_init()
1649 adev->mman.drv_vram_usage_size > vram_size) in amdgpu_ttm_drv_reserve_vram_init()
1653 adev->mman.drv_vram_usage_start_offset, in amdgpu_ttm_drv_reserve_vram_init()
1654 adev->mman.drv_vram_usage_size, in amdgpu_ttm_drv_reserve_vram_init()
1655 &adev->mman.drv_vram_usage_reserved_bo, in amdgpu_ttm_drv_reserve_vram_init()
1656 &adev->mman.drv_vram_usage_va); in amdgpu_ttm_drv_reserve_vram_init()
1754 reserve_size, &adev->mman.fw_reserved_memory, NULL); in amdgpu_ttm_reserve_tmr()
1757 amdgpu_bo_free_kernel(&adev->mman.fw_reserved_memory, in amdgpu_ttm_reserve_tmr()
1775 adev->mman.ttm_pools = kcalloc(adev->gmc.num_mem_partitions, in amdgpu_ttm_pools_init()
1776 sizeof(*adev->mman.ttm_pools), in amdgpu_ttm_pools_init()
1778 if (!adev->mman.ttm_pools) in amdgpu_ttm_pools_init()
1782 ttm_pool_init(&adev->mman.ttm_pools[i], adev->dev, in amdgpu_ttm_pools_init()
1793 if (!adev->gmc.is_app_apu || !adev->mman.ttm_pools) in amdgpu_ttm_pools_fini()
1797 ttm_pool_fini(&adev->mman.ttm_pools[i]); in amdgpu_ttm_pools_fini()
1799 kfree(adev->mman.ttm_pools); in amdgpu_ttm_pools_fini()
1800 adev->mman.ttm_pools = NULL; in amdgpu_ttm_pools_fini()
1817 mutex_init(&adev->mman.gtt_window_lock); in amdgpu_ttm_init()
1820 r = ttm_device_init(&adev->mman.bdev, &amdgpu_bo_driver, adev->dev, in amdgpu_ttm_init()
1835 adev->mman.initialized = true; in amdgpu_ttm_init()
1849 adev->mman.aper_base_kaddr = ioremap_cache(adev->gmc.aper_base, in amdgpu_ttm_init()
1857 adev->mman.aper_base_kaddr = ioremap_wc(adev->gmc.aper_base, in amdgpu_ttm_init()
1882 if (adev->mman.discovery_bin) { in amdgpu_ttm_init()
1895 adev->mman.stolen_vga_size, in amdgpu_ttm_init()
1896 &adev->mman.stolen_vga_memory, in amdgpu_ttm_init()
1901 r = amdgpu_bo_create_kernel_at(adev, adev->mman.stolen_vga_size, in amdgpu_ttm_init()
1902 adev->mman.stolen_extended_size, in amdgpu_ttm_init()
1903 &adev->mman.stolen_extended_memory, in amdgpu_ttm_init()
1910 adev->mman.stolen_reserved_offset, in amdgpu_ttm_init()
1911 adev->mman.stolen_reserved_size, in amdgpu_ttm_init()
1912 &adev->mman.stolen_reserved_memory, in amdgpu_ttm_init()
1981 &adev->mman.sdma_access_bo, NULL, in amdgpu_ttm_init()
1982 &adev->mman.sdma_access_ptr)) in amdgpu_ttm_init()
1995 if (!adev->mman.initialized) in amdgpu_ttm_fini()
2003 amdgpu_bo_free_kernel(&adev->mman.stolen_vga_memory, NULL, NULL); in amdgpu_ttm_fini()
2004 amdgpu_bo_free_kernel(&adev->mman.stolen_extended_memory, NULL, NULL); in amdgpu_ttm_fini()
2006 amdgpu_bo_free_kernel(&adev->mman.fw_reserved_memory, NULL, in amdgpu_ttm_fini()
2008 if (adev->mman.stolen_reserved_size) in amdgpu_ttm_fini()
2009 amdgpu_bo_free_kernel(&adev->mman.stolen_reserved_memory, in amdgpu_ttm_fini()
2012 amdgpu_bo_free_kernel(&adev->mman.sdma_access_bo, NULL, in amdgpu_ttm_fini()
2013 &adev->mman.sdma_access_ptr); in amdgpu_ttm_fini()
2019 if (adev->mman.aper_base_kaddr) in amdgpu_ttm_fini()
2020 iounmap(adev->mman.aper_base_kaddr); in amdgpu_ttm_fini()
2021 adev->mman.aper_base_kaddr = NULL; in amdgpu_ttm_fini()
2029 ttm_range_man_fini(&adev->mman.bdev, AMDGPU_PL_GDS); in amdgpu_ttm_fini()
2030 ttm_range_man_fini(&adev->mman.bdev, AMDGPU_PL_GWS); in amdgpu_ttm_fini()
2031 ttm_range_man_fini(&adev->mman.bdev, AMDGPU_PL_OA); in amdgpu_ttm_fini()
2032 ttm_device_fini(&adev->mman.bdev); in amdgpu_ttm_fini()
2033 adev->mman.initialized = false; in amdgpu_ttm_fini()
2048 struct ttm_resource_manager *man = ttm_manager_type(&adev->mman.bdev, TTM_PL_VRAM); in amdgpu_ttm_set_buffer_funcs_status()
2052 if (!adev->mman.initialized || amdgpu_in_reset(adev) || in amdgpu_ttm_set_buffer_funcs_status()
2053 adev->mman.buffer_funcs_enabled == enable || adev->gmc.is_app_apu) in amdgpu_ttm_set_buffer_funcs_status()
2060 ring = adev->mman.buffer_funcs_ring; in amdgpu_ttm_set_buffer_funcs_status()
2062 r = drm_sched_entity_init(&adev->mman.high_pr, in amdgpu_ttm_set_buffer_funcs_status()
2071 r = drm_sched_entity_init(&adev->mman.low_pr, in amdgpu_ttm_set_buffer_funcs_status()
2080 drm_sched_entity_destroy(&adev->mman.high_pr); in amdgpu_ttm_set_buffer_funcs_status()
2081 drm_sched_entity_destroy(&adev->mman.low_pr); in amdgpu_ttm_set_buffer_funcs_status()
2092 adev->mman.buffer_funcs_enabled = enable; in amdgpu_ttm_set_buffer_funcs_status()
2097 drm_sched_entity_destroy(&adev->mman.high_pr); in amdgpu_ttm_set_buffer_funcs_status()
2112 struct drm_sched_entity *entity = delayed ? &adev->mman.low_pr : in amdgpu_ttm_prepare_job()
2113 &adev->mman.high_pr; in amdgpu_ttm_prepare_job()
2151 max_bytes = adev->mman.buffer_funcs->copy_max_bytes; in amdgpu_copy_buffer()
2153 num_dw = ALIGN(num_loops * adev->mman.buffer_funcs->copy_num_dw, 8); in amdgpu_copy_buffer()
2200 max_bytes = adev->mman.buffer_funcs->fill_max_bytes; in amdgpu_ttm_fill_mem()
2202 num_dw = ALIGN(num_loops * adev->mman.buffer_funcs->fill_num_dw, 8); in amdgpu_ttm_fill_mem()
2231 struct amdgpu_ring *ring = adev->mman.buffer_funcs_ring; in amdgpu_fill_buffer()
2236 if (!adev->mman.buffer_funcs_enabled) { in amdgpu_fill_buffer()
2243 mutex_lock(&adev->mman.gtt_window_lock); in amdgpu_fill_buffer()
2267 mutex_unlock(&adev->mman.gtt_window_lock); in amdgpu_fill_buffer()
2294 man = ttm_manager_type(&adev->mman.bdev, mem_type); in amdgpu_ttm_evict_resources()
2301 return ttm_resource_manager_evict_all(&adev->mman.bdev, man); in amdgpu_ttm_evict_resources()
2310 return ttm_pool_debugfs(&adev->mman.bdev.pool, m); in amdgpu_ttm_page_pool_show()
2435 if (p->mapping != adev->mman.bdev.dev_mapping) in amdgpu_iomem_read()
2486 if (p->mapping != adev->mman.bdev.dev_mapping) in amdgpu_iomem_write()
2524 ttm_resource_manager_create_debugfs(ttm_manager_type(&adev->mman.bdev, in amdgpu_ttm_debugfs_init()
2527 ttm_resource_manager_create_debugfs(ttm_manager_type(&adev->mman.bdev, in amdgpu_ttm_debugfs_init()
2530 ttm_resource_manager_create_debugfs(ttm_manager_type(&adev->mman.bdev, in amdgpu_ttm_debugfs_init()
2533 ttm_resource_manager_create_debugfs(ttm_manager_type(&adev->mman.bdev, in amdgpu_ttm_debugfs_init()
2536 ttm_resource_manager_create_debugfs(ttm_manager_type(&adev->mman.bdev, in amdgpu_ttm_debugfs_init()