<feed xmlns='http://www.w3.org/2005/Atom'>
<title>BMC/Intel-BMC/linux.git/drivers/i2c, branch dev-4.6</title>
<subtitle>Intel OpenBMC Linux kernel source tree (mirror)</subtitle>
<id>https://git.radix-linux.su/BMC/Intel-BMC/linux.git/atom?h=dev-4.6</id>
<link rel='self' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/atom?h=dev-4.6'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/'/>
<updated>2016-07-12T09:59:33+00:00</updated>
<entry>
<title>i2c/aspeed: Do not enable SMBUS Alert IRQ</title>
<updated>2016-07-12T09:59:33+00:00</updated>
<author>
<name>Joel Stanley</name>
<email>joel@jms.id.au</email>
</author>
<published>2016-06-14T23:53:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=bb81bfb8ebfe72a0d6d6dc5536b4cf88a9fa1234'/>
<id>urn:sha1:bb81bfb8ebfe72a0d6d6dc5536b4cf88a9fa1234</id>
<content type='text'>
We do not handle this in our driver, so do not enable the IRQ.

TODO: Investigate why the whiterspoon board was asserting this IRQ.

Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>drivers/i2c/i2c-aspeed: Only use IRQ status for command completion notification</title>
<updated>2016-07-12T09:59:24+00:00</updated>
<author>
<name>Jeremy Kerr</name>
<email>jk@ozlabs.org</email>
</author>
<published>2016-05-25T09:12:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=c3934d2eaada9c7af3f648994af8c40d988f172f'/>
<id>urn:sha1:c3934d2eaada9c7af3f648994af8c40d988f172f</id>
<content type='text'>
We currently determine if an i2c command as complete by looking at the command
register (and comparing it with the pending set of commands). While this
may indicate that all pending commands have completed, we may still get
a further interrupt when multiple commands (like a read + stop) have
been queued.

This change uses the interrupt status to indicate command completion,
instead of the command register.

Signed-off-by: Jeremy Kerr &lt;jk@ozlabs.org&gt;
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>i2c/aspeed: Print error when failing to get clock</title>
<updated>2016-06-03T20:52:05+00:00</updated>
<author>
<name>Joel Stanley</name>
<email>joel@jms.id.au</email>
</author>
<published>2016-05-25T07:00:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=fdf916acfb9b045903a64edd5906eff4b16ec085'/>
<id>urn:sha1:fdf916acfb9b045903a64edd5906eff4b16ec085</id>
<content type='text'>
This was a drv_dbg, but it's really an error.

Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>i2c: Add driver for ast2400 i2c master</title>
<updated>2016-06-03T20:51:41+00:00</updated>
<author>
<name>Joel Stanley</name>
<email>joel@jms.id.au</email>
</author>
<published>2015-08-12T06:14:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=29dda917d642b15696e8c45d39a2b0f07fb75143'/>
<id>urn:sha1:29dda917d642b15696e8c45d39a2b0f07fb75143</id>
<content type='text'>
 - Rip out slave mode code
 - Use per-adapter device
 - Use separate controller &amp; bus platform devices, use an irq controller
   for busses
 - Don't send stop when we're not done

Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
Signed-off-by: Jeremy Kerr &lt;jk@ozlabs.org&gt;
Signed-off-by: Milton Miller &lt;miltonm@us.ibm.com&gt;
</content>
</entry>
<entry>
<title>i2c: exynos5: Fix possible ABBA deadlock by keeping I2C clock prepared</title>
<updated>2016-04-22T13:31:54+00:00</updated>
<author>
<name>Javier Martinez Canillas</name>
<email>javier@osg.samsung.com</email>
</author>
<published>2016-04-17T01:14:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=10ff4c5239a137abfc896ec73ef3d15a0f86a16a'/>
<id>urn:sha1:10ff4c5239a137abfc896ec73ef3d15a0f86a16a</id>
<content type='text'>
The exynos5 I2C controller driver always prepares and enables a clock
before using it and then disables unprepares it when the clock is not
used anymore.

But this can cause a possible ABBA deadlock in some scenarios since a
driver that uses regmap to access its I2C registers, will first grab
the regmap lock and then the I2C xfer function will grab the prepare
lock when preparing the I2C clock. But since the clock driver also
uses regmap for I2C accesses, preparing a clock will first grab the
prepare lock and then the regmap lock when using the regmap API.

An example of this happens on the Exynos5422 Odroid XU4 board where a
s2mps11 PMIC is used and both the s2mps11 regulators and clk drivers
share the same I2C regmap.

The possible deadlock is reported by the kernel lockdep:

  Possible unsafe locking scenario:

        CPU0                    CPU1
        ----                    ----
   lock(sec_core:428:(regmap)-&gt;lock);
                                lock(prepare_lock);
                                lock(sec_core:428:(regmap)-&gt;lock);
   lock(prepare_lock);

  *** DEADLOCK ***

