Thread (16 messages) 16 messages, 2 authors, 2015-07-21

Re: [PATCH V4 4/7] i2c: qup: Transfer each i2c_msg in i2c_msgs without a stop bit

From: Ivan T. Ivanov <hidden>
Date: 2015-07-20 11:23:03
Also in: linux-arm-kernel, linux-arm-msm, linux-i2c, lkml

Hi, 

On Thu, 2015-07-09 at 08:55 +0530, Sricharan R wrote:

<snip>
quoted hunk ↗ jump to hunk
 #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?
quoted hunk ↗ jump to hunk
 };

 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.

<snip>
quoted hunk ↗ jump to hunk
@@ -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. 
 }
Regards,
Ivan
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help