Re: [V5, 3/6] i2c: qup: Transfer each i2c_msg in i2c_msgs without a stop bit
From: Andy Gross
Date: Fri Jan 08 2016 - 23:36:21 EST
On Tue, Nov 17, 2015 at 05:15:24PM +0530, Sricharan R wrote:
> 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'. The QUP i2c hardware has no way
> to inform that there should not be a 'STOP' at the end of transaction.
> The only way to implement this is to coalesce all the i2c_msg in i2c_msgs
> in to one transaction and transfer them. 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@xxxxxxxxxxxxxx>
Reviewed-by: Andy Gross <andy.gross@xxxxxxxxxx>