Fix it by leaving the code prepared on probe and use {en,dis}able in
the I2C transfer function.

This patch is similar to commit 34e81ad5f0b6 ("i2c: s3c2410: fix ABBA
deadlock by keeping clock prepared") that fixes the same bug in other
driver for an I2C controller found in Samsung SoCs.

Reported-by: Anand Moon &lt;linux.amoon@gmail.com&gt;
Signed-off-by: Javier Martinez Canillas &lt;javier@osg.samsung.com&gt;
Reviewed-by: Anand Moon &lt;linux.amoon@gmail.com&gt;
Reviewed-by: Krzysztof Kozlowski &lt;k.kozlowski@samsung.com&gt;
Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
Cc: stable@kernel.org
</content>
</entry>
<entry>
<title>i2c: cpm: Fix build break due to incompatible pointer types</title>
<updated>2016-04-22T13:25:53+00:00</updated>
<author>
<name>Michael Ellerman</name>
<email>mpe@ellerman.id.au</email>
</author>
<published>2016-04-13T03:59:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=609d5a1b2b35bb62b4b3750396e55453160c2a17'/>
<id>urn:sha1:609d5a1b2b35bb62b4b3750396e55453160c2a17</id>
<content type='text'>
Since commit ea8daa7b9784 ("kbuild: Add option to turn incompatible
pointer check into error"), assignments from an incompatible pointer
types have become a hard error, eg:

  drivers/i2c/busses/i2c-cpm.c:545:91: error: passing argument 3 of
  'dma_alloc_coherent' from incompatible pointer type

Fix the build break by converting txdma &amp; rxdma to dma_addr_t.

Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
Cc: stable@kernel.org
Fixes: ea8daa7b9784
</content>
</entry>
<entry>
<title>i2c: ismt: Add Intel DNV PCI ID</title>
<updated>2016-04-12T21:44:16+00:00</updated>
<author>
<name>Mika Westerberg</name>
<email>mika.westerberg@linux.intel.com</email>
</author>
<published>2016-04-08T12:41:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=abaa7b0c1286ca1610a6dfa079e1d2e27dca1f25'/>
<id>urn:sha1:abaa7b0c1286ca1610a6dfa079e1d2e27dca1f25</id>
<content type='text'>
Intel DNV has the same iSMT SMBus host controller than Intel Avoton. Add
DNV PCI ID to the list of supported devices.

Signed-off-by: Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;
Acked-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;
Acked-by: Neil Horman &lt;nhorman@tuxdriver.com&gt;
Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
</content>
</entry>
<entry>
<title>i2c: xlp9xx: add support for Broadcom Vulcan</title>
<updated>2016-04-12T21:40:11+00:00</updated>
<author>
<name>Tanmay Jagdale</name>
<email>tanmay.jagdale@broadcom.com</email>
</author>
<published>2016-04-11T12:31:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=8574ad7800ad298dc7f184f12b454a67fa3dd839'/>
<id>urn:sha1:8574ad7800ad298dc7f184f12b454a67fa3dd839</id>
<content type='text'>
The Broadcom Vulcan ARM64 processor uses the same I2C controller
present on the Broadcom XLP9xx/5xx MIPS processor family.
Updated the Kconfig by adding ARCH_VULCAN option.

Signed-off-by: Tanmay Jagdale &lt;tanmay.jagdale@broadcom.com&gt;
Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
</content>
</entry>
<entry>
<title>i2c: rk3x: add support for rk3228</title>
<updated>2016-04-12T21:34:44+00:00</updated>
<author>
<name>Yakir Yang</name>
<email>ykk@rock-chips.com</email>
</author>
<published>2016-03-14T03:09:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=b0b6d123f5df189d7d3a62d450e5f5c33ad614d8'/>
<id>urn:sha1:b0b6d123f5df189d7d3a62d450e5f5c33ad614d8</id>
<content type='text'>
Enable the I2C core for this SoC.

Signed-off-by: Yakir Yang &lt;ykk@rock-chips.com&gt;
Reviewed-by: Heiko Stuebner &lt;heiko@sntech.de&gt;
Acked-by: Rob Herring &lt;robh@kernel.org&gt;
Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
</content>
</entry>
<entry>
<title>i2c: jz4780: really prevent potential division by zero</title>
<updated>2016-04-09T06:36:44+00:00</updated>
<author>
<name>Wolfram Sang</name>
<email>wsa@the-dreams.de</email>
</author>
<published>2016-04-03T21:32:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=caf280800aaf73f0796d1bb3fa0f6576c8222258'/>
<id>urn:sha1:caf280800aaf73f0796d1bb3fa0f6576c8222258</id>
<content type='text'>
Make sure we avoid a division-by-zero OOPS in case clock-frequency is
set too low in DT. Add missing '\n' while we are here.

Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
Acked-by: Axel Lin &lt;axel.lin@ingics.com&gt;
</content>
</entry>
</feed>
