• Paulo Zanoni's avatar
    drm/i915: fix infinite loop at gen6_update_ring_freq · 4b28a1f3
    Paulo Zanoni authored
    If I boot my Broadwell machine to X on a system with Mesa Gallium
    llvmpipe instead of i965, then kill X and try to run pm_pc8.c, when we
    disable PC8 and call gen6_update_ring_freq(), we will get stuck on an
    infinite loop because the frequencies are zero and the variables are
    unsigned. This happens because we never ran any batch, so we did not
    enable RC6, so the variables are zero. If I run gem_exec_nop before
    running pm_pc8, everything works as expected because gem_exec_nop
    makes RC6 be enabled.
    
    This commit should prevent the infinite loop, which IMHO is already a
    good reason to be merged, but it is not the proper fix to the "RC6 is
    not being enabled" problem.
    Signed-off-by: default avatarPaulo Zanoni <paulo.r.zanoni@intel.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    4b28a1f3
intel_pm.c 173 KB