aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.14.71/4527-drm-amd-display-Clean-up-submit_channel_request.patch
diff options
context:
space:
mode:
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.patch64
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
+