Commit de33a329 authored by Jack Xiao's avatar Jack Xiao Committed by Alex Deucher
Browse files

drm/amdgpu: use the whole doorbell space for mes



Use the whole doorbell space for mes. Each queue in one process occupies
one doorbell slot to ring the queue submitting.

Signed-off-by: default avatarJack Xiao <Jack.Xiao@amd.com>
Acked-by: default avatarChristian König <christian.koenig@amd.com>
Reviewed-by: default avatarHawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 56443402
Loading
Loading
Loading
Loading
+19 −13
Original line number Diff line number Diff line
@@ -1044,7 +1044,12 @@ static int amdgpu_device_doorbell_init(struct amdgpu_device *adev)
	adev->doorbell.base = pci_resource_start(adev->pdev, 2);
	adev->doorbell.size = pci_resource_len(adev->pdev, 2);

	adev->doorbell.num_doorbells = min_t(u32, adev->doorbell.size / sizeof(u32),
	if (adev->enable_mes) {
		adev->doorbell.num_doorbells =
			adev->doorbell.size / sizeof(u32);
	} else {
		adev->doorbell.num_doorbells =
			min_t(u32, adev->doorbell.size / sizeof(u32),
			      adev->doorbell_index.max_assignment+1);
		if (adev->doorbell.num_doorbells == 0)
			return -EINVAL;
@@ -1057,6 +1062,7 @@ static int amdgpu_device_doorbell_init(struct amdgpu_device *adev)
		 */
		if (adev->asic_type >= CHIP_VEGA10)
			adev->doorbell.num_doorbells += 0x400;
	}

	adev->doorbell.ptr = ioremap(adev->doorbell.base,
				     adev->doorbell.num_doorbells *