drm/amdgpu: Fix GART page table s-bit
authorOak Zeng <Oak.Zeng@amd.com>
Sat, 23 Jan 2021 03:51:39 +0000 (21:51 -0600)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 24 Mar 2021 02:59:02 +0000 (22:59 -0400)
For the new 2-level GART table, the last PDE0 points
to PTB. Since PTB is in vram and right now we are
runing under s=0 mode (vram is treated as FB carveout),
so the s bit of this PDE0 should be set to 0.

Signed-off-by: Oak Zeng <Oak.Zeng@amd.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c

index 3ab85a4..ebd22ae 100644 (file)
@@ -656,7 +656,7 @@ void amdgpu_gmc_init_pdb0(struct amdgpu_device *adev)
         * PTB who has more than 512 entries each
         * pointing to a 4K system page
         */
-       flags = AMDGPU_PTE_VALID | AMDGPU_PTE_SYSTEM;
+       flags = AMDGPU_PTE_VALID;
        flags |= AMDGPU_PDE_BFS(0) | AMDGPU_PTE_SNOOPED;
        /* Requires gart_ptb_gpu_pa to be 4K aligned */
        amdgpu_gmc_set_pte_pde(adev, adev->gmc.ptr_pdb0, i, gart_ptb_gpu_pa, flags);