OSDN Git Service

drm: Schedule the output_poll_work with 1s delay if we have delayed event
authorPeter Ujfalusi <peter.ujfalusi@ti.com>
Mon, 9 Jan 2017 14:31:58 +0000 (16:31 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 10 Jan 2017 10:41:43 +0000 (11:41 +0100)
commit68f458eec7069d618a6c884ca007426e0cea411b
tree1898469c6346e7b11b16027f61f97dfa0d2cef71
parent9afe69d5a9495f8b023017e4c328fa717e00f092
drm: Schedule the output_poll_work with 1s delay if we have delayed event

Instead of scheduling the work to handle the initial delayed event, use 1s
delay.

This delay should not be needed, but Optimus/nouveau will fail in a
mysterious way if the delayed event is handled as soon as possible like it
is done in drm_helper_probe_single_connector_modes() in case the poll
was enabled before.

Reverting 339fd36238dd would give back the 10 sec (!) delay to handle the
delayed event. Adding 1sec delay to the poll_work is enough to work around
the issue in Optimus setups and gives shorter response on handling the
initial delayed event.

Fixes: 339fd36238dd ("drm: drm_probe_helper: Fix output_poll_work scheduling")
Cc: stable@vger.kernel.org # v4.9
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
[danvet: Add FIXME to the comment to make it stick out more.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/20170109143158.21917-1-peter.ujfalusi@ti.com
drivers/gpu/drm/drm_probe_helper.c