Hi, On 29-11-16 14:06, Hans de Goede wrote:
<Snip> > p.s. > > I'm also trying to come up with some patches which properly > integrate pwm-lpss with the i915 driver instead of it > throwing a "Failed to own the pwm chip" error. But as soon > as I hook up things so that pwm_get() returns the pwm-lpss > pwm0 I hit: > > https://bugs.freedesktop.org/show_bug.cgi?id=97330 > > I get the same pipe-a stuck (or not seeing vblank irqs?) > problems sometimes without the pwm-lpss driver in the loop > but then only sometimes and with pwm-lpss I get this > problem when loading the i915 driver most of the time > (but not all the time). > > I've been debugging this a couple of evenings in a row > now, but no luck sofar. Ok, a couple of more evenings of debugging + working on this today has finally resulted in me finding a fix :) The problem is that on driver load we call chv_pipe_power_well_ops.enable() which calls vlv_init_display_clock_gating() which clears the DPOUNIT_CLOCK_GATE_DISABLE bit in DSPCLK_GATE_D while the DSI panel is being driven by PIPE-A, as already documented in intel_dsi_pre_enable() allowing the DPOUNIT to get gated while DSI active will result in a stuck PIPE-A. I've written a patch for this, I'll send this right after this mail, and attach it to bug: https://bugs.freedesktop.org/show_bug.cgi?id=97330 Which I believe is the same issue. Regards, Hans