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/hardwar... ============================================================================== --- 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=5... ============================================================================== Binary files - no diff available.