Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c832c346 authored by Christian König's avatar Christian König Committed by Alex Deucher
Browse files

drm/amdgpu: initialize GDS/GWS/OA domains even when they are zero sized

parent 77a2faa5
Loading
Loading
Loading
Loading
+18 −30
Original line number Diff line number Diff line
@@ -1845,35 +1845,26 @@ 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;
	}
	}

	/* 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;
	}
	}

	/* 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;
	}
	}

	/* Register debugfs entries for amdgpu_ttm */
	r = amdgpu_ttm_debugfs_init(adev);
@@ -1909,11 +1900,8 @@ 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_device_release(&adev->mman.bdev);
	amdgpu_ttm_global_fini(adev);