intel_fbdev_set_suspend(&xe->drm, FBINFO_STATE_SUSPENDED, true);
if (has_display(xe)) {
drm_kms_helper_poll_disable(&xe->drm);
- intel_display_driver_disable_user_access(xe);
+ if (!runtime)
+ intel_display_driver_disable_user_access(xe);
}
if (!runtime)
intel_hpd_cancel_work(xe);
- if (has_display(xe))
+ if (!runtime && has_display(xe))
intel_display_driver_suspend_access(xe);
intel_encoder_suspend_all(&xe->display);
intel_display_driver_init_hw(xe);
intel_hpd_init(xe);
- if (has_display(xe))
+ if (!runtime && has_display(xe))
intel_display_driver_resume_access(xe);
/* MST sideband requires HPD interrupts enabled */
if (has_display(xe)) {
drm_kms_helper_poll_enable(&xe->drm);
- intel_display_driver_enable_user_access(xe);
+ if (!runtime)
+ intel_display_driver_enable_user_access(xe);
}
intel_hpd_poll_disable(xe);