• Imre Deak's avatar
    drm/i915: vlv: fix cdclk setting during modeset while suspended · 738c05c0
    Imre Deak authored
    Currently after doing DPMS-OFF on all outputs CDCLK won't be set to its
    minimum value as it should. A subsequent modeset to turn off all outputs
    will thus run with all power domains disabled, and notice that it needs
    to change CDCLK to its minimum value. Since the power domains are
    disabled this will emit a register-access-while-suspended WARN and fail
    to set the minimum freq.
    
    The proper solution for this is to set the minimum frequency during
    DPMS-OFF. That needs a bigger rework that would take into account the
    user DPMS setting too during the calculation of the new modesetting
    configuration. Until that's done this stop-gap solution gets the PIPE-A
    power domain during setting the CDCLK; this domain covers the HW blocks
    needed for this.
    
    Idea to use PIPE-A domain from Ville.
    
    Testcase: igt/pm_rpm
    Reference: https://bugs.freedesktop.org/show_bug.cgi?id=82939Signed-off-by: default avatarImre Deak <imre.deak@intel.com>
    Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    738c05c0
intel_display.c 382 KB