diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3747-drm-amdgpu-Add-smu-lock-around-in-pp_smu_i2c_bus_acc.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3747-drm-amdgpu-Add-smu-lock-around-in-pp_smu_i2c_bus_acc.patch | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3747-drm-amdgpu-Add-smu-lock-around-in-pp_smu_i2c_bus_acc.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3747-drm-amdgpu-Add-smu-lock-around-in-pp_smu_i2c_bus_acc.patch new file mode 100644 index 00000000..ba80cf48 --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3747-drm-amdgpu-Add-smu-lock-around-in-pp_smu_i2c_bus_acc.patch @@ -0,0 +1,43 @@ +From ce810fba5402f2d80730733cdeb947c3bcc790a8 Mon Sep 17 00:00:00 2001 +From: Andrey Grodzovsky <andrey.grodzovsky@amd.com> +Date: Tue, 3 Sep 2019 16:47:40 -0400 +Subject: [PATCH 3747/4256] drm/amdgpu: Add smu lock around in + pp_smu_i2c_bus_access + +Protect from concurrent SMU accesses. + +Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com> +Reviewed-by: Tao Zhou <tao.zhou1@amd.com> +Reviewed-and-tested-by: Guchun Chen <guchun.chen@amd.com> +--- + drivers/gpu/drm/amd/powerplay/amd_powerplay.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c +index fa636cb462c1..fa8ad7db2b3a 100644 +--- a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c ++++ b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c +@@ -1531,6 +1531,7 @@ static int pp_asic_reset_mode_2(void *handle) + static int pp_smu_i2c_bus_access(void *handle, bool acquire) + { + struct pp_hwmgr *hwmgr = handle; ++ int ret = 0; + + if (!hwmgr || !hwmgr->pm_en) + return -EINVAL; +@@ -1540,7 +1541,11 @@ static int pp_smu_i2c_bus_access(void *handle, bool acquire) + return -EINVAL; + } + +- return hwmgr->hwmgr_func->smu_i2c_bus_access(hwmgr, acquire); ++ mutex_lock(&hwmgr->smu_lock); ++ ret = hwmgr->hwmgr_func->smu_i2c_bus_access(hwmgr, acquire); ++ mutex_unlock(&hwmgr->smu_lock); ++ ++ return ret; + } + + static const struct amd_pm_funcs pp_dpm_funcs = { +-- +2.17.1 + |