Commit ab1fd9c1 authored by Alex Deucher's avatar Alex Deucher Committed by Greg Kroah-Hartman

drm/amdgpu/gmc: move vram type fetching into sw_init

commit d1518a1d upstream.

early_init gets called before atom asic init so on non-posted
cards, the vram type is not initialized.
Reviewed-by: default avatarHarish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 6b5fc488
...@@ -902,14 +902,6 @@ static int gmc_v7_0_early_init(void *handle) ...@@ -902,14 +902,6 @@ static int gmc_v7_0_early_init(void *handle)
gmc_v7_0_set_gart_funcs(adev); gmc_v7_0_set_gart_funcs(adev);
gmc_v7_0_set_irq_funcs(adev); gmc_v7_0_set_irq_funcs(adev);
if (adev->flags & AMD_IS_APU) {
adev->mc.vram_type = AMDGPU_VRAM_TYPE_UNKNOWN;
} else {
u32 tmp = RREG32(mmMC_SEQ_MISC0);
tmp &= MC_SEQ_MISC0__MT__MASK;
adev->mc.vram_type = gmc_v7_0_convert_vram_type(tmp);
}
return 0; return 0;
} }
...@@ -930,6 +922,14 @@ static int gmc_v7_0_sw_init(void *handle) ...@@ -930,6 +922,14 @@ static int gmc_v7_0_sw_init(void *handle)
if (r) if (r)
return r; return r;
if (adev->flags & AMD_IS_APU) {
adev->mc.vram_type = AMDGPU_VRAM_TYPE_UNKNOWN;
} else {
u32 tmp = RREG32(mmMC_SEQ_MISC0);
tmp &= MC_SEQ_MISC0__MT__MASK;
adev->mc.vram_type = gmc_v7_0_convert_vram_type(tmp);
}
r = amdgpu_irq_add_id(adev, 146, &adev->mc.vm_fault); r = amdgpu_irq_add_id(adev, 146, &adev->mc.vm_fault);
if (r) if (r)
return r; return r;
......
...@@ -856,14 +856,6 @@ static int gmc_v8_0_early_init(void *handle) ...@@ -856,14 +856,6 @@ static int gmc_v8_0_early_init(void *handle)
gmc_v8_0_set_gart_funcs(adev); gmc_v8_0_set_gart_funcs(adev);
gmc_v8_0_set_irq_funcs(adev); gmc_v8_0_set_irq_funcs(adev);
if (adev->flags & AMD_IS_APU) {
adev->mc.vram_type = AMDGPU_VRAM_TYPE_UNKNOWN;
} else {
u32 tmp = RREG32(mmMC_SEQ_MISC0);
tmp &= MC_SEQ_MISC0__MT__MASK;
adev->mc.vram_type = gmc_v8_0_convert_vram_type(tmp);
}
return 0; return 0;
} }
...@@ -884,6 +876,14 @@ static int gmc_v8_0_sw_init(void *handle) ...@@ -884,6 +876,14 @@ static int gmc_v8_0_sw_init(void *handle)
if (r) if (r)
return r; return r;
if (adev->flags & AMD_IS_APU) {
adev->mc.vram_type = AMDGPU_VRAM_TYPE_UNKNOWN;
} else {
u32 tmp = RREG32(mmMC_SEQ_MISC0);
tmp &= MC_SEQ_MISC0__MT__MASK;
adev->mc.vram_type = gmc_v8_0_convert_vram_type(tmp);
}
r = amdgpu_irq_add_id(adev, 146, &adev->mc.vm_fault); r = amdgpu_irq_add_id(adev, 146, &adev->mc.vm_fault);
if (r) if (r)
return r; return r;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment