Re: [PATCH 10/11] drm/amdgpu: setup GTT size directly from module parameter

2017-07-06 Thread Alex Deucher
On Mon, Jul 3, 2017 at 5:44 AM, Christian König  wrote:
> From: Christian König 
>
> Instead of relying on the sysvm_size to be the same as the module parameter.
>
> Signed-off-by: Christian König 

Reviewed-by: Alex Deucher 

> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 12 +---
>  1 file changed, 9 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c 
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> index 9240357..72dd83e 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> @@ -1097,6 +1097,7 @@ static struct ttm_bo_driver amdgpu_bo_driver = {
>
>  int amdgpu_ttm_init(struct amdgpu_device *adev)
>  {
> +   uint64_t gtt_size;
> int r;
>
> r = amdgpu_ttm_global_init(adev);
> @@ -1143,14 +1144,19 @@ int amdgpu_ttm_init(struct amdgpu_device *adev)
> }
> DRM_INFO("amdgpu: %uM of VRAM memory ready\n",
>  (unsigned) (adev->mc.real_vram_size / (1024 * 1024)));
> -   r = ttm_bo_init_mm(>mman.bdev, TTM_PL_TT,
> -   adev->mc.sysvm_size >> PAGE_SHIFT);
> +
> +   if (amdgpu_gart_size == -1)
> +   gtt_size = max((AMDGPU_DEFAULT_GTT_SIZE_MB << 20),
> +  adev->mc.mc_vram_size);
> +   else
> +   gtt_size = (uint64_t)amdgpu_gart_size << 20;
> +   r = ttm_bo_init_mm(>mman.bdev, TTM_PL_TT, gtt_size >> 
> PAGE_SHIFT);
> if (r) {
> DRM_ERROR("Failed initializing GTT heap.\n");
> return r;
> }
> DRM_INFO("amdgpu: %uM of GTT memory ready.\n",
> -(unsigned)(adev->mc.sysvm_size / (1024 * 1024)));
> +(unsigned)(gtt_size / (1024 * 1024)));
>
> adev->gds.mem.total_size = adev->gds.mem.total_size << 
> AMDGPU_GDS_SHIFT;
> adev->gds.mem.gfx_partition_size = adev->gds.mem.gfx_partition_size 
> << AMDGPU_GDS_SHIFT;
> --
> 2.7.4
>
> ___
> amd-gfx mailing list
> amd-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx


[PATCH 10/11] drm/amdgpu: setup GTT size directly from module parameter

2017-07-03 Thread Christian König
From: Christian König 

Instead of relying on the sysvm_size to be the same as the module parameter.

Signed-off-by: Christian König 
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 12 +---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
index 9240357..72dd83e 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
@@ -1097,6 +1097,7 @@ static struct ttm_bo_driver amdgpu_bo_driver = {
 
 int amdgpu_ttm_init(struct amdgpu_device *adev)
 {
+   uint64_t gtt_size;
int r;
 
r = amdgpu_ttm_global_init(adev);
@@ -1143,14 +1144,19 @@ int amdgpu_ttm_init(struct amdgpu_device *adev)
}
DRM_INFO("amdgpu: %uM of VRAM memory ready\n",
 (unsigned) (adev->mc.real_vram_size / (1024 * 1024)));
-   r = ttm_bo_init_mm(>mman.bdev, TTM_PL_TT,
-   adev->mc.sysvm_size >> PAGE_SHIFT);
+
+   if (amdgpu_gart_size == -1)
+   gtt_size = max((AMDGPU_DEFAULT_GTT_SIZE_MB << 20),
+  adev->mc.mc_vram_size);
+   else
+   gtt_size = (uint64_t)amdgpu_gart_size << 20;
+   r = ttm_bo_init_mm(>mman.bdev, TTM_PL_TT, gtt_size >> PAGE_SHIFT);
if (r) {
DRM_ERROR("Failed initializing GTT heap.\n");
return r;
}
DRM_INFO("amdgpu: %uM of GTT memory ready.\n",
-(unsigned)(adev->mc.sysvm_size / (1024 * 1024)));
+(unsigned)(gtt_size / (1024 * 1024)));
 
adev->gds.mem.total_size = adev->gds.mem.total_size << AMDGPU_GDS_SHIFT;
adev->gds.mem.gfx_partition_size = adev->gds.mem.gfx_partition_size << 
AMDGPU_GDS_SHIFT;
-- 
2.7.4

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