diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/4527-drm-amd-display-Clean-up-submit_channel_request.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.14.71/4527-drm-amd-display-Clean-up-submit_channel_request.patch | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/4527-drm-amd-display-Clean-up-submit_channel_request.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/4527-drm-amd-display-Clean-up-submit_channel_request.patch new file mode 100644 index 00000000..798638fe --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/4527-drm-amd-display-Clean-up-submit_channel_request.patch @@ -0,0 +1,64 @@ +From 9d6c30dc115a46aabac106ee0641e13d7c939174 Mon Sep 17 00:00:00 2001 +From: Charlene Liu <charlene.liu@amd.com> +Date: Thu, 3 May 2018 17:51:07 -0400 +Subject: [PATCH 4527/5725] drm/amd/display: Clean up submit_channel_request + +Signed-off-by: Charlene Liu <charlene.liu@amd.com> +Reviewed-by: Vitaly Prosyak <Vitaly.Prosyak@amd.com> +Acked-by: Harry Wentland <harry.wentland@amd.com> +--- + .../display/dc/i2caux/dce110/aux_engine_dce110.c | 34 +++++++++++----------- + 1 file changed, 17 insertions(+), 17 deletions(-) + +diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/dce110/aux_engine_dce110.c b/drivers/gpu/drm/amd/display/dc/i2caux/dce110/aux_engine_dce110.c +index 5f47f6c..9053578 100644 +--- a/drivers/gpu/drm/amd/display/dc/i2caux/dce110/aux_engine_dce110.c ++++ b/drivers/gpu/drm/amd/display/dc/i2caux/dce110/aux_engine_dce110.c +@@ -198,27 +198,27 @@ static void submit_channel_request( + ((request->type == AUX_TRANSACTION_TYPE_I2C) && + ((request->action == I2CAUX_TRANSACTION_ACTION_I2C_WRITE) || + (request->action == I2CAUX_TRANSACTION_ACTION_I2C_WRITE_MOT))); ++ if (REG(AUXN_IMPCAL)) { ++ /* clear_aux_error */ ++ REG_UPDATE_SEQ(AUXN_IMPCAL, AUXN_CALOUT_ERROR_AK, ++ 1, ++ 0); + +- /* clear_aux_error */ +- REG_UPDATE_SEQ(AUXN_IMPCAL, AUXN_CALOUT_ERROR_AK, +- 1, +- 0); +- +- REG_UPDATE_SEQ(AUXP_IMPCAL, AUXP_CALOUT_ERROR_AK, +- 1, +- 0); +- +- /* force_default_calibrate */ +- REG_UPDATE_1BY1_2(AUXN_IMPCAL, +- AUXN_IMPCAL_ENABLE, 1, +- AUXN_IMPCAL_OVERRIDE_ENABLE, 0); ++ REG_UPDATE_SEQ(AUXP_IMPCAL, AUXP_CALOUT_ERROR_AK, ++ 1, ++ 0); + +- /* bug? why AUXN update EN and OVERRIDE_EN 1 by 1 while AUX P toggles OVERRIDE? */ ++ /* force_default_calibrate */ ++ REG_UPDATE_1BY1_2(AUXN_IMPCAL, ++ AUXN_IMPCAL_ENABLE, 1, ++ AUXN_IMPCAL_OVERRIDE_ENABLE, 0); + +- REG_UPDATE_SEQ(AUXP_IMPCAL, AUXP_IMPCAL_OVERRIDE_ENABLE, +- 1, +- 0); ++ /* bug? why AUXN update EN and OVERRIDE_EN 1 by 1 while AUX P toggles OVERRIDE? */ + ++ REG_UPDATE_SEQ(AUXP_IMPCAL, AUXP_IMPCAL_OVERRIDE_ENABLE, ++ 1, ++ 0); ++ } + /* set the delay and the number of bytes to write */ + + /* The length include +-- +2.7.4 + |