Author: janderwald Date: Sun Feb 12 16:10:58 2012 New Revision: 55564
URL: http://svn.reactos.org/svn/reactos?rev=55564&view=rev Log: [USBEHCI] - Add 64-bit data structures - Print message when controller is using 64-Bit Addressing - Should fix Host System Error when controller is operating in 64-Bit mode
Modified: branches/usb-bringup-trunk/drivers/usb/usbehci/hardware.cpp branches/usb-bringup-trunk/drivers/usb/usbehci/hardware.h
Modified: branches/usb-bringup-trunk/drivers/usb/usbehci/hardware.cpp URL: http://svn.reactos.org/svn/reactos/branches/usb-bringup-trunk/drivers/usb/us... ============================================================================== --- branches/usb-bringup-trunk/drivers/usb/usbehci/hardware.cpp [iso-8859-1] (original) +++ branches/usb-bringup-trunk/drivers/usb/usbehci/hardware.cpp [iso-8859-1] Sun Feb 12 16:10:58 2012 @@ -374,6 +374,26 @@ DPRINT1("Controler EHCI Caps HCCParamsLong %x\n", m_Capabilities.HCCParamsLong); DPRINT1("Controler EHCI Caps PowerControl %x\n", m_Capabilities.HCSParams.PortPowerControl);
+ 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"); + } + if (m_Capabilities.HCSParams.PortRouteRules) { Count = 0;
Modified: branches/usb-bringup-trunk/drivers/usb/usbehci/hardware.h URL: http://svn.reactos.org/svn/reactos/branches/usb-bringup-trunk/drivers/usb/us... ============================================================================== --- branches/usb-bringup-trunk/drivers/usb/usbehci/hardware.h [iso-8859-1] (original) +++ branches/usb-bringup-trunk/drivers/usb/usbehci/hardware.h [iso-8859-1] Sun Feb 12 16:10:58 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);
//