dma allocation is slower than ttm pool path, which is only needed when
system memory iomapping is outside of GPU pci access address space.

In most case, ttm pool path can satisfy the requirement. If in some special case
that needs to re-enable dma allocation, we can set amdgpu.ttm_dma_allocation 
kernel
parameter in grub to enable it.

Change-Id: Idd53acdd157487e784d1166886f018361b10ad67
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
index d32f48259c40..75227e372821 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
@@ -1018,7 +1018,7 @@ static int amdgpu_ttm_tt_populate(struct ttm_tt *ttm,
        }
 
 #ifdef CONFIG_SWIOTLB
-       if (swiotlb_nr_tbl()) {
+       if (amdgpu_ttm_dma_allocation && swiotlb_nr_tbl()) {
                return ttm_dma_populate(&gtt->ttm, adev->dev, ctx);
        }
 #endif
@@ -1045,7 +1045,7 @@ static void amdgpu_ttm_tt_unpopulate(struct ttm_tt *ttm)
        adev = amdgpu_ttm_adev(ttm->bdev);
 
 #ifdef CONFIG_SWIOTLB
-       if (swiotlb_nr_tbl()) {
+       if (amdgpu_ttm_dma_allocation && swiotlb_nr_tbl()) {
                ttm_dma_unpopulate(&gtt->ttm, adev->dev);
                return;
        }
@@ -2014,7 +2014,7 @@ static int amdgpu_ttm_debugfs_init(struct amdgpu_device 
*adev)
        count = ARRAY_SIZE(amdgpu_ttm_debugfs_list);
 
 #ifdef CONFIG_SWIOTLB
-       if (!swiotlb_nr_tbl())
+       if (!amdgpu_ttm_dma_allocation || !swiotlb_nr_tbl())
                --count;
 #endif
 
-- 
2.14.1

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to