Thread (9 messages) 9 messages, 2 authors, 2018-06-26

[PATCH 5/5] i2c: Add Actions Semi OWL family S900 I2C driver

From: Andy Shevchenko <hidden>
Date: 2018-06-26 17:18:50
Also in: linux-devicetree, linux-gpio, linux-i2c, lkml

On Tue, Jun 26, 2018 at 8:01 PM, Manivannan Sadhasivam
[off-list ref] wrote:
On Mon, Jun 25, 2018 at 12:38:50PM +0300, Andy Shevchenko wrote:
quoted
On Sat, Jun 23, 2018 at 7:11 PM, Manivannan Sadhasivam
[off-list ref] wrote:
quoted
quoted
+#define OWL_I2C_REG_CTL                (0x0000)
+#define OWL_I2C_REG_CLKDIV     (0x0004)
+#define OWL_I2C_REG_STAT       (0x0008)
+#define OWL_I2C_REG_ADDR       (0x000C)
+#define OWL_I2C_REG_TXDAT      (0x0010)
+#define OWL_I2C_REG_RXDAT      (0x0014)
+#define OWL_I2C_REG_CMD                (0x0018)
+#define OWL_I2C_REG_FIFOCTL    (0x001C)
+#define OWL_I2C_REG_FIFOSTAT   (0x0020)
+#define OWL_I2C_REG_DATCNT     (0x0024)
+#define OWL_I2C_REG_RCNT       (0x0028)
I don't understand why these have parents?
I'm not sure what you mean here! Can you please elaborate?
One has to read 'parens'. Sorry for confusion.
quoted
quoted
+#define OWL_I2C_TIMEOUT                (msecs_to_jiffies(4 * 1000))
Ditto.
Same as above
Ditto.
quoted
quoted
+       /* Wait until FIFO reset complete */
+       do {
+               val = readl(i2c_dev->base + OWL_I2C_REG_FIFOCTL);
+               if (!(val & (OWL_I2C_FIFOCTL_RFR | OWL_I2C_FIFOCTL_TFR)))
+                       break;
+       } while (1);
No way. Get rid of infinite loop.
Okay. Can I change it to max of 50 retries with 1ms delay?
Whatever suitable for HW. Rely on datasheet or other source of
information about this timeouts.
quoted
quoted
+static irqreturn_t owl_i2c_interrupt(int irq, void *_dev)
quoted
quoted
+               dev_warn(&i2c_dev->adap.dev, "received NACK from device");
And if it happens hundreds times in a row?
Should I change it to dev_dbg?
quoted
quoted
+               dev_warn(&i2c_dev->adap.dev, "bus error");
Same as above?
ratelimit, another level, tracepoints, getting rid of them completely
? your call.

-- 
With Best Regards,
Andy Shevchenko
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help