drm/amd/display: Clean up submit_channel_request
authorCharlene Liu <charlene.liu@amd.com>
Thu, 3 May 2018 21:51:07 +0000 (17:51 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 15 Jun 2018 17:20:22 +0000 (12:20 -0500)
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>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/i2caux/dce110/aux_engine_dce110.c

index 5f47f6c007ac079bc26694e5556f7618c8026af8..90535787a46186993ca7cacaa8e7ec3d3b8ab70c 100644 (file)
@@ -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