<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/include/linux/i2c-algo-bit.h, branch v6.12.80</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v6.12.80</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v6.12.80'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2019-04-16T11:08:16+00:00</updated>
<entry>
<title>i2c: algo: bit: add flag to whitelist atomic transfers</title>
<updated>2019-04-16T11:08:16+00:00</updated>
<author>
<name>Wolfram Sang</name>
<email>wsa+renesas@sang-engineering.com</email>
</author>
<published>2019-04-03T12:40:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=8927fbf481248954ca1fc5e652171936b94905ac'/>
<id>urn:sha1:8927fbf481248954ca1fc5e652171936b94905ac</id>
<content type='text'>
Use the new xfer_atomic callback to check a newly introduced flag to
whitelist atomic transfers. This will report configurations which
worked accidently.

Signed-off-by: Wolfram Sang &lt;wsa+renesas@sang-engineering.com&gt;
Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
</content>
</entry>
<entry>
<title>i2c: algo-bit: convert to SPDX header</title>
<updated>2019-02-05T13:05:03+00:00</updated>
<author>
<name>Wolfram Sang</name>
<email>wsa+renesas@sang-engineering.com</email>
</author>
<published>2019-01-19T12:16:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=738ac0679b969776a638daf2cfb5011049d467da'/>
<id>urn:sha1:738ac0679b969776a638daf2cfb5011049d467da</id>
<content type='text'>
And use kernel style for the remaining comments in the header.

Signed-off-by: Wolfram Sang &lt;wsa+renesas@sang-engineering.com&gt;
Reviewed-by: Simon Horman &lt;horms+renesas@verge.net.au&gt;
Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
</content>
</entry>
<entry>
<title>i2c: algo-bit: include main i2c header</title>
<updated>2019-02-05T13:05:03+00:00</updated>
<author>
<name>Wolfram Sang</name>
<email>wsa+renesas@sang-engineering.com</email>
</author>
<published>2019-01-19T12:16:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=2292822e1576c89191a65c3d0da584d75d3c033f'/>
<id>urn:sha1:2292822e1576c89191a65c3d0da584d75d3c033f</id>
<content type='text'>
We are using symbols from it, so we should include it directly. Found
after sorting includes in a driver.

Signed-off-by: Wolfram Sang &lt;wsa+renesas@sang-engineering.com&gt;
Reviewed-by: Simon Horman &lt;horms+renesas@verge.net.au&gt;
Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
</content>
</entry>
<entry>
<title>i2c: Update the FSF address</title>
<updated>2012-03-26T19:47:19+00:00</updated>
<author>
<name>Jean Delvare</name>
<email>khali@linux-fr.org</email>
</author>
<published>2012-03-26T19:47:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=5694f8a888f8f69a562e4cf939eed81ca7a5ecf2'/>
<id>urn:sha1:5694f8a888f8f69a562e4cf939eed81ca7a5ecf2</id>
<content type='text'>
Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
</content>
</entry>
<entry>
<title>i2c: export bit-banging algo functions</title>
<updated>2012-02-29T19:47:42+00:00</updated>
<author>
<name>Daniel Vetter</name>
<email>daniel.vetter@ffwll.ch</email>
</author>
<published>2012-02-27T23:39:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=b0209b39951868069710c1e39ca14add9fa77ada'/>
<id>urn:sha1:b0209b39951868069710c1e39ca14add9fa77ada</id>
<content type='text'>
i915 has a hw i2c controller (gmbus) but for a bunch of stupid reasons
we need to be able to fall back to the bit-banging algo on gpio pins.

The current code sets up a 2nd i2c controller for the same i2c bus using
the bit-banging algo. This has a bunch of issues, the major one being
that userspace can directly access this fallback i2c adaptor behind
the drivers back.

But we need to frob a few registers before and after using fallback
gpio bit-banging, so this horribly fails.

The new plan is to only set up one i2c adaptor and transparently fall
back to bit-banging by directly calling the xfer function of the bit-
banging algo in the i2c core.

To make that possible, export the 2 i2c algo functions.

v2: As suggested by Jean Delvare, simply export the i2c_bit_algo
vtable instead of the individual functions.

