Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/amdgpu: remove GART page addr array

Not needed any more.

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>

authored by

Christian König and committed by
Alex Deucher
43251981 8358dcee

+4 -19
-1
drivers/gpu/drm/amd/amdgpu/amdgpu.h
··· 612 612 unsigned num_cpu_pages; 613 613 unsigned table_size; 614 614 struct page **pages; 615 - dma_addr_t *pages_addr; 616 615 bool ready; 617 616 const struct amdgpu_gart_funcs *gart_funcs; 618 617 };
+4 -18
drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c
··· 240 240 for (i = 0; i < pages; i++, p++) { 241 241 if (adev->gart.pages[p]) { 242 242 adev->gart.pages[p] = NULL; 243 - adev->gart.pages_addr[p] = adev->dummy_page.addr; 244 - page_base = adev->gart.pages_addr[p]; 243 + page_base = adev->dummy_page.addr; 245 244 if (!adev->gart.ptr) 246 245 continue; 247 246 ··· 286 287 p = t / (PAGE_SIZE / AMDGPU_GPU_PAGE_SIZE); 287 288 288 289 for (i = 0; i < pages; i++, p++) { 289 - adev->gart.pages_addr[p] = dma_addr[i]; 290 290 adev->gart.pages[p] = pagelist[i]; 291 291 if (adev->gart.ptr) { 292 - page_base = adev->gart.pages_addr[p]; 292 + page_base = dma_addr[i]; 293 293 for (j = 0; j < (PAGE_SIZE / AMDGPU_GPU_PAGE_SIZE); j++, t++) { 294 294 amdgpu_gart_set_pte_pde(adev, adev->gart.ptr, t, page_base, flags); 295 295 page_base += AMDGPU_GPU_PAGE_SIZE; ··· 310 312 */ 311 313 int amdgpu_gart_init(struct amdgpu_device *adev) 312 314 { 313 - int r, i; 315 + int r; 314 316 315 317 if (adev->gart.pages) { 316 318 return 0; ··· 334 336 amdgpu_gart_fini(adev); 335 337 return -ENOMEM; 336 338 } 337 - adev->gart.pages_addr = vzalloc(sizeof(dma_addr_t) * 338 - adev->gart.num_cpu_pages); 339 - if (adev->gart.pages_addr == NULL) { 340 - amdgpu_gart_fini(adev); 341 - return -ENOMEM; 342 - } 343 - /* set GART entry to point to the dummy page by default */ 344 - for (i = 0; i < adev->gart.num_cpu_pages; i++) { 345 - adev->gart.pages_addr[i] = adev->dummy_page.addr; 346 - } 347 339 return 0; 348 340 } 349 341 ··· 346 358 */ 347 359 void amdgpu_gart_fini(struct amdgpu_device *adev) 348 360 { 349 - if (adev->gart.pages && adev->gart.pages_addr && adev->gart.ready) { 361 + if (adev->gart.pages && adev->gart.ready) { 350 362 /* unbind pages */ 351 363 amdgpu_gart_unbind(adev, 0, adev->gart.num_cpu_pages); 352 364 } 353 365 adev->gart.ready = false; 354 366 vfree(adev->gart.pages); 355 - vfree(adev->gart.pages_addr); 356 367 adev->gart.pages = NULL; 357 - adev->gart.pages_addr = NULL; 358 368 359 369 amdgpu_dummy_page_fini(adev); 360 370 }