i2c: tegra: make sure register writes completes
authorLaxman Dewangan <ldewangan@nvidia.com>
Wed, 13 Jun 2012 10:12:36 +0000 (15:12 +0530)
committerSimone Willett <swillett@nvidia.com>
Thu, 19 Jul 2012 22:38:42 +0000 (15:38 -0700)
commit5642461e69a5a051a4f748c0330270982ada3d20
tree0229b5573326a0d614ced3cf4bf2d4ace422d320
parent4bee10d8a9b5404c490fe2c6ed4bac574f9d20f0
i2c: tegra: make sure register writes completes

The Tegra PPSB (an peripheral bus) queues writes transactions.
In order to guarantee that writes have completed before a
certain time, a read transaction to a register on the same
bus must be executed.
This is necessary in situations such as when clearing an
interrupt status or enable, so that when returning from an
interrupt handler, the HW has already de-asserted its
interrupt status output, which will avoid spurious interrupts.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Cherry-picked from mainline
ec7aaca2f64f509f45d463d784b41d0b3d2be083

Change-Id: I4f064c38993031303bfeef794015efd5517561cc
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/116469
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
Tested-by: Bandi Krishna Chaitanya <bandik@nvidia.com>
drivers/i2c/busses/i2c-tegra.c