<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [BDW][drm:gen8_irq_handler [i915]] *ERROR* The master control interrupt lied (SDE)!"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=92084#c14">Comment # 14</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [BDW][drm:gen8_irq_handler [i915]] *ERROR* The master control interrupt lied (SDE)!"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=92084">bug 92084</a>
              from <span class="vcard"><a class="email" href="mailto:sonika.jindal@intel.com" title="Sonika <sonika.jindal@intel.com>"> <span class="fn">Sonika</span></a>
</span></b>
        <pre>(In reply to Jani Nikula from <a href="show_bug.cgi?id=92084#c12">comment #12</a>)
<span class="quote">> 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);
>  
> +       if (!hotplug_trigger)
> +               return;
> +</span >
Oh, but the whole point of the patch ( drm/i915: Handle HPD when it has
actually occurred) was to disallaow writing to PCH_PORT_HOTPLUG register when
the HPD did not occur.
And this shows stable HPD with SKL for me and was inline with other interrupts
handling.

Do these "[drm:gen8_irq_handler [i915]] *ERROR* The master control interrupt
lied (SDE)!" messages have any effect on HPD?

<span class="quote">>         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) >></span ></pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the QA Contact for the bug.</li>
          <li>You are on the CC list for the bug.</li>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>