[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <000601d0c38c$9f4177d0$ddc46770$@codeaurora.org>
Date: Tue, 21 Jul 2015 13:39:46 +0530
From: "Sricharan" <sricharan@...eaurora.org>
To: "'Ivan T. Ivanov'" <iivanov@...sol.com>
Cc: <devicetree@...r.kernel.org>, <linux-arm-msm@...r.kernel.org>,
<galak@...eaurora.org>, <linux-kernel@...r.kernel.org>,
<linux-i2c@...r.kernel.org>, <agross@...eaurora.org>,
<dmaengine@...r.kernel.org>, <linux-arm-kernel@...ts.infradead.org>
Subject: RE: [PATCH V4 4/7] i2c: qup: Transfer each i2c_msg in i2c_msgs without a stop bit
Hi Ivan,
> -----Original Message-----
> From: Ivan T. Ivanov [mailto:iivanov@...sol.com]
> Sent: Monday, July 20, 2015 4:53 PM
> To: Sricharan R
> Cc: devicetree@...r.kernel.org; linux-arm-msm@...r.kernel.org;
> galak@...eaurora.org; linux-kernel@...r.kernel.org; linux-
> i2c@...r.kernel.org; agross@...eaurora.org; dmaengine@...r.kernel.org;
> linux-arm-kernel@...ts.infradead.org
> Subject: Re: [PATCH V4 4/7] i2c: qup: Transfer each i2c_msg in i2c_msgs
> without a stop bit
>
>
> Hi,
>
> On Thu, 2015-07-09 at 08:55 +0530, Sricharan R wrote:
>
> <snip>
>
> > #define ONE_BYTE 0x1
> > +#define QUP_I2C_MX_CONFIG_DURING_RUN BIT(31)
> >
> > struct qup_i2c_block {
> > int count;
> > @@ -121,6 +122,7 @@ struct qup_i2c_block {
> > int rx_tag_len;
> > int data_len;
> > u8 tags[6];
> > + int config_run;
>
> This is not directly related to "block" control logic, right?
> Could it made part of qup_i2c_dev structure?
>
Yes, can move it there.
> > };
> >
> > struct qup_i2c_dev {
> > @@ -152,6 +154,10 @@ struct qup_i2c_dev {
> >
> > int (*qup_i2c_write_one)(struct qup_i2c_dev *qup,
> > struct i2c_msg *msg);
> > + /* Current i2c_msg in i2c_msgs */
> > + int cmsg;
> > + /* total num of i2c_msgs */
> > + int num;
>
> I think it will be simpler with just "bool is_last" evaluated in main xfer loop.
Hmm ok. Will change it that way. Set it one place and use it other places.
>
> <snip>
>
> >
> > @@ -374,6 +383,9 @@ static void qup_i2c_get_blk_data(struct
> qup_i2c_dev *qup,
> > /* There are 2 tag bytes that are read in to fifo for every block */
> > if (msg->flags & I2C_M_RD)
> > qup->blk.rx_tag_len = qup->blk.count * 2;
> > +
> > + if (qup->cmsg)
> > + qup->blk.config_run = QUP_I2C_MX_CONFIG_DURING_RUN;
>
> This could be moved to qup_i2c_xfer_v2() to avoid repeatedly setting it.
Ok, correct.
Regards,
Sricharan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists