Improve EHCI logging
Add dprintf's on common error paths and remove some entries which are too noisy.
This commit is contained in:
parent
0678b5d629
commit
054d1325e9
1 changed files with 18 additions and 10 deletions
|
@ -1289,16 +1289,26 @@ grub_ehci_setup_transfer (grub_usb_controller_t dev,
|
||||||
grub_ehci_td_t td_prev = NULL;
|
grub_ehci_td_t td_prev = NULL;
|
||||||
int i;
|
int i;
|
||||||
struct grub_ehci_transfer_controller_data *cdata;
|
struct grub_ehci_transfer_controller_data *cdata;
|
||||||
|
grub_uint32_t status;
|
||||||
|
|
||||||
/* Check if EHCI is running and AL is enabled */
|
/* Check if EHCI is running and AL is enabled */
|
||||||
if ((grub_ehci_oper_read32 (e, GRUB_EHCI_STATUS)
|
status = grub_ehci_oper_read32 (e, GRUB_EHCI_STATUS);
|
||||||
& GRUB_EHCI_ST_HC_HALTED) != 0)
|
if ((status & GRUB_EHCI_ST_HC_HALTED) != 0)
|
||||||
/* XXX: Fix it: Currently we don't do anything to restart EHCI */
|
/* XXX: Fix it: Currently we don't do anything to restart EHCI */
|
||||||
return GRUB_USB_ERR_INTERNAL;
|
{
|
||||||
if ((grub_ehci_oper_read32 (e, GRUB_EHCI_STATUS)
|
grub_dprintf ("ehci", "setup_transfer: halted, status = 0x%x\n",
|
||||||
|
status);
|
||||||
|
return GRUB_USB_ERR_INTERNAL;
|
||||||
|
}
|
||||||
|
status = grub_ehci_oper_read32 (e, GRUB_EHCI_STATUS);
|
||||||
|
if ((status
|
||||||
& (GRUB_EHCI_ST_AS_STATUS | GRUB_EHCI_ST_PS_STATUS)) == 0)
|
& (GRUB_EHCI_ST_AS_STATUS | GRUB_EHCI_ST_PS_STATUS)) == 0)
|
||||||
/* XXX: Fix it: Currently we don't do anything to restart EHCI */
|
/* XXX: Fix it: Currently we don't do anything to restart EHCI */
|
||||||
return GRUB_USB_ERR_INTERNAL;
|
{
|
||||||
|
grub_dprintf ("ehci", "setup_transfer: no AS/PS, status = 0x%x\n",
|
||||||
|
status);
|
||||||
|
return GRUB_USB_ERR_INTERNAL;
|
||||||
|
}
|
||||||
|
|
||||||
/* Allocate memory for controller transfer data. */
|
/* Allocate memory for controller transfer data. */
|
||||||
cdata = grub_malloc (sizeof (*cdata));
|
cdata = grub_malloc (sizeof (*cdata));
|
||||||
|
@ -1310,6 +1320,7 @@ grub_ehci_setup_transfer (grub_usb_controller_t dev,
|
||||||
cdata->qh_virt = grub_ehci_find_qh (e, transfer);
|
cdata->qh_virt = grub_ehci_find_qh (e, transfer);
|
||||||
if (!cdata->qh_virt)
|
if (!cdata->qh_virt)
|
||||||
{
|
{
|
||||||
|
grub_dprintf ("ehci", "setup_transfer: no QH\n");
|
||||||
grub_free (cdata);
|
grub_free (cdata);
|
||||||
return GRUB_USB_ERR_INTERNAL;
|
return GRUB_USB_ERR_INTERNAL;
|
||||||
}
|
}
|
||||||
|
@ -1319,6 +1330,7 @@ grub_ehci_setup_transfer (grub_usb_controller_t dev,
|
||||||
cdata->td_alt_virt = grub_ehci_alloc_td (e);
|
cdata->td_alt_virt = grub_ehci_alloc_td (e);
|
||||||
if (!cdata->td_alt_virt)
|
if (!cdata->td_alt_virt)
|
||||||
{
|
{
|
||||||
|
grub_dprintf ("ehci", "setup_transfer: no TDs\n");
|
||||||
grub_free (cdata);
|
grub_free (cdata);
|
||||||
return GRUB_USB_ERR_INTERNAL;
|
return GRUB_USB_ERR_INTERNAL;
|
||||||
}
|
}
|
||||||
|
@ -1345,6 +1357,7 @@ grub_ehci_setup_transfer (grub_usb_controller_t dev,
|
||||||
grub_ehci_free_tds (e, cdata->td_first_virt, NULL, &actual);
|
grub_ehci_free_tds (e, cdata->td_first_virt, NULL, &actual);
|
||||||
|
|
||||||
grub_free (cdata);
|
grub_free (cdata);
|
||||||
|
grub_dprintf ("ehci", "setup_transfer: no TD\n");
|
||||||
return GRUB_USB_ERR_INTERNAL;
|
return GRUB_USB_ERR_INTERNAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1777,11 +1790,6 @@ grub_ehci_detect_dev (grub_usb_controller_t dev, int port, int *changed)
|
||||||
|
|
||||||
status = grub_ehci_port_read (e, port);
|
status = grub_ehci_port_read (e, port);
|
||||||
|
|
||||||
grub_dprintf ("ehci", "detect_dev: EHCI STATUS: %08x\n",
|
|
||||||
grub_ehci_oper_read32 (e, GRUB_EHCI_STATUS));
|
|
||||||
grub_dprintf ("ehci", "detect_dev: iobase=%p, port=%d, status=0x%02x\n",
|
|
||||||
e->iobase, port, status);
|
|
||||||
|
|
||||||
/* Connect Status Change bit - it detects change of connection */
|
/* Connect Status Change bit - it detects change of connection */
|
||||||
if (status & GRUB_EHCI_PORT_CONNECT_CH)
|
if (status & GRUB_EHCI_PORT_CONNECT_CH)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue