Home
last modified time | relevance | path

Searched refs:gart (Results 1 – 25 of 53) sorted by relevance

123

/openbmc/linux/drivers/iommu/
H A Dtegra-gart.c58 #define FLUSH_GART_REGS(gart) readl_relaxed((gart)->regs + GART_CONFIG) argument
60 #define for_each_gart_pte(gart, iova) \ argument
61 for (iova = gart->iovmm_base; \
62 iova < gart->iovmm_end; \
65 static inline void gart_set_pte(struct gart_device *gart, in gart_set_pte() argument
68 writel_relaxed(iova, gart->regs + GART_ENTRY_ADDR); in gart_set_pte()
69 writel_relaxed(pte, gart->regs + GART_ENTRY_DATA); in gart_set_pte()
72 static inline unsigned long gart_read_pte(struct gart_device *gart, in gart_read_pte() argument
77 writel_relaxed(iova, gart->regs + GART_ENTRY_ADDR); in gart_read_pte()
78 pte = readl_relaxed(gart->regs + GART_ENTRY_DATA); in gart_read_pte()
[all …]
H A DMakefile23 obj-$(CONFIG_TEGRA_IOMMU_GART) += tegra-gart.o
/openbmc/linux/drivers/gpu/drm/radeon/
H A Dradeon_gart.c75 ptr = dma_alloc_coherent(&rdev->pdev->dev, rdev->gart.table_size, in radeon_gart_table_ram_alloc()
76 &rdev->gart.table_addr, GFP_KERNEL); in radeon_gart_table_ram_alloc()
84 rdev->gart.table_size >> PAGE_SHIFT); in radeon_gart_table_ram_alloc()
87 rdev->gart.ptr = ptr; in radeon_gart_table_ram_alloc()
102 if (!rdev->gart.ptr) in radeon_gart_table_ram_free()
108 set_memory_wb((unsigned long)rdev->gart.ptr, in radeon_gart_table_ram_free()
109 rdev->gart.table_size >> PAGE_SHIFT); in radeon_gart_table_ram_free()
112 dma_free_coherent(&rdev->pdev->dev, rdev->gart.table_size, in radeon_gart_table_ram_free()
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()
[all …]
H A Drs400.c84 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()
H A Dradeon_asic.c166 rdev->asic->gart.tlb_flush = &rv370_pcie_gart_tlb_flush; in radeon_agp_disable()
167 rdev->asic->gart.get_page_entry = &rv370_pcie_gart_get_page_entry; in radeon_agp_disable()
168 rdev->asic->gart.set_page = &rv370_pcie_gart_set_page; in radeon_agp_disable()
172 rdev->asic->gart.tlb_flush = &r100_pci_gart_tlb_flush; in radeon_agp_disable()
173 rdev->asic->gart.get_page_entry = &r100_pci_gart_get_page_entry; in radeon_agp_disable()
174 rdev->asic->gart.set_page = &r100_pci_gart_set_page; in radeon_agp_disable()
208 .gart = {
276 .gart = {
372 .gart = {
440 .gart = {
[all …]
H A Dr300.c121 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()
H A Drs600.c550 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()
H A Dr100.c655 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()
H A Drv770.c899 if (rdev->gart.robj == NULL) { in rv770_pcie_gart_enable()
928 WREG32(VM_CONTEXT0_PAGE_TABLE_BASE_ADDR, rdev->gart.table_addr >> 12); in rv770_pcie_gart_enable()
939 (unsigned long long)rdev->gart.table_addr); in rv770_pcie_gart_enable()
940 rdev->gart.ready = true; in rv770_pcie_gart_enable()
H A Dradeon_ttm.c863 if (p >= rdev->gart.num_cpu_pages) in radeon_ttm_gtt_read()
866 page = rdev->gart.pages[p]; in radeon_ttm_gtt_read()
H A Dni.c1265 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()
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/
H A Damdgpu_gart.c118 unsigned int order = get_order(adev->gart.table_size); in amdgpu_gart_table_ram_alloc()
127 if (adev->gart.bo != NULL) in amdgpu_gart_table_ram_alloc()
138 dma_addr = dma_map_page(&adev->pdev->dev, p, 0, adev->gart.table_size, in amdgpu_gart_table_ram_alloc()
159 sg->sgl->length = adev->gart.table_size; in amdgpu_gart_table_ram_alloc()
161 sg->sgl->dma_length = adev->gart.table_size; in amdgpu_gart_table_ram_alloc()
165 bp.size = adev->gart.table_size; in amdgpu_gart_table_ram_alloc()
192 adev->gart.bo = bo; in amdgpu_gart_table_ram_alloc()
193 adev->gart.ptr = page_to_virt(p); in amdgpu_gart_table_ram_alloc()
195 ret = amdgpu_ttm_alloc_gart(&adev->gart.bo->tbo); in amdgpu_gart_table_ram_alloc()
224 unsigned int order = get_order(adev->gart.table_size); in amdgpu_gart_table_ram_free()
[all …]
H A Dgmc_v6_0.c467 if (adev->gart.bo == NULL) { in gmc_v6_0_gart_enable()
473 table_addr = amdgpu_bo_gpu_offset(adev->gart.bo); in gmc_v6_0_gart_enable()
558 if (adev->gart.bo) { in gmc_v6_0_gart_init()
565 adev->gart.table_size = adev->gart.num_gpu_pages * 8; in gmc_v6_0_gart_init()
566 adev->gart.gart_pte_flags = 0; in gmc_v6_0_gart_init()
H A Dgmc_v10_0.c386 job->vm_pd_addr = amdgpu_gmc_pd_addr(adev->gart.bo); in gmc_v10_0_flush_gpu_tlb()
852 if (adev->gart.bo) { in gmc_v10_0_gart_init()
862 adev->gart.table_size = adev->gart.num_gpu_pages * 8; in gmc_v10_0_gart_init()
863 adev->gart.gart_pte_flags = AMDGPU_PTE_MTYPE_NV10(MTYPE_UC) | in gmc_v10_0_gart_init()
1046 if (adev->gart.bo == NULL) { in gmc_v10_0_gart_enable()
1080 (unsigned long long)amdgpu_bo_gpu_offset(adev->gart.bo)); in gmc_v10_0_gart_enable()
H A Dgmc_v11_0.c745 if (adev->gart.bo) { in gmc_v11_0_gart_init()
755 adev->gart.table_size = adev->gart.num_gpu_pages * 8; in gmc_v11_0_gart_init()
756 adev->gart.gart_pte_flags = AMDGPU_PTE_MTYPE_NV10(MTYPE_UC) | in gmc_v11_0_gart_init()
909 if (adev->gart.bo == NULL) { in gmc_v11_0_gart_enable()
931 (unsigned long long)amdgpu_bo_gpu_offset(adev->gart.bo)); in gmc_v11_0_gart_enable()
H A Dgmc_v7_0.c611 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()
H A Dgmc_v8_0.c826 if (adev->gart.bo == NULL) { in gmc_v8_0_gart_enable()
831 table_addr = amdgpu_bo_gpu_offset(adev->gart.bo); in gmc_v8_0_gart_enable()
943 if (adev->gart.bo) { in gmc_v8_0_gart_init()
951 adev->gart.table_size = adev->gart.num_gpu_pages * 8; in gmc_v8_0_gart_init()
952 adev->gart.gart_pte_flags = AMDGPU_PTE_EXECUTABLE; in gmc_v8_0_gart_init()
H A Dgmc_v9_0.c1781 if (adev->gart.bo) { in gmc_v9_0_gart_init()
1798 adev->gart.table_size = adev->gart.num_gpu_pages * 8; in gmc_v9_0_gart_init()
1799 adev->gart.gart_pte_flags = AMDGPU_PTE_MTYPE_VG10(MTYPE_UC) | in gmc_v9_0_gart_init()
2299 if (adev->gart.bo == NULL) { in gmc_v9_0_gart_enable()
2322 (unsigned long long)amdgpu_bo_gpu_offset(adev->gart.bo)); in gmc_v9_0_gart_enable()
H A Damdgpu_gmc.c776 uint64_t flags = adev->gart.gart_pte_flags; //TODO it is UC. explore NC/RW? in amdgpu_gmc_init_pdb0()
784 u64 gart_ptb_gpu_pa = amdgpu_gmc_vram_pa(adev, adev->gart.bo); in amdgpu_gmc_init_pdb0()
/openbmc/linux/include/soc/tegra/
H A Dmc.h121 int tegra_gart_suspend(struct gart_device *gart);
122 int tegra_gart_resume(struct gart_device *gart);
130 static inline int tegra_gart_suspend(struct gart_device *gart) in tegra_gart_suspend() argument
135 static inline int tegra_gart_resume(struct gart_device *gart) in tegra_gart_resume() argument
228 struct gart_device *gart; member
/openbmc/linux/drivers/gpu/drm/nouveau/
H A Dnouveau_chan.h29 struct nvif_object gart; member
67 u32 vram, u32 gart, struct nouveau_channel **);
H A Dnouveau_chan.c103 nvif_object_dtor(&chan->gart); in nouveau_channel_del()
366 nouveau_channel_init(struct nouveau_channel *chan, u32 vram, u32 gart) in nouveau_channel_init() argument
437 ret = nvif_object_ctor(&chan->user, "abi16ChanGartCtxDma", gart, in nouveau_channel_init()
439 &chan->gart); in nouveau_channel_init()
499 bool priv, u64 runm, u32 vram, u32 gart, struct nouveau_channel **pchan) in nouveau_channel_new() argument
509 ret = nouveau_channel_init(*pchan, vram, gart); in nouveau_channel_new()
/openbmc/linux/drivers/memory/tegra/
H A Dtegra20.c695 if (IS_ENABLED(CONFIG_TEGRA_IOMMU_GART) && mc->gart) { in tegra20_mc_suspend()
696 err = tegra_gart_suspend(mc->gart); in tegra20_mc_suspend()
708 if (IS_ENABLED(CONFIG_TEGRA_IOMMU_GART) && mc->gart) { in tegra20_mc_resume()
709 err = tegra_gart_resume(mc->gart); in tegra20_mc_resume()
H A Dmc.c983 mc->gart = tegra_gart_probe(&pdev->dev, mc); in tegra_mc_probe()
984 if (IS_ERR(mc->gart)) { in tegra_mc_probe()
986 PTR_ERR(mc->gart)); in tegra_mc_probe()
987 mc->gart = NULL; in tegra_mc_probe()
/openbmc/linux/drivers/gpu/drm/amd/amdkfd/
H A Dkfd_migrate.c78 dst_addr = amdgpu_bo_gpu_offset(adev->gart.bo); in svm_migrate_gart_map()
89 pte_flags |= adev->gart.gart_pte_flags; in svm_migrate_gart_map()

123