| From 10105d0c9763f058f6a9a09f78397d5bf94dc94c Mon Sep 17 00:00:00 2001 |
| From: Alex Deucher <alexander.deucher@amd.com> |
| Date: Mon, 26 Oct 2020 17:30:28 -0400 |
| Subject: drm/amdgpu/swsmu: drop smu i2c bus on navi1x |
| |
| From: Alex Deucher <alexander.deucher@amd.com> |
| |
| commit 10105d0c9763f058f6a9a09f78397d5bf94dc94c upstream. |
| |
| Stop registering the SMU i2c bus on navi1x. This leads to instability |
| issues when userspace processes mess with the bus and also seems to |
| cause display stability issues in some cases. |
| |
| Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/1314 |
| Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/1341 |
| Reviewed-by: Evan Quan <evan.quan@amd.com> |
| Signed-off-by: Alex Deucher <alexander.deucher@amd.com> |
| Cc: stable@vger.kernel.org |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/gpu/drm/amd/powerplay/navi10_ppt.c | 26 -------------------------- |
| 1 file changed, 26 deletions(-) |
| |
| --- a/drivers/gpu/drm/amd/powerplay/navi10_ppt.c |
| +++ b/drivers/gpu/drm/amd/powerplay/navi10_ppt.c |
| @@ -2463,37 +2463,11 @@ static const struct i2c_algorithm navi10 |
| .functionality = navi10_i2c_func, |
| }; |
| |
| -static int navi10_i2c_control_init(struct smu_context *smu, struct i2c_adapter *control) |
| -{ |
| - struct amdgpu_device *adev = to_amdgpu_device(control); |
| - int res; |
| - |
| - control->owner = THIS_MODULE; |
| - control->class = I2C_CLASS_SPD; |
| - control->dev.parent = &adev->pdev->dev; |
| - control->algo = &navi10_i2c_algo; |
| - snprintf(control->name, sizeof(control->name), "AMDGPU SMU"); |
| - |
| - res = i2c_add_adapter(control); |
| - if (res) |
| - DRM_ERROR("Failed to register hw i2c, err: %d\n", res); |
| - |
| - return res; |
| -} |
| - |
| -static void navi10_i2c_control_fini(struct smu_context *smu, struct i2c_adapter *control) |
| -{ |
| - i2c_del_adapter(control); |
| -} |
| - |
| - |
| static const struct pptable_funcs navi10_ppt_funcs = { |
| .get_allowed_feature_mask = navi10_get_allowed_feature_mask, |
| .set_default_dpm_table = navi10_set_default_dpm_table, |
| .dpm_set_vcn_enable = navi10_dpm_set_vcn_enable, |
| .dpm_set_jpeg_enable = navi10_dpm_set_jpeg_enable, |
| - .i2c_init = navi10_i2c_control_init, |
| - .i2c_fini = navi10_i2c_control_fini, |
| .print_clk_levels = navi10_print_clk_levels, |
| .force_clk_levels = navi10_force_clk_levels, |
| .populate_umd_state_clk = navi10_populate_umd_state_clk, |