• Jesse Barnes's avatar
    drm/i915/vlv: modeset_global_* for VLV v7 · 30a970c6
    Jesse Barnes authored
    On VLV/BYT, we can adjust the CDclk frequency up or down based on the
    max pixel clock we need to drive.  Lowering it can save power, while
    raising it is necessary to support high resolution.
    
    Add a new callback in modeset_affected_pipes and a
    modeset_global_resources function to perform this adjustment as
    necessary.
    
    v2: use punit interface for 320 and 266 MHz CDclk adjustments (Ville)
    v3: reset GMBUS dividers too, since we changed CDclk (Ville)
    v4: jump to highest voltage when going to 400MHz CDclk (Jesse)
    v5: drop duplicate define (Ville)
        use shifts by 1 for fixed point (Ville)
        drop new callback (Daniel)
    v6: fixup adjusted_mode.clock -> adjusted_mode.crtc_clock again (Ville)
        document Bunit reg access better (Ville)
    v7: pass modeset_pipes and pipe_config to global_pipes so we get the right
        clock data (Ville)
    Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
    Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    30a970c6
intel_display.c 312 KB