/linux-6.3-rc2/drivers/iommu/ |
A D | tegra-gart.c | 58 #define FLUSH_GART_REGS(gart) readl_relaxed((gart)->regs + GART_CONFIG) argument 91 FLUSH_GART_REGS(gart); in do_gart_setup() 114 if (gart->active_domain && gart->active_domain != domain) { in gart_iommu_attach_dev() 298 FLUSH_GART_REGS(gart); in tegra_gart_suspend() 308 do_gart_setup(gart, gart->savedata); in tegra_gart_resume() 328 gart = kzalloc(sizeof(*gart), GFP_KERNEL); in tegra_gart_probe() 329 if (!gart) in tegra_gart_probe() 332 gart_handle = gart; in tegra_gart_probe() 334 gart->dev = dev; in tegra_gart_probe() 358 return gart; in tegra_gart_probe() [all …]
|
A D | Makefile | 24 obj-$(CONFIG_TEGRA_IOMMU_GART) += tegra-gart.o
|
/linux-6.3-rc2/drivers/gpu/drm/radeon/ |
A D | radeon_gart.c | 87 rdev->gart.ptr = ptr; in radeon_gart_table_ram_alloc() 113 (void *)rdev->gart.ptr, rdev->gart.table_addr); in radeon_gart_table_ram_free() 114 rdev->gart.ptr = NULL; in radeon_gart_table_ram_free() 167 r = radeon_bo_kmap(rdev->gart.robj, &rdev->gart.ptr); in radeon_gart_table_vram_pin() 208 rdev->gart.ptr = NULL; in radeon_gart_table_vram_unpin() 267 if (rdev->gart.ptr) { in radeon_gart_unbind() 310 if (rdev->gart.ptr) { in radeon_gart_bind() 316 if (rdev->gart.ptr) { in radeon_gart_bind() 335 if (rdev->gart.pages) { in radeon_gart_init() 350 rdev->gart.num_cpu_pages, rdev->gart.num_gpu_pages); in radeon_gart_init() [all …]
|
A D | rs400.c | 84 if (rdev->gart.ptr) { in rs400_gart_init() 106 rdev->gart.table_size = rdev->gart.num_gpu_pages * 4; in rs400_gart_init() 164 tmp = (u32)rdev->gart.table_addr & 0xfffff000; in rs400_gart_enable() 165 tmp |= (upper_32_bits(rdev->gart.table_addr) & 0xff) << 4; in rs400_gart_enable() 192 (unsigned long long)rdev->gart.table_addr); in rs400_gart_enable() 193 rdev->gart.ready = true; in rs400_gart_enable() 236 u32 *gtt = rdev->gart.ptr; in rs400_gart_set_page()
|
A D | radeon_asic.c | 208 .gart = { 276 .gart = { 372 .gart = { 440 .gart = { 508 .gart = { 576 .gart = { 644 .gart = { 712 .gart = { 780 .gart = { 848 .gart = { [all …]
|
A D | r300.c | 121 void __iomem *ptr = rdev->gart.ptr; in rv370_pcie_gart_set_page() 133 if (rdev->gart.robj) { in rv370_pcie_gart_init() 143 rdev->gart.table_size = rdev->gart.num_gpu_pages * 4; in rv370_pcie_gart_init() 144 rdev->asic->gart.tlb_flush = &rv370_pcie_gart_tlb_flush; in rv370_pcie_gart_init() 145 rdev->asic->gart.get_page_entry = &rv370_pcie_gart_get_page_entry; in rv370_pcie_gart_init() 146 rdev->asic->gart.set_page = &rv370_pcie_gart_set_page; in rv370_pcie_gart_init() 156 if (rdev->gart.robj == NULL) { in rv370_pcie_gart_enable() 171 table_addr = rdev->gart.table_addr; in rv370_pcie_gart_enable() 186 rdev->gart.ready = true; in rv370_pcie_gart_enable()
|
A D | rs600.c | 550 if (rdev->gart.robj) { in rs600_gart_init() 559 rdev->gart.table_size = rdev->gart.num_gpu_pages * 8; in rs600_gart_init() 568 if (rdev->gart.robj == NULL) { in rs600_gart_enable() 605 rdev->gart.table_addr); in rs600_gart_enable() 622 (unsigned long long)rdev->gart.table_addr); in rs600_gart_enable() 623 rdev->gart.ready = true; in rs600_gart_enable() 663 void __iomem *ptr = (void *)rdev->gart.ptr; in rs600_gart_set_page()
|
A D | rv770.c | 910 if (rdev->gart.robj == NULL) { in rv770_pcie_gart_enable() 939 WREG32(VM_CONTEXT0_PAGE_TABLE_BASE_ADDR, rdev->gart.table_addr >> 12); in rv770_pcie_gart_enable() 950 (unsigned long long)rdev->gart.table_addr); in rv770_pcie_gart_enable() 951 rdev->gart.ready = true; in rv770_pcie_gart_enable()
|
A D | r100.c | 655 if (rdev->gart.ptr) { in r100_pci_gart_init() 663 rdev->gart.table_size = rdev->gart.num_gpu_pages * 4; in r100_pci_gart_init() 664 rdev->asic->gart.tlb_flush = &r100_pci_gart_tlb_flush; in r100_pci_gart_init() 665 rdev->asic->gart.get_page_entry = &r100_pci_gart_get_page_entry; in r100_pci_gart_init() 666 rdev->asic->gart.set_page = &r100_pci_gart_set_page; in r100_pci_gart_init() 681 WREG32(RADEON_AIC_PT_BASE, rdev->gart.table_addr); in r100_pci_gart_enable() 687 (unsigned long long)rdev->gart.table_addr); in r100_pci_gart_enable() 688 rdev->gart.ready = true; in r100_pci_gart_enable() 711 u32 *gtt = rdev->gart.ptr; in r100_pci_gart_set_page()
|
A D | radeon_ttm.c | 867 if (p >= rdev->gart.num_cpu_pages) in radeon_ttm_gtt_read() 870 page = rdev->gart.pages[p]; in radeon_ttm_gtt_read()
|
A D | ni.c | 1265 if (rdev->gart.robj == NULL) { in cayman_pcie_gart_enable() 1294 WREG32(VM_CONTEXT0_PAGE_TABLE_BASE_ADDR, rdev->gart.table_addr >> 12); in cayman_pcie_gart_enable() 1340 (unsigned long long)rdev->gart.table_addr); in cayman_pcie_gart_enable() 1341 rdev->gart.ready = true; in cayman_pcie_gart_enable()
|
/linux-6.3-rc2/drivers/gpu/drm/amd/amdgpu/ |
A D | amdgpu_gart.c | 117 if (adev->gart.bo != NULL) in amdgpu_gart_table_vram_alloc() 121 AMDGPU_GEM_DOMAIN_VRAM, &adev->gart.bo, in amdgpu_gart_table_vram_alloc() 122 NULL, (void *)&adev->gart.ptr); in amdgpu_gart_table_vram_alloc() 136 amdgpu_bo_free_kernel(&adev->gart.bo, NULL, (void *)&adev->gart.ptr); in amdgpu_gart_table_vram_free() 164 if (!adev->gart.ptr) in amdgpu_gart_unbind() 174 if (!adev->gart.ptr) in amdgpu_gart_unbind() 178 amdgpu_gmc_set_pte_pde(adev, adev->gart.ptr, in amdgpu_gart_unbind() 244 if (!adev->gart.ptr) in amdgpu_gart_bind() 262 if (!adev->gart.ptr) in amdgpu_gart_invalidate_tlb() 295 adev->gart.num_cpu_pages = adev->gmc.gart_size / PAGE_SIZE; in amdgpu_gart_init() [all …]
|
A D | gmc_v6_0.c | 468 if (adev->gart.bo == NULL) { in gmc_v6_0_gart_enable() 474 table_addr = amdgpu_bo_gpu_offset(adev->gart.bo); in gmc_v6_0_gart_enable() 559 if (adev->gart.bo) { in gmc_v6_0_gart_init() 566 adev->gart.table_size = adev->gart.num_gpu_pages * 8; in gmc_v6_0_gart_init() 567 adev->gart.gart_pte_flags = 0; in gmc_v6_0_gart_init()
|
A D | gmc_v10_0.c | 393 job->vm_pd_addr = amdgpu_gmc_pd_addr(adev->gart.bo); in gmc_v10_0_flush_gpu_tlb() 879 if (adev->gart.bo) { in gmc_v10_0_gart_init() 889 adev->gart.table_size = adev->gart.num_gpu_pages * 8; in gmc_v10_0_gart_init() 890 adev->gart.gart_pte_flags = AMDGPU_PTE_MTYPE_NV10(MTYPE_UC) | in gmc_v10_0_gart_init() 1068 if (adev->gart.bo == NULL) { in gmc_v10_0_gart_enable() 1102 (unsigned long long)amdgpu_bo_gpu_offset(adev->gart.bo)); in gmc_v10_0_gart_enable()
|
A D | gmc_v11_0.c | 737 if (adev->gart.bo) { in gmc_v11_0_gart_init() 747 adev->gart.table_size = adev->gart.num_gpu_pages * 8; in gmc_v11_0_gart_init() 748 adev->gart.gart_pte_flags = AMDGPU_PTE_MTYPE_NV10(MTYPE_UC) | in gmc_v11_0_gart_init() 890 if (adev->gart.bo == NULL) { in gmc_v11_0_gart_enable() 912 (unsigned long long)amdgpu_bo_gpu_offset(adev->gart.bo)); in gmc_v11_0_gart_enable()
|
A D | gmc_v7_0.c | 611 if (adev->gart.bo == NULL) { in gmc_v7_0_gart_enable() 616 table_addr = amdgpu_bo_gpu_offset(adev->gart.bo); in gmc_v7_0_gart_enable() 711 if (adev->gart.bo) { in gmc_v7_0_gart_init() 719 adev->gart.table_size = adev->gart.num_gpu_pages * 8; in gmc_v7_0_gart_init() 720 adev->gart.gart_pte_flags = 0; in gmc_v7_0_gart_init()
|
A D | gmc_v8_0.c | 834 if (adev->gart.bo == NULL) { in gmc_v8_0_gart_enable() 839 table_addr = amdgpu_bo_gpu_offset(adev->gart.bo); in gmc_v8_0_gart_enable() 951 if (adev->gart.bo) { in gmc_v8_0_gart_init() 959 adev->gart.table_size = adev->gart.num_gpu_pages * 8; in gmc_v8_0_gart_init() 960 adev->gart.gart_pte_flags = AMDGPU_PTE_EXECUTABLE; in gmc_v8_0_gart_init()
|
A D | gmc_v9_0.c | 1592 if (adev->gart.bo) { in gmc_v9_0_gart_init() 1609 adev->gart.table_size = adev->gart.num_gpu_pages * 8; in gmc_v9_0_gart_init() 1610 adev->gart.gart_pte_flags = AMDGPU_PTE_MTYPE_VG10(MTYPE_UC) | in gmc_v9_0_gart_init() 1875 if (adev->gart.bo == NULL) { in gmc_v9_0_gart_enable() 1898 (unsigned long long)amdgpu_bo_gpu_offset(adev->gart.bo)); in gmc_v9_0_gart_enable()
|
A D | amdgpu_gmc.c | 717 uint64_t flags = adev->gart.gart_pte_flags; //TODO it is UC. explore NC/RW? in amdgpu_gmc_init_pdb0() 725 u64 gart_ptb_gpu_pa = amdgpu_gmc_vram_pa(adev, adev->gart.bo); in amdgpu_gmc_init_pdb0()
|
/linux-6.3-rc2/include/soc/tegra/ |
A D | mc.h | 118 int tegra_gart_suspend(struct gart_device *gart); 119 int tegra_gart_resume(struct gart_device *gart); 127 static inline int tegra_gart_suspend(struct gart_device *gart) in tegra_gart_suspend() argument 132 static inline int tegra_gart_resume(struct gart_device *gart) in tegra_gart_resume() argument 219 struct gart_device *gart; member
|
/linux-6.3-rc2/drivers/gpu/drm/nouveau/ |
A D | nouveau_chan.h | 28 struct nvif_object gart; member 65 u32 vram, u32 gart, struct nouveau_channel **);
|
A D | nouveau_chan.c | 94 nvif_object_dtor(&chan->gart); in nouveau_channel_del() 358 nouveau_channel_init(struct nouveau_channel *chan, u32 vram, u32 gart) in nouveau_channel_init() argument 429 ret = nvif_object_ctor(&chan->user, "abi16ChanGartCtxDma", gart, in nouveau_channel_init() 431 &chan->gart); in nouveau_channel_init() 489 bool priv, u64 runm, u32 vram, u32 gart, struct nouveau_channel **pchan) in nouveau_channel_new() argument 500 ret = nouveau_channel_init(*pchan, vram, gart); in nouveau_channel_new()
|
/linux-6.3-rc2/Documentation/devicetree/bindings/memory-controllers/ |
A D | nvidia,tegra20-mc.yaml | 27 const: nvidia,tegra20-mc-gart 68 compatible = "nvidia,tegra20-mc-gart";
|
/linux-6.3-rc2/drivers/memory/tegra/ |
A D | tegra20.c | 694 if (IS_ENABLED(CONFIG_TEGRA_IOMMU_GART) && mc->gart) { in tegra20_mc_suspend() 695 err = tegra_gart_suspend(mc->gart); in tegra20_mc_suspend() 707 if (IS_ENABLED(CONFIG_TEGRA_IOMMU_GART) && mc->gart) { in tegra20_mc_resume() 708 err = tegra_gart_resume(mc->gart); in tegra20_mc_resume()
|
A D | mc.c | 924 mc->gart = tegra_gart_probe(&pdev->dev, mc); in tegra_mc_probe() 925 if (IS_ERR(mc->gart)) { in tegra_mc_probe() 927 PTR_ERR(mc->gart)); in tegra_mc_probe() 928 mc->gart = NULL; in tegra_mc_probe()
|