summaryrefslogtreecommitdiffstats
path: root/drivers/i2c
diff options
context:
space:
mode:
authorAbhishek Sahu <absahu@codeaurora.org>2018-03-12 14:14:55 +0100
committerWolfram Sang <wsa@the-dreams.de>2018-03-24 13:19:48 +0100
commit7e6c35fe602df6821b3e7db5b1ba656162750fda (patch)
tree23600a7455bdc0dff13fb64332507c1e98e81998 /drivers/i2c
parenti2c: qup: schedule EOT and FLUSH tags at the end of transfer (diff)
downloadlinux-7e6c35fe602df6821b3e7db5b1ba656162750fda.tar.xz
linux-7e6c35fe602df6821b3e7db5b1ba656162750fda.zip
i2c: qup: fix the transfer length for BAM RX EOT FLUSH tags
In case of FLUSH operation, BAM copies INPUT EOT FLUSH (0x94) instead of normal EOT (0x93) tag in input data stream when an input EOT tag is received during flush operation. So only one tag will be written instead of 2 separate tags. Signed-off-by: Abhishek Sahu <absahu@codeaurora.org> Reviewed-by: Andy Gross <andy.gross@linaro.org> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Diffstat (limited to 'drivers/i2c')
-rw-r--r--drivers/i2c/busses/i2c-qup.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/i2c/busses/i2c-qup.c b/drivers/i2c/busses/i2c-qup.c
index b2e8f574cd15..73a288068632 100644
--- a/drivers/i2c/busses/i2c-qup.c
+++ b/drivers/i2c/busses/i2c-qup.c
@@ -774,10 +774,10 @@ static int qup_i2c_bam_do_xfer(struct qup_i2c_dev *qup, struct i2c_msg *msg,
qup->btx.tag.start[0] = QUP_BAM_INPUT_EOT;
len++;
- /* scratch buf to read the BAM EOT and FLUSH tags */
+ /* scratch buf to read the BAM EOT FLUSH tags */
ret = qup_sg_set_buf(&qup->brx.sg[rx_cnt++],
&qup->brx.tag.start[0],
- 2, qup, DMA_FROM_DEVICE);
+ 1, qup, DMA_FROM_DEVICE);
if (ret)
return ret;
}