drm/tegra: Handle I2C_WRITE_STATUS_UPDATE for address only writes
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 27 Aug 2015 14:23:29 +0000 (17:23 +0300)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 8 Sep 2015 18:15:42 +0000 (20:15 +0200)
A address-only I2C_WRITE can't be replied with a short i2c ack, but I
suppose it could be replied with an i2c defer. So the code should be
prepared for an address-only I2C_WRITE_STATUS_UPDATE.

Cc: Thierry Reding <thierry.reding@gmail.com>
Cc: "Terje Bergström" <tbergstrom@nvidia.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Acked-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/tegra/dpaux.c

index 1cc09ff..6aecb66 100644 (file)
@@ -119,6 +119,7 @@ static ssize_t tegra_dpaux_transfer(struct drm_dp_aux *aux,
         */
        if (msg->size < 1) {
                switch (msg->request & ~DP_AUX_I2C_MOT) {
+               case DP_AUX_I2C_WRITE_STATUS_UPDATE:
                case DP_AUX_I2C_WRITE:
                case DP_AUX_I2C_READ:
                        value = DPAUX_DP_AUXCTL_CMD_ADDRESS_ONLY;