• Imre Deak's avatar
    drm/i915/gen9+: Don't remove secondary power well requests · 42d9366d
    Imre Deak authored
    So far in an attempt to make sure all power wells get disabled during
    display uninitialization the driver removed any secondary request bits
    (BIOS, KVMR, DEBUG) that were set for a given power well. The known
    source for these requests was DMC's request on power well 1 and the misc
    IO power well. Since DMC is inactive (DC states are disabled) at the
    point we disable these power wells, there shouldn't be any reason to
    leave them on. However there are two problems with the above
    assumption: Bspec requires that the misc IO power well stays enabled
    (without providing a reason) and there can be KVMR requests that we
    can't remove anyway (the KVMR request register is R/O). Atm, a KVMR
    request can trigger a timeout WARN when trying to disable power wells.
    
    To make the code aligned to Bspec and to get rid of the KVMR WARN, don't
    try to remove the secondary requests, only detect them and stop polling
    for the power well disabled state when any one is set.
    
    Also add a comment about the timeout values required by Bspec when
    enabling power wells and the fact that waiting for them to get disabled
    is not required by Bspec.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98564Signed-off-by: default avatarImre Deak <imre.deak@intel.com>
    Reviewed-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
    Link: http://patchwork.freedesktop.org/patch/msgid/1498750622-14023-5-git-send-email-imre.deak@intel.com
    42d9366d
intel_runtime_pm.c 96.3 KB