• Satheeshakrishna M's avatar
    drm/i915/skl: Implementation of SKL DPLL programming · 82d35437
    Satheeshakrishna M authored
    This patch implements SKL DPLL programming that includes:
            - DPLL allocation
            - wide range PLL calculation and programming
            - DP link rate programming
            - DDI to DPLL mapping
    
    v2: Incorporated following changes
            - Added vfunc for function required outside
            - Fixed multiple comments in WRPLL calculation
    
    v3: - Fix the DCO computation
        - Move the initialization up to not clobber the computed values
        - Use the correct macro for DP link rate programming.
        - Use wait_for() to wait for the PLL locked bit
    
    v4: Rebase on top of nigthly (Damien)
    
    v5: A few code cleanups in the WRPLL computation (Damien)
        - Use uint32_t when possible
        - Use abs_diff() in the WRPLL computation
        - Make the 64bits divisions use div64_u64()
        - Fix typo in dco_central_feq_deviation (freq)
        - Replace the chain of breaks with a goto
    
    v6: Port of the patch to work on top of the shared DPLLs (Damien)
    v7: Don't try to handle eDP in ddi_pll_select() (Damien)
    v8: Modified as per review comments from Paulo (Satheesh)
    v9: Rebase on top of Ander's clock computation staging work for atomic (Damien)
    Reviewed-by: default avatarPaulo Zanoni <paulo.r.zanoni@intel.com>
    Signed-off-by: Satheeshakrishna M <satheeshakrishna.m@intel.com> (v3)
    Signed-off-by: default avatarDamien Lespiau <damien.lespiau@intel.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    82d35437
intel_ddi.c 59.1 KB