• Daniel Vetter's avatar
    drm/i915: re-init modeset hw state after gpu reset · f817586c
    Daniel Vetter authored
    After a gpu reset we need to re-init some of the hw state we only
    initialize when modeset is enabled, like rc6, hw contexts or render/GT
    core clock gating and workaround register settings.
    
    Note that this patch has a small change in the resume code:
    - rc6 on gen6+ is only restored for the modeset case (for more
      consistency with other callsites). This is no problem because recent
      kernels refuse to load drm/i915 without kms on gen6+
    - rc6/emon on ilk is only restored for the modeset case. This is no
      problem because rc6 is disabled by default on ilk, and ums on ilk
      has never really been a supported option outside of horrible rhel
      backports.
    
    v2: Chris Wilson noticed that we not only fail to restore the clock
    gating settings after gpu reset.
    
    v3: Move the call to modeset_init_hw in _reset out of the
    struct_mutext protected area - other callers don't hold it, too.
    Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    Signed-Off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    f817586c
i915_drv.c 31.1 KB