diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4623-amd-amdgpu-sriov-swSMU-disable-for-sriov.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4623-amd-amdgpu-sriov-swSMU-disable-for-sriov.patch | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4623-amd-amdgpu-sriov-swSMU-disable-for-sriov.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4623-amd-amdgpu-sriov-swSMU-disable-for-sriov.patch new file mode 100644 index 00000000..c8cda30d --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4623-amd-amdgpu-sriov-swSMU-disable-for-sriov.patch @@ -0,0 +1,47 @@ +From daae5be7cdfd04391cb447f0ec09f4ddc9feb1f9 Mon Sep 17 00:00:00 2001 +From: Jack Zhang <Jack.Zhang1@amd.com> +Date: Mon, 2 Dec 2019 18:41:36 +0800 +Subject: [PATCH 4623/4736] amd/amdgpu/sriov swSMU disable for sriov + +For boards greater than ARCTURUS, and under sriov platform, +swSMU is not supported because smu ip block is commented at +guest driver. + +Generally for sriov, initialization of smu is moved to host driver. +Thus, smu sw_init and hw_init will not be executed at guest driver. + +Without sw structure being initialized in guest driver, swSMU cannot +declare to be supported. + +Change-Id: Idb1c577d0dc2fc67cb6e83352aba83c9a987875f +Signed-off-by: Jack Zhang <Jack.Zhang1@amd.com> +Reviewed-by: Kevin Wang <kevin1.wang@amd.com> +--- + drivers/gpu/drm/amd/powerplay/amdgpu_smu.c | 11 +++++++---- + 1 file changed, 7 insertions(+), 4 deletions(-) + +diff --git a/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c b/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c +index acbbafeea01c..b57239d2228b 100644 +--- a/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c ++++ b/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c +@@ -529,10 +529,13 @@ int smu_update_table(struct smu_context *smu, enum smu_table_id table_index, int + bool is_support_sw_smu(struct amdgpu_device *adev) + { + if (adev->asic_type == CHIP_VEGA20) +- return (amdgpu_dpm == 2) ? true: false; +- else if (adev->asic_type >= CHIP_ARCTURUS) +- return true; +- else ++ return (amdgpu_dpm == 2) ? true : false; ++ else if (adev->asic_type >= CHIP_ARCTURUS) { ++ if (amdgpu_sriov_vf(adev)) ++ return false; ++ else ++ return true; ++ } else + return false; + } + +-- +2.17.1 + |