i2c: qup: Transfer each i2c_msg in i2c_msgs without a stop bit
authorSricharan R <sricharan@codeaurora.org>
Tue, 19 Jan 2016 10:02:43 +0000 (15:32 +0530)
committerWolfram Sang <wsa@the-dreams.de>
Fri, 12 Feb 2016 18:33:44 +0000 (19:33 +0100)
commitf74187932d30e47533271554d79de7121cefb804
treeb172dcca54b22df9c4c647a2244b4464d6fe6182
parent191424bb6166f638aaf6f18387818e9e771e441b
i2c: qup: Transfer each i2c_msg in i2c_msgs without a stop bit

The definition of i2c_msg says that

"If this is the last message in a group, it is followed by a STOP.
Otherwise it is followed by the next @i2c_msg transaction segment,
beginning with a (repeated) START"

So the expectation is that there is no 'STOP' bit inbetween individual
i2c_msg segments with repeated 'START'. Adding the support for the same.

This is required for some clients like touchscreen which keeps
incrementing counts across individual transfers and 'STOP' bit inbetween
resets the counter, which is not required.

This patch adds the support in non-dma mode.

Signed-off-by: Sricharan R <sricharan@codeaurora.org>
Reviewed-by: Andy Gross <andy.gross@linaro.org>
Tested-by: Archit Taneja <architt@codeaurora.org>
Tested-by: Telkar Nagender <ntelkar@codeaurora.org>
[wsa: updated commit message]
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/busses/i2c-qup.c