• Ben Widawsky's avatar
    drm/i915/bdw: Implement a basic PM interrupt handler · 0961021a
    Ben Widawsky authored
    Almost all of it is reusable from the existing code. The primary
    difference is we need to do even less in the interrupt handler, since
    interrupts are not shared in the same way.
    
    The patch is mostly a copy-paste of the existing snb+ code, with updates
    to the relevant parts requiring changes to the interrupt handling. As
    such it /should/ be relatively trivial. It's highly likely that I missed
    some places where I need a gen8 version of the PM interrupts, but it has
    become invisible to me by now.
    
    This patch could probably be split into adding the new functions,
    followed by actually handling the interrupts. Since the code is
    currently disabled (and broken) I think the patch stands better by
    itself.
    
    v2: Move the commit about not touching the ringbuffer interrupt to the
    snb_* function where it belongs (Rodrigo)
    
    v3: Rebased on Paulo's runtime PM changes
    
    v4: Not well validated, but rebase on
    commit 730488b2
    Author: Paulo Zanoni <paulo.r.zanoni@intel.com>
    Date:   Fri Mar 7 20:12:32 2014 -0300
    
        drm/i915: kill dev_priv->pm.regsave
    
    v5: Rebased on latest code base. (Deepak)
    
    v6: Remove conflict markers, Unnecessary empty line and use right
    IIR interrupt (Ville)
    
    v7: mask modified without rmw (Ville Syrjälä)
    Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    Signed-off-by: default avatarBen Widawsky <ben@bwidawsk.net>
    Signed-off-by: default avatarDeepak S <deepak.s@linux.intel.com>
    Signed-off-by: default avatarMika Kuoppala <mika.kuoppala@intel.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    0961021a
i915_irq.c 124 KB