[Intel-gfx] i915 I2C failures with recent chips and docking stations

Ville Syrjälä ville.syrjala at linux.intel.com
Fri May 5 20:27:56 UTC 2017


On Fri, May 05, 2017 at 03:53:39AM -0400, Sanford Rockowitz wrote:
> I am the author of ddcutil (www.ddcutil.com), a Linux utility that
> manages monitor settings using DDC/CI. I am seeing a pattern of user
> error reports in which I2C communication is not working when a system
> with a recent Intel chip, using the i915 driver, is plugged into a
> docking station.  Communication works when the video cable is plugged
> directly into the laptop.   There also seems to be a correlation with
> whether a DisplayPort cable is being used (i.e. the I2C-over-aux path is
> being executed), though this correlation is not as clear.

Apart from the MST issues already mentioned, I have noticed (at least
with some displays) that the DDC/CI slaves don't seem to do clock
stretching properly, and that the default 100kHz clock tends to be
too much for them. A while ago I tried to cook up some hacks to work
around these issues both in our i2c and i2c-over-aux code. The idea
was to just reduce the bus speed whenever DDC/CI is being attempted.

My hacks are here:
git://github.com/vsyrjala/linux.git i2c_bus_speed

But do note that I've not seem many DP dongles that actually support
the i2c bus speed control, so the usefulness of the i2c-over-aux
part of that code might be a little questionable. I also didn't
implement anything for the MST case, so those would still be using
whatever is the default bus speed.

-- 
Ville Syrjälä
Intel OTC


More information about the Intel-gfx mailing list