From: Tiecheng Zhou Date: Wed, 8 Jan 2020 05:44:29 +0000 (+0800) Subject: drm/amdgpu/sriov: workaround on rev_id for Navi12 under sriov X-Git-Tag: v5.10.7~3266^2~10^2~101 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=df5e984c8bd414561c320d6cbbb66d53abf4c7e2;p=platform%2Fkernel%2Flinux-rpi.git drm/amdgpu/sriov: workaround on rev_id for Navi12 under sriov guest vm gets 0xffffffff when reading RCC_DEV0_EPF0_STRAP0, as a consequence, the rev_id and external_rev_id are wrong. workaround it by hardcoding the rev_id to 0, which is the default value. v2. add comment in the code Signed-off-by: Tiecheng Zhou Reviewed-by: Alex Deucher Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/amd/amdgpu/nv.c b/drivers/gpu/drm/amd/amdgpu/nv.c index 42ede3a..2e0f893 100644 --- a/drivers/gpu/drm/amd/amdgpu/nv.c +++ b/drivers/gpu/drm/amd/amdgpu/nv.c @@ -726,6 +726,12 @@ static int nv_common_early_init(void *handle) AMD_PG_SUPPORT_VCN_DPG | AMD_PG_SUPPORT_JPEG | AMD_PG_SUPPORT_ATHUB; + /* guest vm gets 0xffffffff when reading RCC_DEV0_EPF0_STRAP0, + * as a consequence, the rev_id and external_rev_id are wrong. + * workaround it by hardcoding rev_id to 0 (default value). + */ + if (amdgpu_sriov_vf(adev)) + adev->rev_id = 0; adev->external_rev_id = adev->rev_id + 0xa; break; default: