[Bug 71701] Regression, Dual-Head, i915 mode-setting driver, "pipe B stuck"

bugzilla-daemon at bugzilla.kernel.org bugzilla-daemon at bugzilla.kernel.org
Wed Mar 12 11:45:36 PDT 2014


https://bugzilla.kernel.org/show_bug.cgi?id=71701

--- Comment #12 from Kris Karas <bugs-a13 at moonlit-rail.com> ---
More experiments:

Using Jani Nikula's logic from comment #8, but without imposing any upper limit
on loop count, the loop exits with retry == 14 most of the time.  And again,
that value 14 is probably specific to my monitor's DisplayPort interface
circuitry.

Next, I tried an exponential delay series rather than geometric:
    for (retry = 1; retry < 50; ++retry) {
      ...
      usleep_range(retry*retry*400, retry*retry*500);
    }
This failed spectacularly, many BUG/WARNING in kernel log about failures in
link training.  Puzzling.  That made me think about the delta in the usleep
range.

My next experiment was to use the exponential delay series, but limit the delta
in the usleep range, like so:
    for (retry = 1; retry < 50; ++retry) {
      ...
      usleep_range(retry*retry*400, retry*retry*400 + 100);
    }
This succeeds repeatedly, though I don't know why relative to experiment #2.
Approximately 40% of the time, the loop exits with retry == 3, and the other
60% of the time, the loop exits with retry == 8.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the intel-gfx-bugs mailing list