drm/radeon: use the dummy page for GART if needed
authorChristian König <christian.koenig@amd.com>
Wed, 12 May 2021 08:36:43 +0000 (10:36 +0200)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 19 May 2021 22:00:48 +0000 (18:00 -0400)
Imported BOs don't have a pagelist 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>
Fixes: 0575ff3d33cd ("drm/radeon: stop using pages with drm_prime_sg_to_page_addr_arrays v2")
CC: stable@vger.kernel.org # 5.12
drivers/gpu/drm/radeon/radeon_gart.c

index 3808a753127bcb7c1eb861ea85bc85e09e0b7c12..04109a2a6fd760f10ac220bd3ff08f6b10afba3d 100644 (file)
@@ -301,7 +301,8 @@ int radeon_gart_bind(struct radeon_device *rdev, unsigned offset,
        p = t / (PAGE_SIZE / RADEON_GPU_PAGE_SIZE);
 
        for (i = 0; i < pages; i++, p++) {
-               rdev->gart.pages[p] = pagelist[i];
+               rdev->gart.pages[p] = pagelist ? pagelist[i] :
+                       rdev->dummy_page.page;
                page_base = dma_addr[i];
                for (j = 0; j < (PAGE_SIZE / RADEON_GPU_PAGE_SIZE); j++, t++) {
                        page_entry = radeon_gart_get_page_entry(page_base, flags);