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

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

drm/amdgpu: fix VMHUB order to match the hardware



Match our defines with what the hw uses.

Reviewed-by: default avatarJunwei Zhang <Jerry.Zhang@amd.com>
Signed-off-by: default avatarChristian König <christian.koenig@amd.com>
Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent b94e4336
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -124,8 +124,8 @@ extern int amdgpu_param_buf_per_se;

/* max number of VMHUB */
#define AMDGPU_MAX_VMHUBS			2
#define AMDGPU_MMHUB				0
#define AMDGPU_GFXHUB				1
#define AMDGPU_GFXHUB				0
#define AMDGPU_MMHUB				1

/* hardcode that limit for now */
#define AMDGPU_VA_RESERVED_SIZE			(8 << 20)
+3 −9
Original line number Diff line number Diff line
@@ -129,8 +129,7 @@ static int gmc_v9_0_process_interrupt(struct amdgpu_device *adev,
				struct amdgpu_irq_src *source,
				struct amdgpu_iv_entry *entry)
{
	struct amdgpu_vmhub *gfxhub = &adev->vmhub[AMDGPU_GFXHUB];
	struct amdgpu_vmhub *mmhub = &adev->vmhub[AMDGPU_MMHUB];
	struct amdgpu_vmhub *hub = &adev->vmhub[entry->vm_id_src];
	uint32_t status = 0;
	u64 addr;

@@ -138,13 +137,8 @@ static int gmc_v9_0_process_interrupt(struct amdgpu_device *adev,
	addr |= ((u64)entry->src_data[1] & 0xf) << 44;

	if (!amdgpu_sriov_vf(adev)) {
		if (entry->vm_id_src) {
			status = RREG32(mmhub->vm_l2_pro_fault_status);
			WREG32_P(mmhub->vm_l2_pro_fault_cntl, 1, ~1);
		} else {
			status = RREG32(gfxhub->vm_l2_pro_fault_status);
			WREG32_P(gfxhub->vm_l2_pro_fault_cntl, 1, ~1);
		}
		status = RREG32(hub->vm_l2_pro_fault_status);
		WREG32_P(hub->vm_l2_pro_fault_cntl, 1, ~1);
	}

	if (printk_ratelimit()) {