[Bug 92084] [BDW][drm:gen8_irq_handler [i915]] *ERROR* The master control interrupt lied (SDE)!
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Mon Oct 5 04:26:42 PDT 2015
https://bugs.freedesktop.org/show_bug.cgi?id=92084
--- Comment #15 from Jani Nikula <jani.nikula at intel.com> ---
(In reply to Ville Syrjala from comment #13)
> (In reply to Jani Nikula from comment #12)
> > However this helps. We're missing something.
> >
> > diff --git a/drivers/gpu/drm/i915/i915_irq.c
> > b/drivers/gpu/drm/i915/i915_irq.c
> > index 76bd40e13391..0d524034abd7 100644
> > --- a/drivers/gpu/drm/i915/i915_irq.c
> > +++ b/drivers/gpu/drm/i915/i915_irq.c
> > @@ -1827,6 +1827,9 @@ static void ibx_hpd_irq_handler(struct drm_device
> > *dev, u32 hotplug_trigger,
> > dig_hotplug_reg = I915_READ(PCH_PORT_HOTPLUG);
> > I915_WRITE(PCH_PORT_HOTPLUG, dig_hotplug_reg);
>
> Is the read alone enough, or do you need the write too?
Moving the write below the !hotplug_trigger check brings the problem back, i.e.
the write is also needed.
> > + if (!hotplug_trigger)
> > + return;
> > +
> > intel_get_hpd_pins(&pin_mask, &long_mask, hotplug_trigger,
> > dig_hotplug_reg, hpd,
> > pch_port_hotplug_long_detect);
> > @@ -1934,8 +1937,7 @@ static void cpt_irq_handler(struct drm_device *dev,
> > u32 pch_iir)
> > int pipe;
> > u32 hotplug_trigger = pch_iir & SDE_HOTPLUG_MASK_CPT;
> >
> > - if (hotplug_trigger)
> > - ibx_hpd_irq_handler(dev, hotplug_trigger, hpd_cpt);
> > + ibx_hpd_irq_handler(dev, hotplug_trigger, hpd_cpt);
> >
> > if (pch_iir & SDE_AUDIO_POWER_MASK_CPT) {
> > int port = ffs((pch_iir & SDE_AUDIO_POWER_MASK_CPT) >>
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are on the CC list for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/intel-gfx-bugs/attachments/20151005/63a58dad/attachment.html>
More information about the intel-gfx-bugs
mailing list