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