Am 14.09.2018 um 22:14 schrieb Alex Deucher:
On Fri, Sep 14, 2018 at 3:12 PM Christian König
<ckoenig.leichtzumer...@gmail.com> wrote:
Stops crashing on SI.

Signed-off-by: Christian König <christian.koe...@amd.com>
Presumably ttm allows this?

Yes, actually explicitly tested this.

Christian.

Acked-by: Alex Deucher <alexander.deuc...@amd.com>

---
  drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 48 +++++++++++++--------------------
  1 file changed, 18 insertions(+), 30 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
index 3e450159fe1f..710e7751c567 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
@@ -1843,34 +1843,25 @@ int amdgpu_ttm_init(struct amdgpu_device *adev)
                  (unsigned)(gtt_size / (1024 * 1024)));

         /* Initialize various on-chip memory pools */
-       /* GDS Memory */
-       if (adev->gds.mem.total_size) {
-               r = ttm_bo_init_mm(&adev->mman.bdev, AMDGPU_PL_GDS,
-                                  adev->gds.mem.total_size);
-               if (r) {
-                       DRM_ERROR("Failed initializing GDS heap.\n");
-                       return r;
-               }
+       r = ttm_bo_init_mm(&adev->mman.bdev, AMDGPU_PL_GDS,
+                          adev->gds.mem.total_size);
+       if (r) {
+               DRM_ERROR("Failed initializing GDS heap.\n");
+               return r;
         }

-       /* GWS */
-       if (adev->gds.gws.total_size) {
-               r = ttm_bo_init_mm(&adev->mman.bdev, AMDGPU_PL_GWS,
-                                  adev->gds.gws.total_size);
-               if (r) {
-                       DRM_ERROR("Failed initializing gws heap.\n");
-                       return r;
-               }
+       r = ttm_bo_init_mm(&adev->mman.bdev, AMDGPU_PL_GWS,
+                          adev->gds.gws.total_size);
+       if (r) {
+               DRM_ERROR("Failed initializing gws heap.\n");
+               return r;
         }

-       /* OA */
-       if (adev->gds.oa.total_size) {
-               r = ttm_bo_init_mm(&adev->mman.bdev, AMDGPU_PL_OA,
-                                  adev->gds.oa.total_size);
-               if (r) {
-                       DRM_ERROR("Failed initializing oa heap.\n");
-                       return r;
-               }
+       r = ttm_bo_init_mm(&adev->mman.bdev, AMDGPU_PL_OA,
+                          adev->gds.oa.total_size);
+       if (r) {
+               DRM_ERROR("Failed initializing oa heap.\n");
+               return r;
         }

         /* Register debugfs entries for amdgpu_ttm */
@@ -1907,12 +1898,9 @@ void amdgpu_ttm_fini(struct amdgpu_device *adev)

         ttm_bo_clean_mm(&adev->mman.bdev, TTM_PL_VRAM);
         ttm_bo_clean_mm(&adev->mman.bdev, TTM_PL_TT);
-       if (adev->gds.mem.total_size)
-               ttm_bo_clean_mm(&adev->mman.bdev, AMDGPU_PL_GDS);
-       if (adev->gds.gws.total_size)
-               ttm_bo_clean_mm(&adev->mman.bdev, AMDGPU_PL_GWS);
-       if (adev->gds.oa.total_size)
-               ttm_bo_clean_mm(&adev->mman.bdev, AMDGPU_PL_OA);
+       ttm_bo_clean_mm(&adev->mman.bdev, AMDGPU_PL_GDS);
+       ttm_bo_clean_mm(&adev->mman.bdev, AMDGPU_PL_GWS);
+       ttm_bo_clean_mm(&adev->mman.bdev, AMDGPU_PL_OA);
         ttm_bo_device_release(&adev->mman.bdev);
         amdgpu_ttm_global_fini(adev);
         adev->mman.initialized = false;
--
2.14.1

_______________________________________________
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

Reply via email to