aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu.h
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2017-07-06 16:02:41 -0400
committerAlex Deucher <alexander.deucher@amd.com>2017-07-14 11:06:28 -0400
commit3490bdb537fbf94a7a57f6c353a39e6306a9cfbd (patch)
treeb37f2b873d055cde62893d0972adda74d0e2686b /drivers/gpu/drm/amd/amdgpu/amdgpu.h
parent70d17a25da21e1d497db3580ae27682952ddfd98 (diff)
drm/amdgpu: move GART struct and function into amdgpu_gart.h v2
No functional change, just cleanup. v2: rebased, keep gart name. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu.h')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu.h48
1 files changed, 1 insertions, 47 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
index 1bb1912f863c..9c1146228421 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
@@ -68,6 +68,7 @@
68 68
69#include "gpu_scheduler.h" 69#include "gpu_scheduler.h"
70#include "amdgpu_virt.h" 70#include "amdgpu_virt.h"
71#include "amdgpu_gart.h"
71 72
72/* 73/*
73 * Modules parameters. 74 * Modules parameters.
@@ -532,53 +533,6 @@ int amdgpu_fence_slab_init(void);
532void amdgpu_fence_slab_fini(void); 533void amdgpu_fence_slab_fini(void);
533 534
534/* 535/*
535 * GART structures, functions & helpers
536 */
537struct amdgpu_mc;
538
539#define AMDGPU_GPU_PAGE_SIZE 4096
540#define AMDGPU_GPU_PAGE_MASK (AMDGPU_GPU_PAGE_SIZE - 1)
541#define AMDGPU_GPU_PAGE_SHIFT 12
542#define AMDGPU_GPU_PAGE_ALIGN(a) (((a) + AMDGPU_GPU_PAGE_MASK) & ~AMDGPU_GPU_PAGE_MASK)
543
544struct amdgpu_gart {
545 dma_addr_t table_addr;
546 struct amdgpu_bo *robj;
547 void *ptr;
548 unsigned num_gpu_pages;
549 unsigned num_cpu_pages;
550 unsigned table_size;
551#ifdef CONFIG_DRM_AMDGPU_GART_DEBUGFS
552 struct page **pages;
553#endif
554 bool ready;
555
556 /* Asic default pte flags */
557 uint64_t gart_pte_flags;
558
559 const struct amdgpu_gart_funcs *gart_funcs;
560};
561
562void amdgpu_gart_set_defaults(struct amdgpu_device *adev);
563int amdgpu_gart_table_ram_alloc(struct amdgpu_device *adev);
564void amdgpu_gart_table_ram_free(struct amdgpu_device *adev);
565int amdgpu_gart_table_vram_alloc(struct amdgpu_device *adev);
566void amdgpu_gart_table_vram_free(struct amdgpu_device *adev);
567int amdgpu_gart_table_vram_pin(struct amdgpu_device *adev);
568void amdgpu_gart_table_vram_unpin(struct amdgpu_device *adev);
569int amdgpu_gart_init(struct amdgpu_device *adev);
570void amdgpu_gart_fini(struct amdgpu_device *adev);
571int amdgpu_gart_unbind(struct amdgpu_device *adev, uint64_t offset,
572 int pages);
573int amdgpu_gart_map(struct amdgpu_device *adev, uint64_t offset,
574 int pages, dma_addr_t *dma_addr, uint64_t flags,
575 void *dst);
576int amdgpu_gart_bind(struct amdgpu_device *adev, uint64_t offset,
577 int pages, struct page **pagelist,
578 dma_addr_t *dma_addr, uint64_t flags);
579int amdgpu_ttm_recover_gart(struct amdgpu_device *adev);
580
581/*
582 * VMHUB structures, functions & helpers 536 * VMHUB structures, functions & helpers
583 */ 537 */
584struct amdgpu_vmhub { 538struct amdgpu_vmhub {