• Ville Syrjälä's avatar
    drm/i915/chv: Preliminary interrupt support for Cherryview · 43f328d7
    Ville Syrjälä authored
    CHV has the Gen8 master interrupt register, as well as Gen8
    GT/PCU interrupt registers.
    
    The display block is based on VLV, with the main difference
    of adding pipe C.
    
    v2: Rewrite the order of operations to make more sense
        Don't bail out if MASTER_CTL register doesn't show an interrupt,
        as display interrupts aren't reported there.
    
    v3: Rebase on top of Egbert Eich's hpd irq handling rework by using
    the relevant port hotplug logic like for vlv.
    
    v4: Rebase on top of Ben's gt irq #define refactoring.
    
    v5: Squash in gen8_gt_irq_handler refactoring from Zhao Yakui
    <yakui.zhao@intel.com>
    
    v6: Adapt to upstream changes, dev_priv->irq_received is gone.
    
    v7: Enable 3 the commented-out 3 pipe support.
    
    v8: Rebase on top of Paulo's irq setup rework, use the renamed macros from
    upstream.
    
    v9: Grab irq_lock around i915_enable_pipestat()
    
    FIXME: There's probably some potential for more shared code between bdw and chv.
    
    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> (v2)
    Reviewed-by: default avatarJani Nikula <jani.nikula@intel.com>
    [danvet: Drop the unnecessary cast Jani spotted.]
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    43f328d7
i915_irq.c 122 KB