Thread (26 messages) 26 messages, 4 authors, 2016-03-28

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

From: Sricharan <hidden>
Date: 2016-01-28 04:57:20
Also in: linux-arm-msm, linux-devicetree, linux-i2c, lkml

Hi Wolfram,
-----Original Message-----
From: Wolfram Sang [mailto:wsa at the-dreams.de]
Sent: Sunday, January 24, 2016 4:59 PM
To: Sricharan R
Cc: devicetree at vger.kernel.org; linux-arm-msm at vger.kernel.org;
agross at codeaurora.org; linux-kernel at vger.kernel.org; linux-
i2c at vger.kernel.org; iivanov at mm-sol.com; galak at codeaurora.org;
dmaengine at vger.kernel.org; linux-arm-kernel at lists.infradead.org;
andy.gross at linaro.org; ntelkar at codeaurora.org; architt at codeaurora.org
Subject: Re: [PATCH V7 3/6] i2c: qup: Transfer each i2c_msg in i2c_msgs
without a stop bit

Hi,
quoted
"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"
This is correct.
quoted
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.
quoted
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.

So, there will not be a REP_START condition on the bus? I am sorry to say
that
I can't accept this. A REP_START is a REP_START and nothing else. There
are
devices which will get confused if there is no real REP_START condition.

Without knowing the HW in detail, can't you implement I2C_M_NOSTART
and let the touchscreen driver use it via regmap? That would be the proper
way (from what I understand).

Ah, so what I meant above is there is no 'STOP' bit between each msg in
i2c_msgs, 
but 'REAPEATED_START' still holds true.  We are sending 'START' bit for each
msg.
So these is how each msg in i2c_msg is sent,

|------MSG1--------|-----MSG2---------|------MSG3------------|

  |START|DATA|------|START|DATA|---|START|DATA|STOP|      

If my commit text does not make this clear, I  can reword that ?

Regards,
  Sricharan
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help