mirror of https://github.com/deadw00d/AROS.git
Reduced EHCI port reset delay to allow USB volumes to be ready for boot.
This at least fixes the problem on the commonly used Acer AspireOne ZG5, where previously a USB boot from BIOS could transfer to an ATA boot from DOS because DOS only saw the ATA disk when the time came to choose a boot volume.
This commit is contained in:
parent
fe077ef3bf
commit
98f5955031
|
@ -1,5 +1,5 @@
|
|||
##begin config
|
||||
version 1.4
|
||||
version 1.5
|
||||
libbase base
|
||||
libbasetype struct PCIDevice
|
||||
libbasetypeextern struct Device
|
||||
|
|
|
@ -797,7 +797,12 @@ WORD cmdControlXFerRootHub(struct IOUsbHWReq *ioreq,
|
|||
newval &= ~(EHPF_PORTSUSPEND|EHPF_PORTENABLE);
|
||||
newval |= EHPF_PORTRESET;
|
||||
WRITEREG32_LE(hc->hc_RegBase, portreg, newval);
|
||||
uhwDelayMS(200, unit); /* Spec is 50ms, FreeBSD source suggests 200ms */
|
||||
|
||||
// Wait for reset to complete (spec is 50ms, FreeBSD source suggests 200ms, but
|
||||
// we compromise to help USB volumes become available in time to be chosen as
|
||||
// the boot device)
|
||||
uhwDelayMS(125, unit);
|
||||
|
||||
newval = READREG32_LE(hc->hc_RegBase, portreg) & ~(EHPF_OVERCURRENTCHG|EHPF_ENABLECHANGE|EHPF_CONNECTCHANGE|EHPF_PORTSUSPEND|EHPF_PORTENABLE);
|
||||
KPRINTF(10, ("EHCI: Reset=%s\n", newval & EHPF_PORTRESET ? "BAD!" : "GOOD"));
|
||||
if (newval & EHPF_PORTRESET)
|
||||
|
|
Loading…
Reference in New Issue