Author: cgutman
Date: Fri Mar 2 18:02:50 2012
New Revision: 55959
URL:
http://svn.reactos.org/svn/reactos?rev=55959&view=rev
Log:
[USBUHCI]
- Enable usbuhci for testing
[USBOHCI]
- Add back getting port count in a loop to work around AMD chipset errata
Modified:
trunk/reactos/boot/bootdata/hivesys_i386.inf
trunk/reactos/boot/bootdata/txtsetup.sif
trunk/reactos/drivers/usb/usbohci/hardware.cpp
trunk/reactos/media/inf/usbport.inf
Modified: trunk/reactos/boot/bootdata/hivesys_i386.inf
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/bootdata/hivesys_i386…
==============================================================================
--- trunk/reactos/boot/bootdata/hivesys_i386.inf [iso-8859-1] (original)
+++ trunk/reactos/boot/bootdata/hivesys_i386.inf [iso-8859-1] Fri Mar 2 18:02:50 2012
@@ -16,8 +16,8 @@
HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\*PNP0C08","Service",0x00000000,"acpi"
HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\*PNP0C08","ClassGUID",0x00000000,"{4D36E97D-E325-11CE-BFC1-08002BE10318}"
-;HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\PCI#CC_0C0300","Service",0x00000000,"usbuhci"
-;HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\PCI#CC_0C0300","ClassGUID",0x00000000,"{36FC9E60-C465-11CF-8056-444553540000}"
+HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\PCI#CC_0C0300","Service",0x00000000,"usbuhci"
+HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\PCI#CC_0C0300","ClassGUID",0x00000000,"{36FC9E60-C465-11CF-8056-444553540000}"
HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\PCI#CC_0C0310","Service",0x00000000,"usbohci"
HKLM,"SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\PCI#CC_0C0310","ClassGUID",0x00000000,"{36FC9E60-C465-11CF-8056-444553540000}"
@@ -1511,11 +1511,11 @@
HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","Type",0x00010001,0x00000001
; UHCI controller driver
-;HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","ErrorControl",0x00010001,0x00000001
-;HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","Group",0x00000000,"Boot
Bus Extender"
-;HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","ImagePath",0x00020000,"system32\drivers\usbuhci.sys"
-;HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","Start",0x00010001,0x00000000
-;HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","Type",0x00010001,0x00000001
+HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","ErrorControl",0x00010001,0x00000001
+HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","Group",0x00000000,"Boot
Bus Extender"
+HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","ImagePath",0x00020000,"system32\drivers\usbuhci.sys"
+HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","Start",0x00010001,0x00000000
+HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","Type",0x00010001,0x00000001
; USB storage driver
HKLM,"SYSTEM\CurrentControlSet\Services\usbstor","ErrorControl",0x00010001,0x00000001
Modified: trunk/reactos/boot/bootdata/txtsetup.sif
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/bootdata/txtsetup.sif…
==============================================================================
--- trunk/reactos/boot/bootdata/txtsetup.sif [iso-8859-1] (original)
+++ trunk/reactos/boot/bootdata/txtsetup.sif [iso-8859-1] Fri Mar 2 18:02:50 2012
@@ -39,7 +39,7 @@
usbccgp.sys=,,,,,,x,,,,,,4
usbd.sys=,,,,,,x,,,,,,4
usbhub.sys=,,,,,,x,,,,,,4
-;usbuhci.sys=,,,,,,x,,,,,,4
+usbuhci.sys=,,,,,,x,,,,,,4
usbohci.sys=,,,,,,x,,,,,,4
usbehci.sys=,,,,,,x,,,,,,4
usbstor.sys=,,,,,,x,,,,,,4
@@ -75,7 +75,7 @@
;USB\CLASS_09 = usbhub
USB\ROOT_HUB = usbhub
USB\ROOT_HUB20 = usbhub
-;PCI\CC_0C0300 = usbuhci
+PCI\CC_0C0300 = usbuhci
PCI\CC_0C0310 = usbohci
PCI\CC_0C0320 = usbehci
USB\Class_08&SubClass_06&Prot_50 = usbstor
Modified: trunk/reactos/drivers/usb/usbohci/hardware.cpp
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/usb/usbohci/hardwa…
==============================================================================
--- trunk/reactos/drivers/usb/usbohci/hardware.cpp [iso-8859-1] (original)
+++ trunk/reactos/drivers/usb/usbohci/hardware.cpp [iso-8859-1] Fri Mar 2 18:02:50 2012
@@ -662,9 +662,14 @@
Descriptor = READ_REGISTER_ULONG((PULONG)((PUCHAR)m_Base +
OHCI_RH_DESCRIPTOR_A_OFFSET));
//
- // get port count
- //
- m_NumberOfPorts = OHCI_RH_GET_PORT_COUNT(Descriptor);
+ // get port count (in a loop due to AMD errata)
+ //
+ do
+ {
+ KeStallExecutionProcessor(20);
+ m_NumberOfPorts = OHCI_RH_GET_PORT_COUNT(Descriptor);
+ } while (m_NumberOfPorts == 0);
+
DPRINT1("NumberOfPorts %lu\n", m_NumberOfPorts);
ASSERT(m_NumberOfPorts < OHCI_MAX_PORT_COUNT);
Modified: trunk/reactos/media/inf/usbport.inf
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/inf/usbport.inf?rev=…
==============================================================================
Binary files - no diff available.