drm/radeon: Handle DP_AUX_I2C_WRITE_STATUS_UPDATE
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 27 Aug 2015 14:23:28 +0000 (17:23 +0300)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 8 Sep 2015 18:12:53 +0000 (20:12 +0200)
When we get an i2c defer or short ack for i2c-over-aux write we need
to switch to WRITE_STATUS_UPDATE to poll for the completion of the
original request.

Looks like radeon doesn't do anything special with the request type,
so hopefully just treating it the same as a i2c write is enough.

Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: "Christian König" <christian.koenig@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/radeon/atombios_dp.c

index 9cd49c584263c895ad368586a1df58120d9c9a71..bd73b4069069b900b01e4858bc38bb42dfc3ac10 100644 (file)
@@ -179,6 +179,7 @@ radeon_dp_aux_transfer_atom(struct drm_dp_aux *aux, struct drm_dp_aux_msg *msg)
        switch (msg->request & ~DP_AUX_I2C_MOT) {
        case DP_AUX_NATIVE_WRITE:
        case DP_AUX_I2C_WRITE:
+       case DP_AUX_I2C_WRITE_STATUS_UPDATE:
                /* The atom implementation only supports writes with a max payload of
                 * 12 bytes since it uses 4 bits for the total count (header + payload)
                 * in the parameter space.  The atom interface supports 16 byte