• Paulo Zanoni's avatar
    drm/i915: add functions to disable and restore LCPLL · be256dc7
    Paulo Zanoni authored
    For now there are no callers, but these functions are going to be
    needed for the code that allows Package C8+. Other future features may
    also require this code.
    
    Also merge the commit which introduced assert_can_disable_lcpll and
    had the following commit message:
    
    Most of the hardware needs to be disabled before LCPLL is disabled, so
    let's add a function to assert some of items listed in the "Display
    Sequences for LCPLL disabling" documentation.
    
    The idea is that hsw_disable_lcpll should not disable the hardware,
    the callers need to take care of calling hsw_disable_lcpll only once
    everything is already disabled.
    
    v2: - Rebase.
        - Fix D_COMP wait timeout.
    v3: - Use wait_for_atomic_use (Ben)
        - Remove/add a useless/needed POSTING_READ (Ben)
        - Early return in case LCPLL is already restored (Ben)
        - Add ndelay(100) (Ben)
    v4: - Merge the commit that added assert_can_disable_lcpll (Ben)
        - Add interrupt assertions (Ben)
    Reviewed-by: default avatarBen Widawsky <ben@bwidawsk.net>
    Signed-off-by: default avatarPaulo Zanoni <paulo.r.zanoni@intel.com>
    [danvet: Fix compile fail since there's no HAS_LP_PCH yet.]
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    be256dc7
intel_drv.h 28.7 KB