• Mika Kuoppala's avatar
    drm/i915: Consolidate forcewake code · 05a2fb15
    Mika Kuoppala authored
    As we now have forcewake domains, take advantage of it
    by putting the differences in gen fw handling in data rather
    than in code.
    
    In past we have opencoded this quite extensively as the fw handling
    is in the fast path. There has also been a lot of cargo-culted
    copy'n'pasting from older gens to newer ones.
    
    Now when the releasing of the forcewake is done by deferred timer,
    it gives chance to consolidate more. Due to the frequency of actual hw
    access being significantly less.
    
    Take advantage of this and generalize the fw handling code
    as much as possible. But we still aim to keep the forcewake sequence
    particularities for each gen intact. So the access pattern
    to fw engines should remain the same.
    
    v2: - s/old_ack/clear_ack (Chris)
        - s/post_read/posting_read (Chris)
        - less polite commit msg (Chris)
    
    v3: - rebase
        - check and clear wake_count in init
    
    v4: - fix posting reads for gen8 (PRTS)
    Signed-off-by: default avatarMika Kuoppala <mika.kuoppala@intel.com>
    Reviewed-by: Deepak S <deepak.s@linux.intel.com> (v2)
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    05a2fb15
i915_debugfs.c 117 KB