|
@@ -129,6 +129,7 @@ void drm_kms_helper_poll_enable_locked(struct drm_device *dev)
|
|
|
{
|
|
|
bool poll = false;
|
|
|
struct drm_connector *connector;
|
|
|
+ unsigned long delay = DRM_OUTPUT_POLL_PERIOD;
|
|
|
|
|
|
WARN_ON(!mutex_is_locked(&dev->mode_config.mutex));
|
|
|
|
|
@@ -141,8 +142,13 @@ void drm_kms_helper_poll_enable_locked(struct drm_device *dev)
|
|
|
poll = true;
|
|
|
}
|
|
|
|
|
|
+ if (dev->mode_config.delayed_event) {
|
|
|
+ poll = true;
|
|
|
+ delay = 0;
|
|
|
+ }
|
|
|
+
|
|
|
if (poll)
|
|
|
- schedule_delayed_work(&dev->mode_config.output_poll_work, DRM_OUTPUT_POLL_PERIOD);
|
|
|
+ schedule_delayed_work(&dev->mode_config.output_poll_work, delay);
|
|
|
}
|
|
|
EXPORT_SYMBOL(drm_kms_helper_poll_enable_locked);
|
|
|
|