summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2017-03-01 09:38:29 +1000
committerBen Skeggs <bskeggs@redhat.com>2017-03-07 17:04:07 +1000
commit79ce00eaa49d76e435f432a50cb0d4a9b1182aa6 (patch)
tree0297ae3ffe7ae83c7d0da7530df8cb2a817842fb
parent406d99ec279ac67dc302cccb236f6fca182c4843 (diff)
downloadnouveau-79ce00eaa49d76e435f432a50cb0d4a9b1182aa6.tar.gz
i2c/g94-: return REPLY_M value on reads
This value represents the actual number of bytes recieved on the AUX channel as the result of a read transaction. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
-rw-r--r--drm/nouveau/nvkm/subdev/i2c/auxg94.c1
-rw-r--r--drm/nouveau/nvkm/subdev/i2c/auxgm200.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/drm/nouveau/nvkm/subdev/i2c/auxg94.c b/drm/nouveau/nvkm/subdev/i2c/auxg94.c
index dc96afb77..ab8cb196c 100644
--- a/drm/nouveau/nvkm/subdev/i2c/auxg94.c
+++ b/drm/nouveau/nvkm/subdev/i2c/auxg94.c
@@ -152,6 +152,7 @@ g94_i2c_aux_xfer(struct nvkm_i2c_aux *obj, bool retry,
AUX_TRACE(&aux->base, "rd %08x", xbuf[i / 4]);
}
memcpy(data, xbuf, *size);
+ *size = stat & 0x0000001f;
}
out:
diff --git a/drm/nouveau/nvkm/subdev/i2c/auxgm200.c b/drm/nouveau/nvkm/subdev/i2c/auxgm200.c
index 50e79a910..ee091fa79 100644
--- a/drm/nouveau/nvkm/subdev/i2c/auxgm200.c
+++ b/drm/nouveau/nvkm/subdev/i2c/auxgm200.c
@@ -152,6 +152,7 @@ gm200_i2c_aux_xfer(struct nvkm_i2c_aux *obj, bool retry,
AUX_TRACE(&aux->base, "rd %08x", xbuf[i / 4]);
}
memcpy(data, xbuf, *size);
+ *size = stat & 0x0000001f;
}
out: