History log of /haiku/src/add-ons/accelerants/common/i2c.c
Revision Date Author Comments
# 5f90c372 27-Mar-2022 Jérôme Duval <jerome.duval@gmail.com>

intel_extreme: change i2c_send_receive to a hook

common: i2c/ddc uses a 7-bit address for EDID.

Change-Id: Ic1bba2a23174c671bd7374104596c22433bd343a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5171
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# 72191886 30-Oct-2021 Rudolf Cornelissen <rudhaiku@gmail.com>

accelerants common: fix crash on x86 i2c tracing


# 79d1ca0f 16-Jul-2019 Adrien Destugues <pulkomandy@pulkomandy.tk>

PVS V564: use of bitwise operators on booleans

Change-Id: I0a0cd7ddba0abaef27700f1ba05bf99bb8c7a400
Reviewed-on: https://review.haiku-os.org/c/1607
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 39bc159e 30-Sep-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* small bit of common i2c / ddc white space cleanup
* small bit of tracing cleanup
* no functional change


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42794 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f61b3e20 29-Sep-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* there's one 'l' in Philips
* no functional change


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42778 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 495a05fa 29-Sep-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* reading through i2c specs, little comment cleanup
* add a few notes for future i2c bit-bangers
* cleanup of tracing
* no real functional change


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42777 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b5172954 21-Aug-2009 Michael Lotz <mmlr@mlotz.ch>

Better watch your bools in C code. In C99, the bool type of the argument to
send_bit() causes a type conversion from the value handed in to 0 or 1. This
clashed with the usage in send_byte(), that hands over a shifted byte. The
argument was converted to true when it had any value other than 0, whereas
before (where a bool simply was an int) it would have just handed over the value
directly. Therefore the logic in send_bit() that simply masked off the lowest
bit of the value would now not work anymore.
This fixes EDID failing on GCC4 and therefore fixes #2275, the last issue of
#4084 and may also affect #2780.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32593 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4caccc45 20-Aug-2009 Rudolf Cornelissen <rudolf.cornelissen@gmail.com>

modified the 100kHz timing inside the DDC common accelerant code. If delays with values near the timer resolution are required, the values should always have one resolution step added since otherwise the minimum delay isn't quaranteed. the 400khz timing needs fixing as well I guess... This modification fixes at least ticket #4084 where a DDC monitor isn't detected otherwise.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32540 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7ee180f3 01-Jun-2008 Rene Gollent <anevilyak@gmail.com>

Fix I2C tracing, style cleanups.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25749 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 93a1ccab 19-Sep-2007 Axel Dörfler <axeld@pinc-software.de>

* Separated I2C from DDC a bit more.
* i2c_bus now contains a i2c_timing structure, so that you don't need
both to talk to the I2C bus.
* Therefore, there is now a void ddc2_init_timing() function to get the
the timing DDC needs.
* Cleanup in radeon's monitor_detection.c, and updated it to work with
the DDC/I2C changes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22265 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7b48d975 31-Jul-2007 Axel Dörfler <axeld@pinc-software.de>

Patch by Vasilis Kaoutsis - thanks!:
* Fixed some warnings.
* Style cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21774 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2a37e4c1 15-Jul-2004 shadow303 <shadow303@nowhere.fake>

Upgrade to version 4.1 of radeon driver.
Includes some common routines which can be used by other accelerants.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8406 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 39bc159e6ebf1cb66068a5f1824f3033a62ba375 30-Sep-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* small bit of common i2c / ddc white space cleanup
* small bit of tracing cleanup
* no functional change


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42794 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f61b3e2026d71cbd2d021a1a2c9ee0b29faf7823 29-Sep-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* there's one 'l' in Philips
* no functional change


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42778 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 495a05fa9f70d0543df1b8e74e0a9bc6bb686875 29-Sep-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* reading through i2c specs, little comment cleanup
* add a few notes for future i2c bit-bangers
* cleanup of tracing
* no real functional change


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42777 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b5172954bb782ff46a757793c6ae330fff01e3c8 21-Aug-2009 Michael Lotz <mmlr@mlotz.ch>

Better watch your bools in C code. In C99, the bool type of the argument to
send_bit() causes a type conversion from the value handed in to 0 or 1. This
clashed with the usage in send_byte(), that hands over a shifted byte. The
argument was converted to true when it had any value other than 0, whereas
before (where a bool simply was an int) it would have just handed over the value
directly. Therefore the logic in send_bit() that simply masked off the lowest
bit of the value would now not work anymore.
This fixes EDID failing on GCC4 and therefore fixes #2275, the last issue of
#4084 and may also affect #2780.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32593 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4caccc456d0a0b0d7fd775ba074f7da6d811b1e1 20-Aug-2009 Rudolf Cornelissen <rudolf.cornelissen@gmail.com>

modified the 100kHz timing inside the DDC common accelerant code. If delays with values near the timer resolution are required, the values should always have one resolution step added since otherwise the minimum delay isn't quaranteed. the 400khz timing needs fixing as well I guess... This modification fixes at least ticket #4084 where a DDC monitor isn't detected otherwise.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32540 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7ee180f34daeff3808b2954b94e18e0b64890c0c 01-Jun-2008 Rene Gollent <anevilyak@gmail.com>

Fix I2C tracing, style cleanups.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25749 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 93a1ccabb982a7cbe20ded2f02fdc7ffa4950af6 19-Sep-2007 Axel Dörfler <axeld@pinc-software.de>

* Separated I2C from DDC a bit more.
* i2c_bus now contains a i2c_timing structure, so that you don't need
both to talk to the I2C bus.
* Therefore, there is now a void ddc2_init_timing() function to get the
the timing DDC needs.
* Cleanup in radeon's monitor_detection.c, and updated it to work with
the DDC/I2C changes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22265 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7b48d975f5fb016844699e31d1477337a09c04fb 31-Jul-2007 Axel Dörfler <axeld@pinc-software.de>

Patch by Vasilis Kaoutsis - thanks!:
* Fixed some warnings.
* Style cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21774 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2a37e4c1cf59b445e309a3880ceed82d25a0d107 15-Jul-2004 shadow303 <shadow303@nowhere.fake>

Upgrade to version 4.1 of radeon driver.
Includes some common routines which can be used by other accelerants.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8406 a95241bf-73f2-0310-859d-f6bbb57e9c96