[V5, 3/6] i2c: qup: Transfer each i2c_msg in i2c_msgs without a stop bit

Andy Gross andy.gross at linaro.org
Fri Jan 8 20:36:11 PST 2016


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 at codeaurora.org>

Reviewed-by: Andy Gross <andy.gross at linaro.org>



More information about the linux-arm-kernel mailing list