commit: eb8341f8d1ea3b6f8103e6cc920d62b86c6383e2 Author: Alice Ferrazzi <alicef <AT> gentoo <DOT> org> AuthorDate: Sun Jan 29 22:31:01 2017 +0000 Commit: Alice Ferrazzi <alicef <AT> gentoo <DOT> org> CommitDate: Sun Jan 29 22:31:01 2017 +0000 URL: https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=eb8341f8
Fix xorg hangs on startup with nouveau on optimus systems. see bug #607636 0000_README | 4 ++++ ...rk-with-1s-delay-if-we-have-delayed-event.patch | 22 ++++++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/0000_README b/0000_README index 970967a..ee1a951 100644 --- a/0000_README +++ b/0000_README @@ -75,6 +75,10 @@ Patch: 1510_fs-enable-link-security-restrictions-by-default.patch From: http://sources.debian.net/src/linux/3.16.7-ckt4-3/debian/patches/debian/fs-enable-link-security-restrictions-by-default.patch/ Desc: Enable link security restrictions by default. +Patch: 2700_schedule-the-output_poll_work-with-1s-delay-if-we-have-delayed-event.patch +From: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/patch/?id=68f458eec7069d618a6c884ca007426e0cea411b +Desc: Schedule the output_poll_work with 1s delay if we have delayed event. (Bug #607636) + Patch: 2900_dev-root-proc-mount-fix.patch From: https://bugs.gentoo.org/show_bug.cgi?id=438380 Desc: Ensure that /dev/root doesn't appear in /proc/mounts when bootint without an initramfs. diff --git a/2700_schedule-the-output_poll_work-with-1s-delay-if-we-have-delayed-event.patch b/2700_schedule-the-output_poll_work-with-1s-delay-if-we-have-delayed-event.patch new file mode 100644 index 0000000..198840a --- /dev/null +++ b/2700_schedule-the-output_poll_work-with-1s-delay-if-we-have-delayed-event.patch @@ -0,0 +1,22 @@ +--- a/drivers/gpu/drm/drm_probe_helper.c ++++ b/drivers/gpu/drm/drm_probe_helper.c +@@ -143,8 +143,18 @@ void drm_kms_helper_poll_enable_locked(struct drm_device *dev) + } + + if (dev->mode_config.delayed_event) { ++ /* ++ * FIXME: ++ * ++ * Use short (1s) delay to handle the initial delayed event. ++ * 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. ++ */ + poll = true; +- delay = 0; ++ delay = HZ; + } + + if (poll)