Author: cgutman Date: Sun Feb 12 18:28:52 2012 New Revision: 55568
URL: http://svn.reactos.org/svn/reactos?rev=55568&view=rev Log: [USB] - Merge r55564 and r55567 from usb-bringup-trunk - USB development should now be done in trunk exclusively (UHCI implementation may be an exception)
Modified: trunk/reactos/ (props changed) trunk/reactos/drivers/usb/usbehci/ (props changed) trunk/reactos/drivers/usb/usbehci/hardware.cpp trunk/reactos/drivers/usb/usbehci/hardware.h
Propchange: trunk/reactos/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Sun Feb 12 18:28:52 2012 @@ -11,5 +11,5 @@ /branches/shell32_new-bringup:51893-53652,53661,53700 /branches/tcp-rewrite-branch:48720,48840-48841,49424-49426,49454 /branches/usb-bringup:51335,51337,51341-51343,51348,51350,51353,51355,51365-51369,51372,51384-54388,54396-54398,54736-54737,54752-54754,54756-54760,54762,54764-54765,54767-54768,54772,54774-54777,54781,54787,54790-54792,54797-54798,54806,54808,54834-54838,54843,54850,54852,54856,54858-54859 -/branches/usb-bringup-trunk:55019-55543,55548-55554 +/branches/usb-bringup-trunk:55019-55543,55548-55554,55556-55567 /branches/wlan-bringup:54809-54998
Propchange: trunk/reactos/drivers/usb/usbehci/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Sun Feb 12 18:28:52 2012 @@ -24,6 +24,6 @@ /branches/tcp-rewrite-branch/drivers/usb/usbehci_new:48720,48840-48841,49424-49426,49454 /branches/usb-bringup/drivers/usb/usbehci:51335,51337,51341-51343,51348,51350,51353,51355,51365-51369,51372,51384-54388,54396-54398,54736-54737,54752-54754,54756-54760,54762,54764-54765,54767-54768,54772,54774-54777,54781,54787,54790-54792,54797-54798,54806,54808,54834-54838,54843,54850,54852,54856,54858-54859 /branches/usb-bringup/drivers/usb/usbehci_new:51335,51337,51341-51343,51348,51350,51353,51355,51365-51369,51372,51384-54388,54396-54398,54736-54737,54752-54754,54756-54760,54762,54764-54765,54767-54768,54772,54774-54777,54781,54787,54790-54792,54797-54798,54806,54808,54834-54838,54843,54850,54852,54856,54858-54859 -/branches/usb-bringup-trunk/drivers/usb/usbehci:55524-55543,55548-55554 +/branches/usb-bringup-trunk/drivers/usb/usbehci:55524-55543,55548-55554,55556-55567 /branches/wlan-bringup/drivers/usb/usbehci:54809-54998 /branches/wlan-bringup/drivers/usb/usbehci_new:54809-54998
Modified: trunk/reactos/drivers/usb/usbehci/hardware.cpp URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/usb/usbehci/hardwar... ============================================================================== --- trunk/reactos/drivers/usb/usbehci/hardware.cpp [iso-8859-1] (original) +++ trunk/reactos/drivers/usb/usbehci/hardware.cpp [iso-8859-1] Sun Feb 12 18:28:52 2012 @@ -89,6 +89,7 @@
// local BOOLEAN InterruptService(); + VOID PrintCapabilities();
// friend function friend BOOLEAN NTAPI InterruptServiceRoutine(IN PKINTERRUPT Interrupt, IN PVOID ServiceContext); @@ -292,6 +293,49 @@ WRITE_REGISTER_ULONG((PULONG)((ULONG)m_Base + Offset), Value); }
+VOID +CUSBHardwareDevice::PrintCapabilities() +{ + if (m_Capabilities.HCSParams.PortPowerControl) + { + DPRINT1("Controler EHCI has Port Power Control\n"); + } + + DPRINT1("Controller Port Routing Rules %d\n", m_Capabilities.HCSParams.PortRouteRules); + DPRINT1("Number of Ports per Companion Controller %d\n", m_Capabilities.HCSParams.PortPerCHC); + DPRINT1("Number of Companion Controller %d\n", m_Capabilities.HCSParams.CHCCount); + + if (m_Capabilities.HCSParams.PortIndicator) + { + DPRINT1("Controller has Port Indicators Support\n"); + } + + if (m_Capabilities.HCSParams.DbgPortNum) + { + DPRINT1("Controller has Debug Port Support At Port %x\n", m_Capabilities.HCSParams.DbgPortNum); + } + + if (m_Capabilities.HCCParams.EECPCapable) + { + DPRINT1("Controller has Extended Capabilities Support\n"); + } + + if (m_Capabilities.HCCParams.ParkMode) + { + DPRINT1("Controller supports Asynchronous Schedule Park\n"); + } + + if (m_Capabilities.HCCParams.VarFrameList) + { + DPRINT1("Controller supports Programmable Frame List Size\n"); + } + + if (m_Capabilities.HCCParams.CurAddrBits) + { + DPRINT1("Controller uses 64-Bit Addressing\n"); + } +} + NTSTATUS CUSBHardwareDevice::PnpStart( PCM_RESOURCE_LIST RawResources, @@ -368,11 +412,15 @@ m_Capabilities.HCCParamsLong = READ_REGISTER_ULONG((PULONG)((ULONG)ResourceBase + EHCI_HCCPARAMS));
DPRINT1("Controller has %d Length\n", m_Capabilities.Length); - DPRINT1("Controller has %d Ports\n", m_Capabilities.HCSParams.PortCount); DPRINT1("Controller EHCI Version %x\n", m_Capabilities.HCIVersion); DPRINT1("Controler EHCI Caps HCSParamsLong %x\n", m_Capabilities.HCSParamsLong); DPRINT1("Controler EHCI Caps HCCParamsLong %x\n", m_Capabilities.HCCParamsLong); - DPRINT1("Controler EHCI Caps PowerControl %x\n", m_Capabilities.HCSParams.PortPowerControl); + DPRINT1("Controller has %d Ports\n", m_Capabilities.HCSParams.PortCount); + + // + // print capabilities + // + PrintCapabilities();
if (m_Capabilities.HCSParams.PortRouteRules) {
Modified: trunk/reactos/drivers/usb/usbehci/hardware.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/usb/usbehci/hardwar... ============================================================================== --- trunk/reactos/drivers/usb/usbehci/hardware.h [iso-8859-1] (original) +++ trunk/reactos/drivers/usb/usbehci/hardware.h [iso-8859-1] Sun Feb 12 18:28:52 2012 @@ -145,14 +145,15 @@ ULONG DWord; } Token; ULONG BufferPointer[5]; - + ULONG ExtendedBufferPointer[5]; + //Software ULONG PhysicalAddr; LIST_ENTRY DescriptorEntry; ULONG TotalBytesToTransfer; } QUEUE_TRANSFER_DESCRIPTOR, *PQUEUE_TRANSFER_DESCRIPTOR;
-C_ASSERT(FIELD_OFFSET(QUEUE_TRANSFER_DESCRIPTOR, PhysicalAddr) == 0x20); +C_ASSERT(FIELD_OFFSET(QUEUE_TRANSFER_DESCRIPTOR, PhysicalAddr) == 0x34);
// // EndPointSpeeds Flags and END_POINT_CHARACTERISTICS @@ -212,6 +213,7 @@ ULONG DWord; } Token; ULONG BufferPointer[5]; + ULONG ExtendedBufferPointer[5];
//Software ULONG PhysicalAddr; @@ -231,7 +233,7 @@ C_ASSERT(FIELD_OFFSET(QUEUE_HEAD, AlternateNextPointer) == 0x14); C_ASSERT(FIELD_OFFSET(QUEUE_HEAD, Token) == 0x18); C_ASSERT(FIELD_OFFSET(QUEUE_HEAD, BufferPointer) == 0x1C); -C_ASSERT(FIELD_OFFSET(QUEUE_HEAD, PhysicalAddr) == 0x30); +C_ASSERT(FIELD_OFFSET(QUEUE_HEAD, PhysicalAddr) == 0x44);
//