Acked-by: Jean Delvare &lt;khali@linux-fr.org&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
</content>
</entry>
<entry>
<title>i2c-algo-bit: Add pre- and post-xfer hooks</title>
<updated>2010-03-13T19:56:56+00:00</updated>
<author>
<name>Jean Delvare</name>
<email>khali@linux-fr.org</email>
</author>
<published>2010-03-13T19:56:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=0a9c14751377a1407f5e35791e13651d2fc7801c'/>
<id>urn:sha1:0a9c14751377a1407f5e35791e13651d2fc7801c</id>
<content type='text'>
Drivers might have to do random things before and/or after I2C
transfers. Add hooks to the i2c-algo-bit implementation to let them do
so.

Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
Cc: Alex Deucher &lt;alexdeucher@gmail.com&gt;
</content>
</entry>
<entry>
<title>include files: convert "include" subdirectory to UTF-8</title>
<updated>2007-05-09T06:58:21+00:00</updated>
<author>
<name>John Anthony Kazos Jr</name>
<email>jakj@j-a-k-j.com</email>
</author>
<published>2007-05-09T06:30:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=121e70b69aef898a3c02fa90d0a2108381bcf975'/>
<id>urn:sha1:121e70b69aef898a3c02fa90d0a2108381bcf975</id>
<content type='text'>
Convert the "include" subdirectory to UTF-8.

Signed-off-by: John Anthony Kazos Jr. &lt;jakj@j-a-k-j.com&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
</entry>
<entry>
<title>i2c-algo-bit: Implement a 50/50 SCL duty cycle</title>
<updated>2007-05-01T21:26:33+00:00</updated>
<author>
<name>Jean Delvare</name>
<email>khali@linux-fr.org</email>
</author>
<published>2007-05-01T21:26:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=424ed67c7dae37e8115e1bebc3261e86a624dff2'/>
<id>urn:sha1:424ed67c7dae37e8115e1bebc3261e86a624dff2</id>
<content type='text'>
The original i2c-algo-bit implementation uses a 33/66 SCL duty cycle
when bits are being written on the bus. While the I2C specification
doesn't forbid it, this prevents us from driving the I2C bus to its
max speed, limiting us to 66 kbps max on standard I2C busses.

Implementing a 50/50 duty cycle instead lets us max out the bandwidth
up to the theoretical max of 100 kbps on standard I2C busses. This is
particularly important when large amounts of data need to be transfered
over the bus, as is the case with some TV adapters when the firmware is
being uploaded.

In fact this change even allows, at least in theory, fast-mode I2C
support at 125, 166 and 250 kbps. There's no way to reach the
theoretical max of 400 kbps with this implementation. But I don't
think we want to put efforts in that direction anyway: software-driven
I2C is very CPU-intensive and bad for latency.

Other timing changes:
* Don't set SDA high explicitly on error, we're going to issue a stop
  condition before we leave anyway.
* If an error occurs when sending the slave address, yield the CPU
  before retrying, and remove the additional delay after the new start
  condition.

Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
</content>
</entry>
<entry>
<title>i2c-algo-bit: Add i2c_bit_add_numbered_bus</title>
<updated>2007-05-01T21:26:31+00:00</updated>
<author>
<name>Jean Delvare</name>
<email>khali@linux-fr.org</email>
</author>
<published>2007-05-01T21:26:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=0f3b48385213355a2d4408bec1b481ffcf0e8638'/>
<id>urn:sha1:0f3b48385213355a2d4408bec1b481ffcf0e8638</id>
<content type='text'>
Add i2c_bit_add_numbered_bus(), which is equivalent to i2c_bit_add_bus
except that it calls i2c_add_numbered_adapter() at the end instead of
i2c_add_adapter().

Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
</content>
</entry>
<entry>
<title>i2c: Discard the i2c algo del_bus wrappers</title>
<updated>2006-12-10T20:21:33+00:00</updated>
<author>
<name>Jean Delvare</name>
<email>khali@linux-fr.org</email>
</author>
<published>2006-12-10T20:21:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=3269711b76ba27b78862c48398b0d313ccaa99c2'/>
<id>urn:sha1:3269711b76ba27b78862c48398b0d313ccaa99c2</id>
<content type='text'>
They are all only calling i2c_del_adapter, so we may as well do
it directly.

Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
</content>
</entry>
</feed>
