Message ID | 87a9e318m6.fsf@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri, 7 Feb 2014, Jani Nikula wrote: > >> > git://people.freedesktop.org/~airlied/linux drm-next > >> [ ... snip ... ] > >> > Daniel Vetter (59): > >> [ ... snip ... ] > >> > drm/i915: dp aux irq support for g4x/vlv > >> > >> This commit causes all kinds of havoc on my ThinkPad x200s. It results in > > [ ... snip ... ] > > > > Not having received any response, I suggest the following for 3.14 > > Daniel, it's your commit this bisects to... > > If we end up having to revert, I'd just touch the has_aux_irq part, for > example: > > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c > index 5ede4e8..464c047 100644 > --- a/drivers/gpu/drm/i915/intel_dp.c > +++ b/drivers/gpu/drm/i915/intel_dp.c > @@ -404,7 +404,7 @@ intel_dp_aux_ch(struct intel_dp *intel_dp, > int i, ret, recv_bytes; > uint32_t status; > int try, precharge, clock = 0; > - bool has_aux_irq = true; > + bool has_aux_irq = INTEL_INFO(dev)->gen >= 5; > uint32_t timeout; > > /* dp aux is extremely sensitive to irq latency, hence request the That, obviously, works for my system as well. Feel free to add Reported-and-tested-by: Jiri Kosina <jkosina@suse.cz> if you are going with this instead of the revert.
On Fri, Feb 7, 2014 at 2:40 PM, Jiri Kosina <jkosina@suse.cz> wrote: > On Fri, 7 Feb 2014, Jani Nikula wrote: > >> >> > git://people.freedesktop.org/~airlied/linux drm-next >> >> [ ... snip ... ] >> >> > Daniel Vetter (59): >> >> [ ... snip ... ] >> >> > drm/i915: dp aux irq support for g4x/vlv >> >> >> >> This commit causes all kinds of havoc on my ThinkPad x200s. It results in >> > [ ... snip ... ] >> > >> > Not having received any response, I suggest the following for 3.14 >> >> Daniel, it's your commit this bisects to... >> >> If we end up having to revert, I'd just touch the has_aux_irq part, for >> example: >> >> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c >> index 5ede4e8..464c047 100644 >> --- a/drivers/gpu/drm/i915/intel_dp.c >> +++ b/drivers/gpu/drm/i915/intel_dp.c >> @@ -404,7 +404,7 @@ intel_dp_aux_ch(struct intel_dp *intel_dp, >> int i, ret, recv_bytes; >> uint32_t status; >> int try, precharge, clock = 0; >> - bool has_aux_irq = true; >> + bool has_aux_irq = INTEL_INFO(dev)->gen >= 5; >> uint32_t timeout; >> >> /* dp aux is extremely sensitive to irq latency, hence request the > > That, obviously, works for my system as well. Feel free to add > > Reported-and-tested-by: Jiri Kosina <jkosina@suse.cz> > > if you are going with this instead of the revert. Sorry for missing your report here. Before we disable this again for gen4 I want to make sure that it's the same irq misrouting issue which was already the cause for the gmbus irq mess. Can you please boot with pci=nomsi (so that i915 uses irq16)? If that's confirmed then I think we should add the same comment we've added in intel_i2c.c to this code so that no one dares to wake this dragon again. I'll do that when I commit the fix. Thanks, Daniel
On Fri, 7 Feb 2014, Daniel Vetter wrote: > Sorry for missing your report here. Before we disable this again for > gen4 I want to make sure that it's the same irq misrouting issue which > was already the cause for the gmbus irq mess. Can you please boot with > pci=nomsi (so that i915 uses irq16)? > > If that's confirmed then I think we should add the same comment we've > added in intel_i2c.c to this code so that no one dares to wake this > dragon again. I'll do that when I commit the fix. Confirmed, with MSI disabled, i915 is using IRQ 16 and everything is working well.
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index 5ede4e8..464c047 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c @@ -404,7 +404,7 @@ intel_dp_aux_ch(struct intel_dp *intel_dp, int i, ret, recv_bytes; uint32_t status; int try, precharge, clock = 0; - bool has_aux_irq = true; + bool has_aux_irq = INTEL_INFO(dev)->gen >= 5; uint32_t timeout; /* dp aux is extremely sensitive to irq latency, hence request the