Home
last modified time | relevance | path

Searched refs:gmc (Results 1 – 25 of 55) sorted by relevance

123

/linux/drivers/gpu/drm/amd/amdgpu/
H A Damdgpu_gmc.c46 return adev->gmc.xgmi.connected_to_cpu || amdgpu_virt_xgmi_migrate_enabled(adev); in amdgpu_gmc_is_pdb0_enabled()
61 u64 vram_size = adev->gmc.xgmi.node_segment_size * adev->gmc.xgmi.num_physical_nodes; in amdgpu_gmc_pdb0_alloc()
62 uint32_t pde0_page_shift = adev->gmc.vmid0_page_table_block_size + 21; in amdgpu_gmc_pdb0_alloc()
75 r = amdgpu_bo_create(adev, &bp, &adev->gmc.pdb0_bo); in amdgpu_gmc_pdb0_alloc()
79 r = amdgpu_bo_reserve(adev->gmc.pdb0_bo, false); in amdgpu_gmc_pdb0_alloc()
83 r = amdgpu_bo_pin(adev->gmc.pdb0_bo, AMDGPU_GEM_DOMAIN_VRAM); in amdgpu_gmc_pdb0_alloc()
86 r = amdgpu_bo_kmap(adev->gmc.pdb0_bo, &adev->gmc.ptr_pdb0); in amdgpu_gmc_pdb0_alloc()
90 amdgpu_bo_unreserve(adev->gmc.pdb0_bo); in amdgpu_gmc_pdb0_alloc()
94 amdgpu_bo_unpin(adev->gmc.pdb0_bo); in amdgpu_gmc_pdb0_alloc()
96 amdgpu_bo_unreserve(adev->gmc.pdb0_bo); in amdgpu_gmc_pdb0_alloc()
[all …]
H A Dgfxhub_v2_1.c144 (u32)(adev->gmc.gart_start >> 12)); in gfxhub_v2_1_init_gart_aperture_regs()
146 (u32)(adev->gmc.gart_start >> 44)); in gfxhub_v2_1_init_gart_aperture_regs()
149 (u32)(adev->gmc.gart_end >> 12)); in gfxhub_v2_1_init_gart_aperture_regs()
151 (u32)(adev->gmc.gart_end >> 44)); in gfxhub_v2_1_init_gart_aperture_regs()
163 WREG32_SOC15(GC, 0, mmGCMC_VM_AGP_BOT, adev->gmc.agp_start >> 24); in gfxhub_v2_1_init_system_aperture_regs()
164 WREG32_SOC15(GC, 0, mmGCMC_VM_AGP_TOP, adev->gmc.agp_end >> 24); in gfxhub_v2_1_init_system_aperture_regs()
168 min(adev->gmc.fb_start, adev->gmc.agp_start) >> 18); in gfxhub_v2_1_init_system_aperture_regs()
170 max(adev->gmc.fb_end, adev->gmc.agp_end) >> 18); in gfxhub_v2_1_init_system_aperture_regs()
239 if (adev->gmc.translate_further) { in gfxhub_v2_1_init_cache_regs()
326 !adev->gmc.noretry); in gfxhub_v2_1_setup_vmid_config()
[all …]
H A Dgmc_v11_0.c178 adev->gmc.vm_fault.num_types = 1; in gmc_v11_0_set_irq_funcs()
179 adev->gmc.vm_fault.funcs = &gmc_v11_0_irq_funcs; in gmc_v11_0_set_irq_funcs()
182 adev->gmc.ecc_irq.num_types = 1; in gmc_v11_0_set_irq_funcs()
183 adev->gmc.ecc_irq.funcs = &gmc_v11_0_ecc_funcs; in gmc_v11_0_set_irq_funcs()
256 spin_lock(&adev->gmc.invalidate_lock); in gmc_v11_0_flush_gpu_tlb()
307 spin_unlock(&adev->gmc.invalidate_lock); in gmc_v11_0_flush_gpu_tlb()
452 if (!adev->gmc.translate_further) in gmc_v11_0_get_vm_pde()
549 adev->gmc.gmc_funcs = &gmc_v11_0_gmc_funcs; in gmc_v11_0_set_gmc_funcs()
629 adev->gmc.shared_aperture_start = 0x2000000000000000ULL; in gmc_v11_0_early_init()
630 adev->gmc.shared_aperture_end = in gmc_v11_0_early_init()
[all …]
H A Dgfxhub_v1_0.c58 if (adev->gmc.pdb0_bo) in gfxhub_v1_0_init_gart_aperture_regs()
59 pt_base = amdgpu_gmc_pd_addr(adev->gmc.pdb0_bo); in gfxhub_v1_0_init_gart_aperture_regs()
68 if (adev->gmc.pdb0_bo) { in gfxhub_v1_0_init_gart_aperture_regs()
70 (u32)(adev->gmc.fb_start >> 12)); in gfxhub_v1_0_init_gart_aperture_regs()
72 (u32)(adev->gmc.fb_start >> 44)); in gfxhub_v1_0_init_gart_aperture_regs()
75 (u32)(adev->gmc.gart_end >> 12)); in gfxhub_v1_0_init_gart_aperture_regs()
77 (u32)(adev->gmc.gart_end >> 44)); in gfxhub_v1_0_init_gart_aperture_regs()
80 (u32)(adev->gmc.gart_start >> 12)); in gfxhub_v1_0_init_gart_aperture_regs()
82 (u32)(adev->gmc.gart_start >> 44)); in gfxhub_v1_0_init_gart_aperture_regs()
85 (u32)(adev->gmc.gart_end >> 12)); in gfxhub_v1_0_init_gart_aperture_regs()
[all …]
H A Dgfxhub_v1_2.c78 adev->gmc.vram_start : adev->gmc.fb_start; in gfxhub_v1_2_xcc_init_gart_aperture_regs()
82 if (adev->gmc.pdb0_bo) in gfxhub_v1_2_xcc_init_gart_aperture_regs()
83 pt_base = amdgpu_gmc_pd_addr(adev->gmc.pdb0_bo); in gfxhub_v1_2_xcc_init_gart_aperture_regs()
93 if (adev->gmc.pdb0_bo) { in gfxhub_v1_2_xcc_init_gart_aperture_regs()
103 (u32)(adev->gmc.gart_end >> 12)); in gfxhub_v1_2_xcc_init_gart_aperture_regs()
106 (u32)(adev->gmc.gart_end >> 44)); in gfxhub_v1_2_xcc_init_gart_aperture_regs()
110 (u32)(adev->gmc.gart_start >> 12)); in gfxhub_v1_2_xcc_init_gart_aperture_regs()
113 (u32)(adev->gmc.gart_start >> 44)); in gfxhub_v1_2_xcc_init_gart_aperture_regs()
117 (u32)(adev->gmc.gart_end >> 12)); in gfxhub_v1_2_xcc_init_gart_aperture_regs()
120 (u32)(adev->gmc.gart_end >> 44)); in gfxhub_v1_2_xcc_init_gart_aperture_regs()
[all …]
H A Dgfxhub_v1_1.c88 if (max_region || adev->gmc.xgmi.connected_to_cpu) { in gfxhub_v1_1_get_xgmi_info()
89 adev->gmc.xgmi.num_physical_nodes = max_region + 1; in gfxhub_v1_1_get_xgmi_info()
91 if (adev->gmc.xgmi.num_physical_nodes > max_num_physical_nodes) in gfxhub_v1_1_get_xgmi_info()
95 adev->gmc.xgmi.physical_node_id = in gfxhub_v1_1_get_xgmi_info()
99 adev->gmc.xgmi.physical_node_id = in gfxhub_v1_1_get_xgmi_info()
104 if (adev->gmc.xgmi.physical_node_id > max_physical_node_id) in gfxhub_v1_1_get_xgmi_info()
107 adev->gmc.xgmi.node_segment_size = seg_size; in gfxhub_v1_1_get_xgmi_info()
H A Dgfxhub_v12_1.c99 if (adev->gmc.pdb0_bo) in gfxhub_v12_1_xcc_init_gart_aperture_regs()
100 pt_base = amdgpu_gmc_pd_addr(adev->gmc.pdb0_bo); in gfxhub_v12_1_xcc_init_gart_aperture_regs()
110 if (adev->gmc.pdb0_bo) { in gfxhub_v12_1_xcc_init_gart_aperture_regs()
113 (u32)(adev->gmc.fb_start >> 12)); in gfxhub_v12_1_xcc_init_gart_aperture_regs()
116 (u32)(adev->gmc.fb_start >> 44)); in gfxhub_v12_1_xcc_init_gart_aperture_regs()
120 (u32)(adev->gmc.gart_end >> 12)); in gfxhub_v12_1_xcc_init_gart_aperture_regs()
123 (u32)(adev->gmc.gart_end >> 44)); in gfxhub_v12_1_xcc_init_gart_aperture_regs()
127 (u32)(adev->gmc.gart_start >> 12)); in gfxhub_v12_1_xcc_init_gart_aperture_regs()
130 (u32)(adev->gmc.gart_start >> 44)); in gfxhub_v12_1_xcc_init_gart_aperture_regs()
134 (u32)(adev->gmc.gart_end >> 12)); in gfxhub_v12_1_xcc_init_gart_aperture_regs()
[all …]
H A Dmmhub_v1_0.c48 adev->gmc.fb_start = base; in mmhub_v1_0_get_fb_location()
49 adev->gmc.fb_end = top; in mmhub_v1_0_get_fb_location()
75 (u32)(adev->gmc.gart_start >> 12)); in mmhub_v1_0_init_gart_aperture_regs()
77 (u32)(adev->gmc.gart_start >> 44)); in mmhub_v1_0_init_gart_aperture_regs()
80 (u32)(adev->gmc.gart_end >> 12)); in mmhub_v1_0_init_gart_aperture_regs()
82 (u32)(adev->gmc.gart_end >> 44)); in mmhub_v1_0_init_gart_aperture_regs()
92 WREG32_SOC15(MMHUB, 0, mmMC_VM_AGP_BOT, adev->gmc.agp_start >> 24); in mmhub_v1_0_init_system_aperture_regs()
93 WREG32_SOC15(MMHUB, 0, mmMC_VM_AGP_TOP, adev->gmc.agp_end >> 24); in mmhub_v1_0_init_system_aperture_regs()
97 min(adev->gmc.fb_start, adev->gmc.agp_start) >> 18); in mmhub_v1_0_init_system_aperture_regs()
109 max((adev->gmc.fb_end >> 18) + 0x1, in mmhub_v1_0_init_system_aperture_regs()
[all …]
H A Dgfxhub_v2_0.c141 (u32)(adev->gmc.gart_start >> 12)); in gfxhub_v2_0_init_gart_aperture_regs()
143 (u32)(adev->gmc.gart_start >> 44)); in gfxhub_v2_0_init_gart_aperture_regs()
146 (u32)(adev->gmc.gart_end >> 12)); in gfxhub_v2_0_init_gart_aperture_regs()
148 (u32)(adev->gmc.gart_end >> 44)); in gfxhub_v2_0_init_gart_aperture_regs()
158 WREG32_SOC15(GC, 0, mmGCMC_VM_AGP_BOT, adev->gmc.agp_start >> 24); in gfxhub_v2_0_init_system_aperture_regs()
159 WREG32_SOC15(GC, 0, mmGCMC_VM_AGP_TOP, adev->gmc.agp_end >> 24); in gfxhub_v2_0_init_system_aperture_regs()
163 min(adev->gmc.fb_start, adev->gmc.agp_start) >> 18); in gfxhub_v2_0_init_system_aperture_regs()
165 max(adev->gmc.fb_end, adev->gmc.agp_end) >> 18); in gfxhub_v2_0_init_system_aperture_regs()
233 if (adev->gmc.translate_further) { in gfxhub_v2_0_init_cache_regs()
314 !adev->gmc.noretry); in gfxhub_v2_0_setup_vmid_config()
H A Dmmhub_v2_3.c131 (u32)(adev->gmc.gart_start >> 12)); in mmhub_v2_3_init_gart_aperture_regs()
133 (u32)(adev->gmc.gart_start >> 44)); in mmhub_v2_3_init_gart_aperture_regs()
136 (u32)(adev->gmc.gart_end >> 12)); in mmhub_v2_3_init_gart_aperture_regs()
138 (u32)(adev->gmc.gart_end >> 44)); in mmhub_v2_3_init_gart_aperture_regs()
148 WREG32_SOC15(MMHUB, 0, mmMMMC_VM_AGP_BOT, adev->gmc.agp_start >> 24); in mmhub_v2_3_init_system_aperture_regs()
149 WREG32_SOC15(MMHUB, 0, mmMMMC_VM_AGP_TOP, adev->gmc.agp_end >> 24); in mmhub_v2_3_init_system_aperture_regs()
153 min(adev->gmc.fb_start, adev->gmc.agp_start) >> 18); in mmhub_v2_3_init_system_aperture_regs()
155 max(adev->gmc.fb_end, adev->gmc.agp_end) >> 18); in mmhub_v2_3_init_system_aperture_regs()
219 if (adev->gmc.translate_further) { in mmhub_v2_3_init_cache_regs()
304 !adev->gmc.noretry); in mmhub_v2_3_setup_vmid_config()
[all …]
H A Dmmhub_v2_0.c193 (u32)(adev->gmc.gart_start >> 12)); in mmhub_v2_0_init_gart_aperture_regs()
195 (u32)(adev->gmc.gart_start >> 44)); in mmhub_v2_0_init_gart_aperture_regs()
198 (u32)(adev->gmc.gart_end >> 12)); in mmhub_v2_0_init_gart_aperture_regs()
200 (u32)(adev->gmc.gart_end >> 44)); in mmhub_v2_0_init_gart_aperture_regs()
211 WREG32_SOC15_RLC(MMHUB, 0, mmMMMC_VM_AGP_BOT, adev->gmc.agp_start >> 24); in mmhub_v2_0_init_system_aperture_regs()
212 WREG32_SOC15_RLC(MMHUB, 0, mmMMMC_VM_AGP_TOP, adev->gmc.agp_end >> 24); in mmhub_v2_0_init_system_aperture_regs()
216 min(adev->gmc.fb_start, adev->gmc.agp_start) >> 18); in mmhub_v2_0_init_system_aperture_regs()
218 max(adev->gmc.fb_end, adev->gmc.agp_end) >> 18); in mmhub_v2_0_init_system_aperture_regs()
289 if (adev->gmc.translate_further) { in mmhub_v2_0_init_cache_regs()
380 !adev->gmc.noretry); in mmhub_v2_0_setup_vmid_config()
H A Damdgpu_amdkfd.c233 amdgpu_amdkfd_total_mem_size += adev->gmc.real_vram_size; in amdgpu_amdkfd_device_init()
244 amdgpu_amdkfd_total_mem_size -= adev->gmc.real_vram_size; in amdgpu_amdkfd_device_fini_sw()
514 if (adev->gmc.real_vram_size == adev->gmc.visible_vram_size) in amdgpu_amdkfd_get_local_mem_info()
524 mem_info->local_mem_size_public = adev->gmc.visible_vram_size; in amdgpu_amdkfd_get_local_mem_info()
525 mem_info->local_mem_size_private = adev->gmc.real_vram_size - in amdgpu_amdkfd_get_local_mem_info()
526 adev->gmc.visible_vram_size; in amdgpu_amdkfd_get_local_mem_info()
528 mem_info->vram_width = adev->gmc.vram_width; in amdgpu_amdkfd_get_local_mem_info()
531 &adev->gmc.aper_base, in amdgpu_amdkfd_get_local_mem_info()
836 if (adev->gmc.num_mem_partitions && xcp_id >= 0 && mem_id >= 0) { in amdgpu_amdkfd_xcp_memory_size()
837 if (adev->gmc.is_app_apu && adev->gmc.num_mem_partitions == 1) { in amdgpu_amdkfd_xcp_memory_size()
[all …]
H A Dgmc_v12_1.c299 spin_lock(&adev->gmc.invalidate_lock); in gmc_v12_1_flush_vm_hub()
343 spin_unlock(&adev->gmc.invalidate_lock); in gmc_v12_1_flush_vm_hub()
555 adev->gmc.vram_start; in gmc_v12_1_get_vm_pde()
560 if (!adev->gmc.translate_further) in gmc_v12_1_get_vm_pde()
679 adev->gmc.gmc_funcs = &gmc_v12_1_gmc_funcs; in gmc_v12_1_set_gmc_funcs()
693 adev->gmc.vm_fault.num_types = 1; in gmc_v12_1_set_irq_funcs()
694 adev->gmc.vm_fault.funcs = &gmc_v12_1_irq_funcs; in gmc_v12_1_set_irq_funcs()
696 adev->gmc.ecc_irq.num_types = 1; in gmc_v12_1_set_irq_funcs()
697 adev->gmc.ecc_irq.funcs = &gmc_v12_1_ecc_funcs; in gmc_v12_1_set_irq_funcs()
703 adev->gmc.vram_type = AMDGPU_VRAM_TYPE_HBM4; in gmc_v12_1_init_vram_info()
[all …]
H A Damdgpu_ttm.c139 } else if (!amdgpu_gmc_vram_full_visible(&adev->gmc) && in amdgpu_evict_flags()
151 abo->placements[0].fpfn = adev->gmc.visible_vram_size >> PAGE_SHIFT; in amdgpu_evict_flags()
239 *addr = amdgpu_compute_gart_address(&adev->gmc, entity, window); in amdgpu_ttm_map_buffer()
477 if ((cursor.start + cursor.size) > adev->gmc.visible_vram_size) in amdgpu_res_cpu_visible()
662 mem->bus.offset += adev->gmc.aper_base; in amdgpu_ttm_io_mem_reserve()
697 return (adev->gmc.aper_base + cursor.start) >> PAGE_SHIFT; in amdgpu_ttm_io_mem_pfn()
713 return adev->gmc.gart_start; in amdgpu_ttm_domain_start()
715 return adev->gmc.vram_start; in amdgpu_ttm_domain_start()
1013 placements.lpfn = adev->gmc.gart_size >> PAGE_SHIFT; in amdgpu_ttm_alloc_gart()
1199 if (adev->gmc.mem_partitions && abo->xcp_id >= 0) in amdgpu_ttm_tt_create()
[all …]
H A Dumc_v8_10.h37 (adev)->gmc.num_umc - hweight32((adev)->gmc.m_half_use) * 2)
H A Damdgpu_device.c651 if (!adev->gmc.noretry && !amdgpu_passthrough(adev)) in amdgpu_device_detect_runtime_pm_mode()
776 aper_base = adev->gmc.aper_base; in amdgpu_device_read_fb_via_bar0()
777 aper_size = adev->gmc.visible_vram_size ? adev->gmc.visible_vram_size : in amdgpu_device_read_fb_via_bar0()
778 adev->gmc.aper_size; in amdgpu_device_read_fb_via_bar0()
832 last = min(pos + size, adev->gmc.visible_vram_size); in amdgpu_device_aper_access()
1083 int rbar_size = pci_rebar_bytes_to_size(adev->gmc.real_vram_size); in amdgpu_device_resize_fb_bar()
1114 if (adev->gmc.real_vram_size && in amdgpu_device_resize_fb_bar()
1115 (pci_resource_len(adev->pdev, 0) >= adev->gmc.real_vram_size)) in amdgpu_device_resize_fb_bar()
2163 if (adev->gmc.xgmi.supported) in amdgpu_device_ip_early_init()
2497 if (adev->gmc.xgmi.num_physical_nodes > 1) { in amdgpu_device_ip_init()
[all …]
H A Dhdp_v4_0.c156 WREG32_SOC15(HDP, 0, mmHDP_NONSURFACE_BASE, (adev->gmc.vram_start >> 8)); in hdp_v4_0_init_registers()
157 WREG32_SOC15(HDP, 0, mmHDP_NONSURFACE_BASE_HI, (adev->gmc.vram_start >> 40)); in hdp_v4_0_init_registers()
H A Dumc_v8_14.h36 (UMC_V8_14_CHANNEL_INSTANCE_NUM * (adev)->gmc.num_umc)
H A Dimu_v11_0_3.c126 data = adev->gmc.vram_start >> 24; in program_rlc_ram_register_setting()
128 data = adev->gmc.vram_end >> 24; in program_rlc_ram_register_setting()
H A Damdgpu_ttm.h228 static inline u64 amdgpu_compute_gart_address(struct amdgpu_gmc *gmc, in amdgpu_compute_gart_address() argument
232 return gmc->gart_start + entity->gart_window_offs[index]; in amdgpu_compute_gart_address()
H A Dvce_v1_0.c558 if (adev->gmc.vram_start < adev->gmc.gart_start) in vce_v1_0_ensure_vcpu_bo_32bit_addr()
572 if (adev->gmc.gart_start + vce_gart_start_offs > max_vcpu_bo_addr) in vce_v1_0_ensure_vcpu_bo_32bit_addr()
577 adev->vce.gpu_addr = adev->gmc.gart_start + vce_gart_start_offs; in vce_v1_0_ensure_vcpu_bo_32bit_addr()
H A Damdgpu_gtt_mgr.c237 adev->gmc.gart_size >> PAGE_SHIFT, in amdgpu_gtt_mgr_alloc_entries()
389 drm_mm_init(&mgr->mm, 0, adev->gmc.gart_size >> PAGE_SHIFT); in amdgpu_gtt_mgr_init()
/linux/drivers/gpu/drm/loongson/
H A Dlsdc_gfxpll.c82 unsigned int *gmc, in loongson_gfxpll_get_rates() argument
110 if (gmc) in loongson_gfxpll_get_rates()
111 *gmc = gmc_mhz; in loongson_gfxpll_get_rates()
122 unsigned int dc, gmc, gpu; in loongson_gfxpll_print() local
134 this->funcs->get_rates(this, &dc, &gmc, &gpu); in loongson_gfxpll_print()
136 drm_printf(p, "dc: %uMHz, gmc: %uMHz, gpu: %uMHz\n", dc, gmc, gpu); in loongson_gfxpll_print()
H A Dlsdc_gfxpll.h29 unsigned int *dc, unsigned int *gmc, unsigned int *gpu);
/linux/drivers/gpu/drm/amd/amdkfd/
H A Dkfd_migrate.c62 *gart_addr = amdgpu_compute_gart_address(&adev->gmc, entity, 0); in svm_migrate_gart_map()
714 if (adev->gmc.xgmi.connected_to_cpu) in svm_migrate_vma_to_ram()
1047 size = ALIGN(adev->gmc.real_vram_size, 2ULL << 20); in kgd2kfd_init_zone_device()
1048 if (adev->gmc.xgmi.connected_to_cpu) { in kgd2kfd_init_zone_device()
1049 pgmap->range.start = adev->gmc.aper_base; in kgd2kfd_init_zone_device()
1050 pgmap->range.end = adev->gmc.aper_base + adev->gmc.aper_size - 1; in kgd2kfd_init_zone_device()

123