On 06/12/2012 04:16 AM, Laxman Dewangan wrote: > On Tuesday 12 June 2012 01:24 PM, Wolfram Sang wrote: >> * PGP Signed by an unknown key >> >> On Tue, Jun 05, 2012 at 06:39:57PM +0530, Laxman Dewangan wrote: >>> @@ -430,6 +430,13 @@ static irqreturn_t tegra_i2c_isr(int irq, void >>> *dev_id) >>> if (i2c_dev->is_dvc) >>> dvc_writel(i2c_dev, DVC_STATUS_I2C_DONE_INTR, DVC_STATUS); >>> >>> + /* >>> + * Register write get queued in the PPSB bus and write can >>> + * happen later. Read back register to make sure that register >>> + * write is completed. >>> + */ >>> + i2c_readl(i2c_dev, I2C_INT_STATUS); >> >> Does it make sense to put the read into i2c_writel? > > We can not put in i2c_writel() as we also do fifo write using this and > writing and reading back fifo can drainout the fifo. > hence putting this here seems more appropriate. You can put it inside i2c_writel(), but make the read-back conditional depending on which register was just written. The Tegra SD driver has similar conditional code in readl/writel to WAR some HW quirks. -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html