Lines Matching refs:mman
78 return ttm_range_man_init(&adev->mman.bdev, type, in amdgpu_ttm_init_on_chip()
130 if (!adev->mman.buffer_funcs_enabled) { in amdgpu_evict_flags()
193 BUG_ON(adev->mman.buffer_funcs->copy_max_bytes < in amdgpu_ttm_map_buffer()
223 num_dw = ALIGN(adev->mman.buffer_funcs->copy_num_dw, 8); in amdgpu_ttm_map_buffer()
226 r = amdgpu_job_alloc_with_ib(adev, &adev->mman.high_pr, in amdgpu_ttm_map_buffer()
294 struct amdgpu_ring *ring = adev->mman.buffer_funcs_ring; in amdgpu_ttm_copy_mem_to_mem()
301 if (!adev->mman.buffer_funcs_enabled) { in amdgpu_ttm_copy_mem_to_mem()
309 mutex_lock(&adev->mman.gtt_window_lock); in amdgpu_ttm_copy_mem_to_mem()
360 mutex_unlock(&adev->mman.gtt_window_lock); in amdgpu_ttm_copy_mem_to_mem()
555 if (adev->mman.buffer_funcs_enabled && in amdgpu_bo_move()
568 if (adev->mman.buffer_funcs_enabled) in amdgpu_bo_move()
613 if (adev->mman.aper_base_kaddr && in amdgpu_ttm_io_mem_reserve()
615 mem->bus.addr = (u8 *)adev->mman.aper_base_kaddr + in amdgpu_ttm_io_mem_reserve()
1154 if (adev->mman.ttm_pools && gtt->pool_id >= 0) in amdgpu_ttm_tt_populate()
1155 pool = &adev->mman.ttm_pools[gtt->pool_id]; in amdgpu_ttm_tt_populate()
1157 pool = &adev->mman.bdev.pool; in amdgpu_ttm_tt_populate()
1199 if (adev->mman.ttm_pools && gtt->pool_id >= 0) in amdgpu_ttm_tt_unpopulate()
1200 pool = &adev->mman.ttm_pools[gtt->pool_id]; in amdgpu_ttm_tt_unpopulate()
1202 pool = &adev->mman.bdev.pool; in amdgpu_ttm_tt_unpopulate()
1493 if (!adev->mman.sdma_access_ptr) in amdgpu_ttm_access_memory_sdma()
1500 memcpy(adev->mman.sdma_access_ptr, buf, len); in amdgpu_ttm_access_memory_sdma()
1502 num_dw = ALIGN(adev->mman.buffer_funcs->copy_num_dw, 8); in amdgpu_ttm_access_memory_sdma()
1503 r = amdgpu_job_alloc_with_ib(adev, &adev->mman.high_pr, in amdgpu_ttm_access_memory_sdma()
1513 dst_addr = amdgpu_bo_gpu_offset(adev->mman.sdma_access_bo); in amdgpu_ttm_access_memory_sdma()
1520 amdgpu_ring_pad_ib(adev->mman.buffer_funcs_ring, &job->ibs[0]); in amdgpu_ttm_access_memory_sdma()
1530 memcpy(buf, adev->mman.sdma_access_ptr, len); in amdgpu_ttm_access_memory_sdma()
1619 amdgpu_bo_free_kernel(&adev->mman.fw_vram_usage_reserved_bo, in amdgpu_ttm_fw_reserve_vram_fini()
1620 NULL, &adev->mman.fw_vram_usage_va); in amdgpu_ttm_fw_reserve_vram_fini()
1635 amdgpu_bo_free_kernel(&adev->mman.drv_vram_usage_reserved_bo, in amdgpu_ttm_drv_reserve_vram_fini()
1637 &adev->mman.drv_vram_usage_va); in amdgpu_ttm_drv_reserve_vram_fini()
1651 adev->mman.fw_vram_usage_va = NULL; in amdgpu_ttm_fw_reserve_vram_init()
1652 adev->mman.fw_vram_usage_reserved_bo = NULL; in amdgpu_ttm_fw_reserve_vram_init()
1654 if (adev->mman.fw_vram_usage_size == 0 || in amdgpu_ttm_fw_reserve_vram_init()
1655 adev->mman.fw_vram_usage_size > vram_size) in amdgpu_ttm_fw_reserve_vram_init()
1659 adev->mman.fw_vram_usage_start_offset, in amdgpu_ttm_fw_reserve_vram_init()
1660 adev->mman.fw_vram_usage_size, in amdgpu_ttm_fw_reserve_vram_init()
1661 &adev->mman.fw_vram_usage_reserved_bo, in amdgpu_ttm_fw_reserve_vram_init()
1662 &adev->mman.fw_vram_usage_va); in amdgpu_ttm_fw_reserve_vram_init()
1676 adev->mman.drv_vram_usage_va = NULL; in amdgpu_ttm_drv_reserve_vram_init()
1677 adev->mman.drv_vram_usage_reserved_bo = NULL; in amdgpu_ttm_drv_reserve_vram_init()
1679 if (adev->mman.drv_vram_usage_size == 0 || in amdgpu_ttm_drv_reserve_vram_init()
1680 adev->mman.drv_vram_usage_size > vram_size) in amdgpu_ttm_drv_reserve_vram_init()
1684 adev->mman.drv_vram_usage_start_offset, in amdgpu_ttm_drv_reserve_vram_init()
1685 adev->mman.drv_vram_usage_size, in amdgpu_ttm_drv_reserve_vram_init()
1686 &adev->mman.drv_vram_usage_reserved_bo, in amdgpu_ttm_drv_reserve_vram_init()
1687 &adev->mman.drv_vram_usage_va); in amdgpu_ttm_drv_reserve_vram_init()
1787 reserve_size, &adev->mman.fw_reserved_memory, NULL); in amdgpu_ttm_reserve_tmr()
1790 amdgpu_bo_free_kernel(&adev->mman.fw_reserved_memory, in amdgpu_ttm_reserve_tmr()
1808 adev->mman.ttm_pools = kcalloc(adev->gmc.num_mem_partitions, in amdgpu_ttm_pools_init()
1809 sizeof(*adev->mman.ttm_pools), in amdgpu_ttm_pools_init()
1811 if (!adev->mman.ttm_pools) in amdgpu_ttm_pools_init()
1815 ttm_pool_init(&adev->mman.ttm_pools[i], adev->dev, in amdgpu_ttm_pools_init()
1826 if (!adev->gmc.is_app_apu || !adev->mman.ttm_pools) in amdgpu_ttm_pools_fini()
1830 ttm_pool_fini(&adev->mman.ttm_pools[i]); in amdgpu_ttm_pools_fini()
1832 kfree(adev->mman.ttm_pools); in amdgpu_ttm_pools_fini()
1833 adev->mman.ttm_pools = NULL; in amdgpu_ttm_pools_fini()
1850 mutex_init(&adev->mman.gtt_window_lock); in amdgpu_ttm_init()
1853 r = ttm_device_init(&adev->mman.bdev, &amdgpu_bo_driver, adev->dev, in amdgpu_ttm_init()
1868 adev->mman.initialized = true; in amdgpu_ttm_init()
1882 adev->mman.aper_base_kaddr = ioremap_cache(adev->gmc.aper_base, in amdgpu_ttm_init()
1890 adev->mman.aper_base_kaddr = ioremap_wc(adev->gmc.aper_base, in amdgpu_ttm_init()
1915 if (adev->mman.discovery_bin) { in amdgpu_ttm_init()
1928 adev->mman.stolen_vga_size, in amdgpu_ttm_init()
1929 &adev->mman.stolen_vga_memory, in amdgpu_ttm_init()
1934 r = amdgpu_bo_create_kernel_at(adev, adev->mman.stolen_vga_size, in amdgpu_ttm_init()
1935 adev->mman.stolen_extended_size, in amdgpu_ttm_init()
1936 &adev->mman.stolen_extended_memory, in amdgpu_ttm_init()
1943 adev->mman.stolen_reserved_offset, in amdgpu_ttm_init()
1944 adev->mman.stolen_reserved_size, in amdgpu_ttm_init()
1945 &adev->mman.stolen_reserved_memory, in amdgpu_ttm_init()
2014 &adev->mman.sdma_access_bo, NULL, in amdgpu_ttm_init()
2015 &adev->mman.sdma_access_ptr)) in amdgpu_ttm_init()
2028 if (!adev->mman.initialized) in amdgpu_ttm_fini()
2036 amdgpu_bo_free_kernel(&adev->mman.stolen_vga_memory, NULL, NULL); in amdgpu_ttm_fini()
2037 amdgpu_bo_free_kernel(&adev->mman.stolen_extended_memory, NULL, NULL); in amdgpu_ttm_fini()
2039 amdgpu_bo_free_kernel(&adev->mman.fw_reserved_memory, NULL, in amdgpu_ttm_fini()
2041 if (adev->mman.stolen_reserved_size) in amdgpu_ttm_fini()
2042 amdgpu_bo_free_kernel(&adev->mman.stolen_reserved_memory, in amdgpu_ttm_fini()
2045 amdgpu_bo_free_kernel(&adev->mman.sdma_access_bo, NULL, in amdgpu_ttm_fini()
2046 &adev->mman.sdma_access_ptr); in amdgpu_ttm_fini()
2052 if (adev->mman.aper_base_kaddr) in amdgpu_ttm_fini()
2053 iounmap(adev->mman.aper_base_kaddr); in amdgpu_ttm_fini()
2054 adev->mman.aper_base_kaddr = NULL; in amdgpu_ttm_fini()
2062 ttm_range_man_fini(&adev->mman.bdev, AMDGPU_PL_GDS); in amdgpu_ttm_fini()
2063 ttm_range_man_fini(&adev->mman.bdev, AMDGPU_PL_GWS); in amdgpu_ttm_fini()
2064 ttm_range_man_fini(&adev->mman.bdev, AMDGPU_PL_OA); in amdgpu_ttm_fini()
2065 ttm_device_fini(&adev->mman.bdev); in amdgpu_ttm_fini()
2066 adev->mman.initialized = false; in amdgpu_ttm_fini()
2081 struct ttm_resource_manager *man = ttm_manager_type(&adev->mman.bdev, TTM_PL_VRAM); in amdgpu_ttm_set_buffer_funcs_status()
2085 if (!adev->mman.initialized || amdgpu_in_reset(adev) || in amdgpu_ttm_set_buffer_funcs_status()
2086 adev->mman.buffer_funcs_enabled == enable || adev->gmc.is_app_apu) in amdgpu_ttm_set_buffer_funcs_status()
2093 ring = adev->mman.buffer_funcs_ring; in amdgpu_ttm_set_buffer_funcs_status()
2095 r = drm_sched_entity_init(&adev->mman.high_pr, in amdgpu_ttm_set_buffer_funcs_status()
2104 r = drm_sched_entity_init(&adev->mman.low_pr, in amdgpu_ttm_set_buffer_funcs_status()
2113 drm_sched_entity_destroy(&adev->mman.high_pr); in amdgpu_ttm_set_buffer_funcs_status()
2114 drm_sched_entity_destroy(&adev->mman.low_pr); in amdgpu_ttm_set_buffer_funcs_status()
2125 adev->mman.buffer_funcs_enabled = enable; in amdgpu_ttm_set_buffer_funcs_status()
2130 drm_sched_entity_destroy(&adev->mman.high_pr); in amdgpu_ttm_set_buffer_funcs_status()
2145 struct drm_sched_entity *entity = delayed ? &adev->mman.low_pr : in amdgpu_ttm_prepare_job()
2146 &adev->mman.high_pr; in amdgpu_ttm_prepare_job()
2184 max_bytes = adev->mman.buffer_funcs->copy_max_bytes; in amdgpu_copy_buffer()
2186 num_dw = ALIGN(num_loops * adev->mman.buffer_funcs->copy_num_dw, 8); in amdgpu_copy_buffer()
2232 max_bytes = adev->mman.buffer_funcs->fill_max_bytes; in amdgpu_ttm_fill_mem()
2234 num_dw = ALIGN(num_loops * adev->mman.buffer_funcs->fill_num_dw, 8); in amdgpu_ttm_fill_mem()
2272 struct amdgpu_ring *ring = adev->mman.buffer_funcs_ring; in amdgpu_ttm_clear_buffer()
2277 if (!adev->mman.buffer_funcs_enabled) in amdgpu_ttm_clear_buffer()
2287 mutex_lock(&adev->mman.gtt_window_lock); in amdgpu_ttm_clear_buffer()
2316 mutex_unlock(&adev->mman.gtt_window_lock); in amdgpu_ttm_clear_buffer()
2328 struct amdgpu_ring *ring = adev->mman.buffer_funcs_ring; in amdgpu_fill_buffer()
2333 if (!adev->mman.buffer_funcs_enabled) { in amdgpu_fill_buffer()
2340 mutex_lock(&adev->mman.gtt_window_lock); in amdgpu_fill_buffer()
2364 mutex_unlock(&adev->mman.gtt_window_lock); in amdgpu_fill_buffer()
2391 man = ttm_manager_type(&adev->mman.bdev, mem_type); in amdgpu_ttm_evict_resources()
2398 return ttm_resource_manager_evict_all(&adev->mman.bdev, man); in amdgpu_ttm_evict_resources()
2407 return ttm_pool_debugfs(&adev->mman.bdev.pool, m); in amdgpu_ttm_page_pool_show()
2532 if (p->mapping != adev->mman.bdev.dev_mapping) in amdgpu_iomem_read()
2583 if (p->mapping != adev->mman.bdev.dev_mapping) in amdgpu_iomem_write()
2621 ttm_resource_manager_create_debugfs(ttm_manager_type(&adev->mman.bdev, in amdgpu_ttm_debugfs_init()
2624 ttm_resource_manager_create_debugfs(ttm_manager_type(&adev->mman.bdev, in amdgpu_ttm_debugfs_init()
2627 ttm_resource_manager_create_debugfs(ttm_manager_type(&adev->mman.bdev, in amdgpu_ttm_debugfs_init()
2630 ttm_resource_manager_create_debugfs(ttm_manager_type(&adev->mman.bdev, in amdgpu_ttm_debugfs_init()
2633 ttm_resource_manager_create_debugfs(ttm_manager_type(&adev->mman.bdev, in amdgpu_ttm_debugfs_init()