• V
    drm/i915: Unify SKL cdclk init paths · 9f7eb31a
    Ville Syrjälä 提交于
    Currently we initialize cdclk on SKL from two different places,
    depending on whether it's during driver init or resume. Let's
    unify it to happen from the same place always, and that place will be
    the display core init function.
    
    To do this we first run through the cdclk sanitation code, which will
    first verify that the PLL is programmed correctly, after which we can
    read out the current cdclk frequency, and once the cdclk is known we
    verify that the cdclk "decimal" frequency is programmed correctly. If
    any of these fail we will force a cdclk change, and to be safe we also
    force the PLL to be turned off and on again. If the sanitation step
    didn't notice anything amiss, we'll skip the cdclk programming which
    will prevent cdclk reprogramming when the displays might be active.
    
    We can also toss in a few WARNs about the register values into
    skl_update_dpll0() since we now know that the PLL state should
    always be sane when that function is called.
    Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
    Link: http://patchwork.freedesktop.org/patch/msgid/1463172100-24715-11-git-send-email-ville.syrjala@linux.intel.comReviewed-by: NImre Deak <imre.deak@intel.com>
    9f7eb31a
intel_drv.h 57.8 KB