Home
last modified time | relevance | path

Searched refs:gart (Results 1 - 25 of 100) sorted by relevance

1234

/kernel/linux/linux-5.10/drivers/iommu/
H A Dtegra-gart.c10 #define dev_fmt(fmt) "gart: " fmt
58 #define FLUSH_GART_REGS(gart) readl_relaxed((gart)->regs + GART_CONFIG)
60 #define for_each_gart_pte(gart, iova) \
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
83 do_gart_setup(struct gart_device *gart, const u32 *data) do_gart_setup() argument
94 gart_iova_range_invalid(struct gart_device *gart, unsigned long iova, size_t bytes) gart_iova_range_invalid() argument
101 gart_pte_valid(struct gart_device *gart, unsigned long iova) gart_pte_valid() argument
109 struct gart_device *gart = gart_handle; gart_iommu_attach_dev() local
130 struct gart_device *gart = gart_handle; gart_iommu_detach_dev() local
167 __gart_iommu_map(struct gart_device *gart, unsigned long iova, unsigned long pa) __gart_iommu_map() argument
183 struct gart_device *gart = gart_handle; gart_iommu_map() local
196 __gart_iommu_unmap(struct gart_device *gart, unsigned long iova) __gart_iommu_unmap() argument
212 struct gart_device *gart = gart_handle; gart_iommu_unmap() local
228 struct gart_device *gart = gart_handle; gart_iommu_iova_to_phys() local
293 tegra_gart_suspend(struct gart_device *gart) tegra_gart_suspend() argument
312 tegra_gart_resume(struct gart_device *gart) tegra_gart_resume() argument
321 struct gart_device *gart; tegra_gart_probe() local
[all...]
/kernel/linux/linux-6.6/drivers/iommu/
H A Dtegra-gart.c10 #define dev_fmt(fmt) "gart: " fmt
58 #define FLUSH_GART_REGS(gart) readl_relaxed((gart)->regs + GART_CONFIG)
60 #define for_each_gart_pte(gart, iova) \
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
83 do_gart_setup(struct gart_device *gart, const u32 *data) do_gart_setup() argument
94 gart_iova_range_invalid(struct gart_device *gart, unsigned long iova, size_t bytes) gart_iova_range_invalid() argument
101 gart_pte_valid(struct gart_device *gart, unsigned long iova) gart_pte_valid() argument
109 struct gart_device *gart = gart_handle; gart_iommu_attach_dev() local
130 struct gart_device *gart = gart_handle; gart_iommu_set_platform_dma() local
167 __gart_iommu_map(struct gart_device *gart, unsigned long iova, unsigned long pa) __gart_iommu_map() argument
183 struct gart_device *gart = gart_handle; gart_iommu_map() local
196 __gart_iommu_unmap(struct gart_device *gart, unsigned long iova) __gart_iommu_unmap() argument
212 struct gart_device *gart = gart_handle; gart_iommu_unmap() local
228 struct gart_device *gart = gart_handle; gart_iommu_iova_to_phys() local
287 tegra_gart_suspend(struct gart_device *gart) tegra_gart_suspend() argument
306 tegra_gart_resume(struct gart_device *gart) tegra_gart_resume() argument
315 struct gart_device *gart; tegra_gart_probe() local
[all...]
/kernel/linux/linux-5.10/drivers/gpu/drm/radeon/
H A Dradeon_gart.c62 * radeon_gart_table_ram_alloc - allocate system ram for gart page table
68 * gart table to be in system memory.
75 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()
92 * radeon_gart_table_ram_free - free system ram for gart page table
98 * gart table to be in system memory.
102 if (rdev->gart.ptr == NULL) { in radeon_gart_table_ram_free()
108 set_memory_wb((unsigned long)rdev->gart in radeon_gart_table_ram_free()
[all...]
H A Drs400.c45 /* Check gart size */ in rs400_gart_adjust_size()
85 if (rdev->gart.ptr) { in rs400_gart_init()
89 /* Check gart size */ in rs400_gart_init()
102 /* Initialize common gart structure */ in rs400_gart_init()
108 rdev->gart.table_size = rdev->gart.num_gpu_pages * 4; in rs400_gart_init()
120 /* Check gart size */ in rs400_gart_enable()
166 tmp = (u32)rdev->gart.table_addr & 0xfffff000; in rs400_gart_enable()
167 tmp |= (upper_32_bits(rdev->gart.table_addr) & 0xff) << 4; in rs400_gart_enable()
189 /* Enable gart */ in rs400_gart_enable()
[all...]
H A Dradeon_asic.c152 * Removes AGP flags and changes the gart callbacks on AGP
153 * cards when using the internal gart rather than AGP (all asics).
167 rdev->asic->gart.tlb_flush = &rv370_pcie_gart_tlb_flush; in radeon_agp_disable()
168 rdev->asic->gart.get_page_entry = &rv370_pcie_gart_get_page_entry; in radeon_agp_disable()
169 rdev->asic->gart.set_page = &rv370_pcie_gart_set_page; in radeon_agp_disable()
173 rdev->asic->gart.tlb_flush = &r100_pci_gart_tlb_flush; in radeon_agp_disable()
174 rdev->asic->gart.get_page_entry = &r100_pci_gart_get_page_entry; in radeon_agp_disable()
175 rdev->asic->gart.set_page = &r100_pci_gart_set_page; in radeon_agp_disable()
209 .gart = {
277 .gart
[all...]
H A Dr300.c123 void __iomem *ptr = rdev->gart.ptr; in rv370_pcie_gart_set_page()
135 if (rdev->gart.robj) { in rv370_pcie_gart_init()
139 /* Initialize common gart structure */ in rv370_pcie_gart_init()
145 DRM_ERROR("Failed to register debugfs file for PCIE gart !\n"); in rv370_pcie_gart_init()
146 rdev->gart.table_size = rdev->gart.num_gpu_pages * 4; in rv370_pcie_gart_init()
147 rdev->asic->gart.tlb_flush = &rv370_pcie_gart_tlb_flush; in rv370_pcie_gart_init()
148 rdev->asic->gart.get_page_entry = &rv370_pcie_gart_get_page_entry; in rv370_pcie_gart_init()
149 rdev->asic->gart.set_page = &rv370_pcie_gart_set_page; in rv370_pcie_gart_init()
159 if (rdev->gart in rv370_pcie_gart_enable()
[all...]
H A Drs600.c543 if (rdev->gart.robj) { in rs600_gart_init()
547 /* Initialize common gart structure */ in rs600_gart_init()
552 rdev->gart.table_size = rdev->gart.num_gpu_pages * 8; in rs600_gart_init()
561 if (rdev->gart.robj == NULL) { in rs600_gart_enable()
598 rdev->gart.table_addr); in rs600_gart_enable()
615 (unsigned long long)rdev->gart.table_addr); in rs600_gart_enable()
616 rdev->gart.ready = true; in rs600_gart_enable()
624 /* FIXME: disable out of gart access */ in rs600_gart_disable()
656 void __iomem *ptr = (void *)rdev->gart in rs600_gart_set_page()
[all...]
/kernel/linux/linux-6.6/drivers/gpu/drm/radeon/
H A Dradeon_gart.c62 * radeon_gart_table_ram_alloc - allocate system ram for gart page table
68 * gart table to be in system memory.
75 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()
92 * radeon_gart_table_ram_free - free system ram for gart page table
98 * gart table to be in system memory.
102 if (!rdev->gart.ptr) in radeon_gart_table_ram_free()
108 set_memory_wb((unsigned long)rdev->gart in radeon_gart_table_ram_free()
[all...]
H A Drs400.c44 /* Check gart size */ in rs400_gart_adjust_size()
84 if (rdev->gart.ptr) { in rs400_gart_init()
88 /* Check gart size */ in rs400_gart_init()
101 /* Initialize common gart structure */ in rs400_gart_init()
106 rdev->gart.table_size = rdev->gart.num_gpu_pages * 4; in rs400_gart_init()
118 /* Check gart size */ in rs400_gart_enable()
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()
187 /* Enable gart */ in rs400_gart_enable()
[all...]
H A Dradeon_asic.c151 * Removes AGP flags and changes the gart callbacks on AGP
152 * cards when using the internal gart rather than AGP (all asics).
166 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
[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()
137 /* Initialize common gart structure */ 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 in rv370_pcie_gart_enable()
[all...]
H A Drs600.c550 if (rdev->gart.robj) { in rs600_gart_init()
554 /* Initialize common gart structure */ 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()
631 /* FIXME: disable out of gart access */ in rs600_gart_disable()
663 void __iomem *ptr = (void *)rdev->gart in rs600_gart_set_page()
[all...]
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/amdgpu/
H A Damdgpu_gart.c68 * This dummy page is used by the driver as a filler for gart entries
105 * amdgpu_gart_table_vram_alloc - allocate vram for gart page table
111 * gart table to be in video memory.
118 if (adev->gart.bo == NULL) { in amdgpu_gart_table_vram_alloc()
122 bp.size = adev->gart.table_size; in amdgpu_gart_table_vram_alloc()
129 r = amdgpu_bo_create(adev, &bp, &adev->gart.bo); in amdgpu_gart_table_vram_alloc()
138 * amdgpu_gart_table_vram_pin - pin gart page table in vram
144 * gart table to be in video memory.
151 r = amdgpu_bo_reserve(adev->gart.bo, false); in amdgpu_gart_table_vram_pin()
154 r = amdgpu_bo_pin(adev->gart in amdgpu_gart_table_vram_pin()
[all...]
H A Dgmc_v10_0.c266 * gmc_v10_0_flush_gpu_tlb - gart tlb flush callback
333 job->vm_pd_addr = amdgpu_gmc_pd_addr(adev->gart.bo); in gmc_v10_0_flush_gpu_tlb()
717 * vram and gart within the GPU's physical address space.
742 /* set the gart size */ in gmc_v10_0_mc_init()
766 if (adev->gart.bo) { in gmc_v10_0_gart_init()
771 /* Initialize common gart structure */ in gmc_v10_0_gart_init()
776 adev->gart.table_size = adev->gart.num_gpu_pages * 8; in gmc_v10_0_gart_init()
777 adev->gart.gart_pte_flags = AMDGPU_PTE_MTYPE_NV10(MTYPE_UC) | in gmc_v10_0_gart_init()
932 * gmc_v10_0_gart_enable - gart enabl
[all...]
H A Dgmc_v6_0.c331 /* set the gart size */ in gmc_v6_0_mc_init()
474 if (adev->gart.bo == NULL) { in gmc_v6_0_gart_enable()
482 table_addr = amdgpu_bo_gpu_offset(adev->gart.bo); in gmc_v6_0_gart_enable()
560 adev->gart.ready = true; in gmc_v6_0_gart_enable()
568 if (adev->gart.bo) { in gmc_v6_0_gart_init()
575 adev->gart.table_size = adev->gart.num_gpu_pages * 8; in gmc_v6_0_gart_init()
576 adev->gart.gart_pte_flags = 0; in gmc_v6_0_gart_init()
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/amdgpu/
H A Damdgpu_gart.c70 * This dummy page is used by the driver as a filler for gart entries
107 * amdgpu_gart_table_ram_alloc - allocate system ram for gart page table
117 unsigned int order = get_order(adev->gart.table_size); in amdgpu_gart_table_ram_alloc()
126 if (adev->gart.bo != NULL) in amdgpu_gart_table_ram_alloc()
137 dma_addr = dma_map_page(&adev->pdev->dev, p, 0, adev->gart.table_size, in amdgpu_gart_table_ram_alloc()
158 sg->sgl->length = adev->gart.table_size; in amdgpu_gart_table_ram_alloc()
160 sg->sgl->dma_length = adev->gart.table_size; in amdgpu_gart_table_ram_alloc()
164 bp.size = adev->gart.table_size; in amdgpu_gart_table_ram_alloc()
191 adev->gart.bo = bo; in amdgpu_gart_table_ram_alloc()
192 adev->gart in amdgpu_gart_table_ram_alloc()
[all...]
H A Dgmc_v10_0.c315 * gmc_v10_0_flush_gpu_tlb - gart tlb flush callback
386 job->vm_pd_addr = amdgpu_gmc_pd_addr(adev->gart.bo); in gmc_v10_0_flush_gpu_tlb()
797 * vram and gart within the GPU's physical address space.
826 /* set the gart size */ in gmc_v10_0_mc_init()
852 if (adev->gart.bo) { in gmc_v10_0_gart_init()
857 /* Initialize common gart structure */ 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()
1037 * gmc_v10_0_gart_enable - gart enabl
[all...]
H A Dgmc_v6_0.c323 /* set the gart size */ in gmc_v6_0_mc_init()
467 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_v11_0.c276 * gmc_v11_0_flush_gpu_tlb - gart tlb flush callback
699 * vram and gart within the GPU's physical address space.
730 /* set the gart size */ in gmc_v11_0_mc_init()
745 if (adev->gart.bo) { in gmc_v11_0_gart_init()
750 /* Initialize common gart structure */ 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()
900 * gmc_v11_0_gart_enable - gart enable
909 if (adev->gart in gmc_v11_0_gart_enable()
[all...]
/kernel/linux/linux-5.10/include/soc/tegra/
H A Dmc.h100 int tegra_gart_suspend(struct gart_device *gart);
101 int tegra_gart_resume(struct gart_device *gart);
109 static inline int tegra_gart_suspend(struct gart_device *gart) in tegra_gart_suspend() argument
114 static inline int tegra_gart_resume(struct gart_device *gart) in tegra_gart_resume() argument
168 struct gart_device *gart; member
/kernel/linux/linux-6.6/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
/kernel/linux/linux-6.6/drivers/gpu/drm/nouveau/
H A Dnouveau_chan.h28 struct nvif_object gart; member
66 u32 vram, u32 gart, struct nouveau_channel **);
H A Dnouveau_chan.c103 nvif_object_dtor(&chan->gart); in nouveau_channel_del()
364 nouveau_channel_init(struct nouveau_channel *chan, u32 vram, u32 gart) in nouveau_channel_init() argument
396 /* allocate dma objects to cover all allowed vram, and gart */ in nouveau_channel_init()
435 ret = nvif_object_ctor(&chan->user, "abi16ChanGartCtxDma", gart, in nouveau_channel_init()
437 &chan->gart); in nouveau_channel_init()
497 bool priv, u64 runm, u32 vram, u32 gart, struct nouveau_channel **pchan) in nouveau_channel_new()
508 ret = nouveau_channel_init(*pchan, vram, gart); in nouveau_channel_new()
496 nouveau_channel_new(struct nouveau_drm *drm, struct nvif_device *device, bool priv, u64 runm, u32 vram, u32 gart, struct nouveau_channel **pchan) nouveau_channel_new() argument
/kernel/linux/linux-5.10/drivers/memory/tegra/
H A Dmc.c24 { .compatible = "nvidia,tegra20-mc-gart", .data = &tegra20_mc_soc },
694 mc->gart = tegra_gart_probe(&pdev->dev, mc); in tegra_mc_probe()
695 if (IS_ERR(mc->gart)) { in tegra_mc_probe()
697 PTR_ERR(mc->gart)); in tegra_mc_probe()
698 mc->gart = NULL; in tegra_mc_probe()
710 if (IS_ENABLED(CONFIG_TEGRA_IOMMU_GART) && mc->gart) { in tegra_mc_suspend()
711 err = tegra_gart_suspend(mc->gart); in tegra_mc_suspend()
724 if (IS_ENABLED(CONFIG_TEGRA_IOMMU_GART) && mc->gart) { in tegra_mc_resume()
725 err = tegra_gart_resume(mc->gart); in tegra_mc_resume()
/kernel/linux/linux-5.10/drivers/gpu/drm/nouveau/
H A Dnouveau_chan.h24 struct nvif_object gart; member

Completed in 20 milliseconds

1234