• Jesse Barnes's avatar
    drm/i915: get mode clock when reading the pipe config v9 · f1f644dc
    Jesse Barnes authored
    We need this for comparing modes between configuration changes.
    
    The tricky part is to allow us to reuse the new get_clock stuff to
    recover the lvds clock on gen2/3 when neither the vbt has an lvds mode
    nor the panel a (useful) EDID.
    
    v2: try harder to calulate non-simple pixel clocks (Daniel)
        call get_clock after getting the encoder config, needed for pixel multiply
        (Jesse)
    v3: drop get_clock now that the pixel_multiply has been moved into
        get_pipe_config
    v4: re-add get_clock; we need to get the pixel multiplier in the
        encoder, so need to calculate the clock value after the encoder's
        get_config is called
    v5: drop hsw clock_get, still needs to be written
    v6: add fuzzy clock check (Daniel)
    v7: wrap fuzzy clock check under !IS_HASWELL
        use port_clock field rather than a new CPU eDP clock field in crtc_config
    v8: remove stale pixel_multiplier sets (Daniel)
        multiply by pixel_multiplier in 9xx clock get too (Daniel)
    v9: make sure we set pixel_multiplier before calling clock_get from mode_get
        for LVDS (Daniel)
    Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
    [danvet: Add some explanation to the commit message about why we have
    to jump through a few hoops. Also remove the rebase-fail hunk from
    intel_sdvo.c]
    [danvet: Squash in the fixup from Jesse to also call ->get_clock in
    the modeset state checker.]
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    f1f644dc
i915_drv.h 64 KB