Author: hselasky
Date: Tue May 10 18:18:29 2016
New Revision: 299381
URL: https://svnweb.freebsd.org/changeset/base/299381

Log:
  Ensure waiting loops terminate during cold boot. This fixes boot with
  MacBookPro and i915kms_load="YES" in /boot/loader.conf.
  
  A lowlevel timeout in one of the display ports caused an infinite wait
  because a ticks/jiffies comparison was constant. The clock subsystem
  which makes ticks/jiffies increment is started after the initial
  driver probing is done. Refer to sys/kernel.h and SI_SUB_DRIVERS vs
  SI_SUB_CLOCKS .
  
  Discussed with:       kmacy @

Modified:
  head/sys/dev/drm2/i915/intel_drv.h

Modified: head/sys/dev/drm2/i915/intel_drv.h
==============================================================================
--- head/sys/dev/drm2/i915/intel_drv.h  Tue May 10 18:00:37 2016        
(r299380)
+++ head/sys/dev/drm2/i915/intel_drv.h  Tue May 10 18:18:29 2016        
(r299381)
@@ -50,6 +50,8 @@
                        pause((WMSG), 1);                               \
                else                                                    \
                        DELAY(1000);                                    \
+               if (cold)                                               \
+                       end -= howmany(hz, 1000);                       \
        }                                                               \
                                                                        \
        ret;                                                            \
@@ -68,6 +70,8 @@
                } else {                                                \
                        DELAY(1000);                                    \
                }                                                       \
+               if (cold)                                               \
+                       timeout__ -= howmany(hz, 1000);                 \
        }                                                               \
        ret__;                                                          \
 })
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to