a5bd9f6
From d0340ebbae7c69cc2ba5c7d8001c674f90ae2265 Mon Sep 17 00:00:00 2001
a5bd9f6
From: Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>
a5bd9f6
Date: Wed, 20 Mar 2013 17:21:13 +0100
a5bd9f6
Subject: [PATCH 219/364] 	Slight improve in USB-related boot-time
a5bd9f6
 checkpoints.
a5bd9f6
a5bd9f6
---
a5bd9f6
 ChangeLog                  | 4 ++++
a5bd9f6
 grub-core/bus/usb/ehci.c   | 3 ++-
a5bd9f6
 grub-core/bus/usb/usbhub.c | 6 +++---
a5bd9f6
 3 files changed, 9 insertions(+), 4 deletions(-)
a5bd9f6
a5bd9f6
diff --git a/ChangeLog b/ChangeLog
a5bd9f6
index 69c764b..5e6369c 100644
a5bd9f6
--- a/ChangeLog
a5bd9f6
+++ b/ChangeLog
a5bd9f6
@@ -1,5 +1,9 @@
a5bd9f6
 2013-03-20  Vladimir Serbinenko  <phcoder@gmail.com>
a5bd9f6
 
a5bd9f6
+	Slight improve in USB-related boot-time checkpoints.
a5bd9f6
+
a5bd9f6
+2013-03-20  Vladimir Serbinenko  <phcoder@gmail.com>
a5bd9f6
+
a5bd9f6
 	* grub-core/commands/boottime.c: Fix copyright header.
a5bd9f6
 
a5bd9f6
 2013-03-20  Vladimir Serbinenko  <phcoder@gmail.com>
a5bd9f6
diff --git a/grub-core/bus/usb/ehci.c b/grub-core/bus/usb/ehci.c
a5bd9f6
index a5a24af..e902fcd 100644
a5bd9f6
--- a/grub-core/bus/usb/ehci.c
a5bd9f6
+++ b/grub-core/bus/usb/ehci.c
a5bd9f6
@@ -1699,6 +1699,8 @@ grub_ehci_portstatus (grub_usb_controller_t dev,
a5bd9f6
 
a5bd9f6
   grub_dprintf ("ehci", "portstatus: enable\n");
a5bd9f6
 
a5bd9f6
+  grub_boot_time ("Resetting port %d", port);
a5bd9f6
+
a5bd9f6
   /* Now we will do reset - if HIGH speed device connected, it will
a5bd9f6
    * result in Enabled state, otherwise port remains disabled. */
a5bd9f6
   /* Set RESET bit for 50ms */
a5bd9f6
@@ -1708,7 +1710,6 @@ grub_ehci_portstatus (grub_usb_controller_t dev,
a5bd9f6
   /* Reset RESET bit and wait for the end of reset */
a5bd9f6
   grub_ehci_port_resbits (e, port, GRUB_EHCI_PORT_RESET);
a5bd9f6
   endtime = grub_get_time_ms () + 1000;
a5bd9f6
-  grub_boot_time ("Resetting port %d", port);
a5bd9f6
   while (grub_ehci_port_read (e, port) & GRUB_EHCI_PORT_RESET)
a5bd9f6
     if (grub_get_time_ms () > endtime)
a5bd9f6
       return grub_error (GRUB_ERR_IO,
a5bd9f6
diff --git a/grub-core/bus/usb/usbhub.c b/grub-core/bus/usb/usbhub.c
a5bd9f6
index fd7b94e..6fc9d02 100644
a5bd9f6
--- a/grub-core/bus/usb/usbhub.c
a5bd9f6
+++ b/grub-core/bus/usb/usbhub.c
a5bd9f6
@@ -452,7 +452,7 @@ wait_power_nonroot_hub (grub_usb_device_t dev)
a5bd9f6
 				  GRUB_USB_HUB_FEATURE_PORT_RESET,
a5bd9f6
 				  i, 0, 0);
a5bd9f6
 	    dev->ports[i - 1].state = PORT_STATE_NORMAL;
a5bd9f6
-	    grub_boot_time ("Resetting port %d", i);
a5bd9f6
+	    grub_boot_time ("Resetting port %p:%d", dev, i - 1);
a5bd9f6
 
a5bd9f6
 	    rescan = 1;
a5bd9f6
 	    /* We cannot reset more than one device at the same time !
a5bd9f6
@@ -573,6 +573,8 @@ poll_nonroot_hub (grub_usb_device_t dev)
a5bd9f6
 	      dev->ports[i - 1].soft_limit_time = grub_get_time_ms () + 250;
a5bd9f6
 	      dev->ports[i - 1].hard_limit_time = dev->ports[i - 1].soft_limit_time + 1750;
a5bd9f6
 	      dev->ports[i - 1].state = PORT_STATE_WAITING_FOR_STABLE_POWER;
a5bd9f6
+	      grub_boot_time ("Scheduling stable power wait for port %p:%d",
a5bd9f6
+			      dev, i - 1);
a5bd9f6
 	      continue;
a5bd9f6
 	    }
a5bd9f6
 	}
a5bd9f6
@@ -664,8 +666,6 @@ grub_usb_poll_devices (int wait_for_completion)
a5bd9f6
 	}
a5bd9f6
     }
a5bd9f6
 
a5bd9f6
-  grub_boot_time ("Probing USB device driver");
a5bd9f6
-
a5bd9f6
   while (1)
a5bd9f6
     {
a5bd9f6
       rescan = 0;
a5bd9f6
-- 
a5bd9f6
1.8.1.4
a5bd9f6