Alex Deucher
76a5b36776
drm/amdgpu/gmc: add initial xgmi structure to amdgpu_gmc structure
...
Initial pass at a structure to store xgmi info. xgmi is a high
speed cross gpu interconnect.
Acked-by: Huang Rui <ray.huang@amd.com >
Acked-by: Slava Abramov <slava.abramov@amd.com >
Reviewed-by :Shaoyun liu <Shaoyun.liu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Shaoyun Liu <Shaoyun.Liu@amd.com >
2018-09-10 22:46:01 -05:00
Christian König
485fc361d3
drm/amdgpu: use the AGP aperture for system memory access v2
...
Start to use the old AGP aperture for system memory access.
v2: Move that to amdgpu_ttm_alloc_gart
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-09-10 22:41:39 -05:00
Christian König
d76364fc7f
drm/amdgpu: add amdgpu_gmc_agp_location v3
...
Helper to figure out the location of the AGP BAR.
v2: fix a couple of bugs
v3: correctly add one to vram_end
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-09-10 22:41:32 -05:00
Christian König
ad9a5b78f5
drm/amdgpu: correctly sign extend 48bit addresses v3
...
Correct sign extend the GMC addresses to 48bit.
v2: sign extending turned out easier than thought.
v3: clean up the defines and move them into amdgpu_gmc.h as well
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-09-10 22:41:24 -05:00
Christian König
961c75cf20
drm/amdgpu: move amdgpu_device_(vram|gtt)_location
...
Move that into amdgpu_gmc.c since we are really deadling with GMC
address space here.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-08-29 12:35:18 -05:00
Christian König
24a8d289d5
drm/amdgpu: add amdgpu_gmc_get_pde_for_bo helper v2
...
Helper to get the PDE for a PD/PT.
v2: improve documentation
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com >
Reviewed-by: Huang Rui <ray.huang@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-08-27 15:19:42 -05:00
Christian König
11c3a249ff
drm/amdgpu: add amdgpu_gmc_pd_addr helper
...
Add a helper to get the root PD address and remove the workarounds from
the GMC9 code for that.
Signed-off-by: Christian König <christian.koenig@amd.com >
Acked-by: Felix Kuehling <Felix.Kuehling@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-08-27 11:11:19 -05:00
Huang Rui
c082b99878
drm/amdgpu: move gmc macros into amdgpu_gmc header
...
Demangle amdgpu.h.
Signed-off-by: Huang Rui <ray.huang@amd.com >
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-08-27 11:10:04 -05:00
shaoyunl
b97dfa27ef
drm/amdgpu: save vm fault information for amdkfd
...
amdgpu save the vm fault related information for KFD usage and keep the
copy until KFD read it.
Signed-off-by: shaoyun liu <shaoyun.liu@amd.com >
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com >
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com >
2018-07-11 22:32:49 -04:00
Andrey Grodzovsky
c8c5e569c5
drm/amdgpu: Consolidate visible vs. real vram check v2.
...
Move all instnaces of this check into a function in amdgpu_gmc.h
Rename the original function to a more proper name.
v2:
Add more places to cleanup.
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-06-15 12:20:44 -05:00
Christian König
c633c00bf0
drm/amdgpu: separate PASID mapping from VM flush v2
...
Stuffing the PASID mapping into the VM flush isn't flexible enough since
the PASID mapping changes not as often as we need a VM flush.
v2: add missing use of gmc_v7_0_emit_pasid_mapping
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-02-19 14:20:18 -05:00
Christian König
9096d6e51a
drm/amdgpu: implement gmc_v9_0_emit_flush_gpu_tlb
...
Unify tlb flushing for gmc v9.
Signed-off-by: Christian König <christian.koenig@amd.com >
Acked-by: Chunming Zhou <david1.zhou@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-02-19 14:18:09 -05:00
Christian König
7ef11047c1
drm/amdgpu: add new amdgpu_gmc_emit_flush_gpu_tlb callback
...
Add a new GMC function to unify vm flushing.
Signed-off-by: Christian König <christian.koenig@amd.com >
Acked-by: Chunming Zhou <david1.zhou@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-02-19 14:18:07 -05:00
Christian König
132f34e4b5
drm/amdgpu: move struct gart_funcs into amdgpu_gmc.h
...
And rename it to struct gmc_funcs.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Samuel Li <Samuel.Li@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-02-19 14:17:44 -05:00
Christian König
770d13b19f
drm/amdgpu: move struct amdgpu_mc into amdgpu_gmc.h
...
And rename it to amdgpu_gmc as well.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Samuel Li <Samuel.Li@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2018-02-19 14:17:43 -05:00