Slight improve in USB-related boot-time checkpoints.

This commit is contained in:
Vladimir 'phcoder' Serbinenko 2013-03-20 17:21:13 +01:00
parent 524e2766d8
commit 8fe05def12
3 changed files with 9 additions and 4 deletions

View file

@ -1,3 +1,7 @@
2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
Slight improve in USB-related boot-time checkpoints.
2013-03-20 Vladimir Serbinenko <phcoder@gmail.com> 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/commands/boottime.c: Fix copyright header. * grub-core/commands/boottime.c: Fix copyright header.

View file

@ -1699,6 +1699,8 @@ grub_ehci_portstatus (grub_usb_controller_t dev,
grub_dprintf ("ehci", "portstatus: enable\n"); 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 /* Now we will do reset - if HIGH speed device connected, it will
* result in Enabled state, otherwise port remains disabled. */ * result in Enabled state, otherwise port remains disabled. */
/* Set RESET bit for 50ms */ /* 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 */ /* Reset RESET bit and wait for the end of reset */
grub_ehci_port_resbits (e, port, GRUB_EHCI_PORT_RESET); grub_ehci_port_resbits (e, port, GRUB_EHCI_PORT_RESET);
endtime = grub_get_time_ms () + 1000; endtime = grub_get_time_ms () + 1000;
grub_boot_time ("Resetting port %d", port);
while (grub_ehci_port_read (e, port) & GRUB_EHCI_PORT_RESET) while (grub_ehci_port_read (e, port) & GRUB_EHCI_PORT_RESET)
if (grub_get_time_ms () > endtime) if (grub_get_time_ms () > endtime)
return grub_error (GRUB_ERR_IO, return grub_error (GRUB_ERR_IO,

View file

@ -452,7 +452,7 @@ wait_power_nonroot_hub (grub_usb_device_t dev)
GRUB_USB_HUB_FEATURE_PORT_RESET, GRUB_USB_HUB_FEATURE_PORT_RESET,
i, 0, 0); i, 0, 0);
dev->ports[i - 1].state = PORT_STATE_NORMAL; 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; rescan = 1;
/* We cannot reset more than one device at the same time ! /* 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].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].hard_limit_time = dev->ports[i - 1].soft_limit_time + 1750;
dev->ports[i - 1].state = PORT_STATE_WAITING_FOR_STABLE_POWER; 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; continue;
} }
} }
@ -664,8 +666,6 @@ grub_usb_poll_devices (int wait_for_completion)
} }
} }
grub_boot_time ("Probing USB device driver");
while (1) while (1)
{ {
rescan = 0; rescan = 0;