Commit 43251981 authored by Christian König's avatar Christian König Committed by Alex Deucher

drm/amdgpu: remove GART page addr array

Not needed any more.
Signed-off-by: default avatarChristian König <christian.koenig@amd.com>
Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 8358dcee
...@@ -612,7 +612,6 @@ struct amdgpu_gart { ...@@ -612,7 +612,6 @@ struct amdgpu_gart {
unsigned num_cpu_pages; unsigned num_cpu_pages;
unsigned table_size; unsigned table_size;
struct page **pages; struct page **pages;
dma_addr_t *pages_addr;
bool ready; bool ready;
const struct amdgpu_gart_funcs *gart_funcs; const struct amdgpu_gart_funcs *gart_funcs;
}; };
......
...@@ -240,8 +240,7 @@ void amdgpu_gart_unbind(struct amdgpu_device *adev, unsigned offset, ...@@ -240,8 +240,7 @@ void amdgpu_gart_unbind(struct amdgpu_device *adev, unsigned offset,
for (i = 0; i < pages; i++, p++) { for (i = 0; i < pages; i++, p++) {
if (adev->gart.pages[p]) { if (adev->gart.pages[p]) {
adev->gart.pages[p] = NULL; adev->gart.pages[p] = NULL;
adev->gart.pages_addr[p] = adev->dummy_page.addr; page_base = adev->dummy_page.addr;
page_base = adev->gart.pages_addr[p];
if (!adev->gart.ptr) if (!adev->gart.ptr)
continue; continue;
...@@ -287,10 +286,9 @@ int amdgpu_gart_bind(struct amdgpu_device *adev, unsigned offset, ...@@ -287,10 +286,9 @@ int amdgpu_gart_bind(struct amdgpu_device *adev, unsigned offset,
p = t / (PAGE_SIZE / AMDGPU_GPU_PAGE_SIZE); p = t / (PAGE_SIZE / AMDGPU_GPU_PAGE_SIZE);
for (i = 0; i < pages; i++, p++) { for (i = 0; i < pages; i++, p++) {
adev->gart.pages_addr[p] = dma_addr[i];
adev->gart.pages[p] = pagelist[i]; adev->gart.pages[p] = pagelist[i];
if (adev->gart.ptr) { if (adev->gart.ptr) {
page_base = adev->gart.pages_addr[p]; page_base = dma_addr[i];
for (j = 0; j < (PAGE_SIZE / AMDGPU_GPU_PAGE_SIZE); j++, t++) { for (j = 0; j < (PAGE_SIZE / AMDGPU_GPU_PAGE_SIZE); j++, t++) {
amdgpu_gart_set_pte_pde(adev, adev->gart.ptr, t, page_base, flags); amdgpu_gart_set_pte_pde(adev, adev->gart.ptr, t, page_base, flags);
page_base += AMDGPU_GPU_PAGE_SIZE; page_base += AMDGPU_GPU_PAGE_SIZE;
...@@ -312,7 +310,7 @@ int amdgpu_gart_bind(struct amdgpu_device *adev, unsigned offset, ...@@ -312,7 +310,7 @@ int amdgpu_gart_bind(struct amdgpu_device *adev, unsigned offset,
*/ */
int amdgpu_gart_init(struct amdgpu_device *adev) int amdgpu_gart_init(struct amdgpu_device *adev)
{ {
int r, i; int r;
if (adev->gart.pages) { if (adev->gart.pages) {
return 0; return 0;
...@@ -336,16 +334,6 @@ int amdgpu_gart_init(struct amdgpu_device *adev) ...@@ -336,16 +334,6 @@ int amdgpu_gart_init(struct amdgpu_device *adev)
amdgpu_gart_fini(adev); amdgpu_gart_fini(adev);
return -ENOMEM; return -ENOMEM;
} }
adev->gart.pages_addr = vzalloc(sizeof(dma_addr_t) *
adev->gart.num_cpu_pages);
if (adev->gart.pages_addr == NULL) {
amdgpu_gart_fini(adev);
return -ENOMEM;
}
/* set GART entry to point to the dummy page by default */
for (i = 0; i < adev->gart.num_cpu_pages; i++) {
adev->gart.pages_addr[i] = adev->dummy_page.addr;
}
return 0; return 0;
} }
...@@ -358,15 +346,13 @@ int amdgpu_gart_init(struct amdgpu_device *adev) ...@@ -358,15 +346,13 @@ int amdgpu_gart_init(struct amdgpu_device *adev)
*/ */
void amdgpu_gart_fini(struct amdgpu_device *adev) void amdgpu_gart_fini(struct amdgpu_device *adev)
{ {
if (adev->gart.pages && adev->gart.pages_addr && adev->gart.ready) { if (adev->gart.pages && adev->gart.ready) {
/* unbind pages */ /* unbind pages */
amdgpu_gart_unbind(adev, 0, adev->gart.num_cpu_pages); amdgpu_gart_unbind(adev, 0, adev->gart.num_cpu_pages);
} }
adev->gart.ready = false; adev->gart.ready = false;
vfree(adev->gart.pages); vfree(adev->gart.pages);
vfree(adev->gart.pages_addr);
adev->gart.pages = NULL; adev->gart.pages = NULL;
adev->gart.pages_addr = NULL;
amdgpu_dummy_page_fini(adev); amdgpu_dummy_page_fini(adev);
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment