drm/amdgpu: Fix firmware UCODE_ID_STORAGE issue (v2)
In Tonga's virtualization environment, for firmware UCODE_ID_STORAGE, there is no actual firmware data, but we still need alloc a BO and tell the BO's mc address to HW, or world switch will hang on VFs. v2: fix coding style (Alex) Signed-off-by: Trigger Huang <trigger.huang@amd.com> Reviewed-by: Xiangliang Yu <Xiangliang.Yu@amd.com> Reviewed-by: Monk Liu <monk.liu@amd.com> Acked-by: Huang Rui <ray.huang@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
cbcbea982a
commit
bc108ec78e
@ -382,10 +382,14 @@ int amdgpu_ucode_init_bo(struct amdgpu_device *adev)
|
|||||||
* if SMU loaded firmware, it needn't add SMC, UVD, and VCE
|
* if SMU loaded firmware, it needn't add SMC, UVD, and VCE
|
||||||
* ucode info here
|
* ucode info here
|
||||||
*/
|
*/
|
||||||
if (adev->firmware.load_type != AMDGPU_FW_LOAD_PSP)
|
if (adev->firmware.load_type != AMDGPU_FW_LOAD_PSP) {
|
||||||
adev->firmware.max_ucodes = AMDGPU_UCODE_ID_MAXIMUM - 4;
|
if (amdgpu_sriov_vf(adev))
|
||||||
else
|
adev->firmware.max_ucodes = AMDGPU_UCODE_ID_MAXIMUM - 3;
|
||||||
|
else
|
||||||
|
adev->firmware.max_ucodes = AMDGPU_UCODE_ID_MAXIMUM - 4;
|
||||||
|
} else {
|
||||||
adev->firmware.max_ucodes = AMDGPU_UCODE_ID_MAXIMUM;
|
adev->firmware.max_ucodes = AMDGPU_UCODE_ID_MAXIMUM;
|
||||||
|
}
|
||||||
|
|
||||||
for (i = 0; i < adev->firmware.max_ucodes; i++) {
|
for (i = 0; i < adev->firmware.max_ucodes; i++) {
|
||||||
ucode = &adev->firmware.ucode[i];
|
ucode = &adev->firmware.ucode[i];
|
||||||
|
Loading…
Reference in New Issue
Block a user