lkml.org 
[lkml]   [2020]   [Nov]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.9 356/391] drm/amdgpu/swsmu: drop smu i2c bus on navi1x
    Date
    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,

    \
     
     \ /
      Last update: 2020-11-03 21:52    [W:4.104 / U:0.084 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site