mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 10:00:17 +00:00
drm/amdgpu/gmc: move vram type fetching into sw_init
commit d1518a1db3 upstream.
early_init gets called before atom asic init so on non-posted
cards, the vram type is not initialized.
Reviewed-by: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
0bccb7a91e
commit
1e84f8b8da
@@ -898,14 +898,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;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -926,6 +918,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;
|
||||||
|
|||||||
@@ -852,14 +852,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;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -880,6 +872,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;
|
||||||
|
|||||||
Reference in New Issue
Block a user