On Wed, Jan 28, 2015 at 11:09:21AM +0200, Jani Nikula wrote: > On Tue, 27 Jan 2015, Simon Farnsworth <simon.farnsworth@xxxxxxxxxxxx> wrote: > > DisplayPort to DVI-D Dual Link adapters designed by Bizlink have bugs in > > their I2C over AUX implementation. They work fine with Windows, but fail > > with Linux. > > > > It turns out that they cannot keep an I2C transaction open unless the > > previous read was 16 bytes; shorter reads can only be followed by a zero > > byte transfer ending the I2C transaction. > > > > Copy Windows's behaviour, and read 16 bytes at a time. If we get a short > > reply, assume that there's a hardware bottleneck, and shrink our read size > > to match. For this purpose, use the algorithm in the DisplayPort 1.2 spec, > > in the hopes that it'll be closest to what Windows does, as no sink I've > > found actually gives short replies. > > > > Also provide a module parameter for testing smaller transfer sizes, in case > > there are sinks out there that cannot work with Windows. > > > > Signed-off-by: Simon Farnsworth <simon.farnsworth@xxxxxxxxxxxx> > > --- > > > > v3 changes, after feedback from Ville and more testing of Windows: > > > > * Change the short reply algorithm to match Ville's description of the > > DisplayPort 1.2 spec wording. > > > > * Add a module parameter to set the default transfer size for > > experiments. Requested over IRC by Ville. > > IMO module parameters are ABI we shouldn't add just because we might > need them. Also see my reply in the other thread > http://mid.gmane.org/877fw7s2lh.fsf@xxxxxxxxx Imo just marking it as _unsafe is good enough to make it clear that it's for debugging only. -Daniel -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel