Author: janderwald Date: Fri May 20 15:06:39 2011 New Revision: 51827
URL: http://svn.reactos.org/svn/reactos?rev=51827&view=rev Log: [USBEHCI] - Enable sync frame list
Modified: branches/usb-bringup/drivers/usb/usbehci_new/hardware.cpp
Modified: branches/usb-bringup/drivers/usb/usbehci_new/hardware.cpp URL: http://svn.reactos.org/svn/reactos/branches/usb-bringup/drivers/usb/usbehci_... ============================================================================== --- branches/usb-bringup/drivers/usb/usbehci_new/hardware.cpp [iso-8859-1] (original) +++ branches/usb-bringup/drivers/usb/usbehci_new/hardware.cpp [iso-8859-1] Fri May 20 15:06:39 2011 @@ -116,6 +116,7 @@ BOOLEAN m_DoorBellRingInProgress; // door bell ring in progress EHCI_PORT_STATUS m_PortStatus[16]; // port status WORK_QUEUE_ITEM m_StatusChangeWorkItem; // work item for status change callback + ULONG m_SyncFramePhysAddr; // periodic frame list physical address
// set command VOID SetCommandRegister(PEHCI_USBCMD_CONTENT UsbCmd); @@ -564,10 +565,15 @@ EHCI_WRITE_REGISTER_ULONG(EHCI_ASYNCLISTBASE, AsyncQueueHead->PhysicalAddr);
// + // Assign the SyncList Register + // + EHCI_WRITE_REGISTER_ULONG(EHCI_PERIODICLISTBASE, m_SyncFramePhysAddr); + + // // Set Schedules to Enable and Interrupt Threshold to 1ms. // GetCommandRegister(&UsbCmd); - UsbCmd.PeriodicEnable = FALSE; + UsbCmd.PeriodicEnable = TRUE; UsbCmd.AsyncEnable = TRUE; //FIXME: Need USB Memory Manager
UsbCmd.IntThreshold = 1; @@ -894,7 +900,10 @@ CUSBHardwareDevice::SetPeriodicListRegister( ULONG PhysicalAddress) { - EHCI_WRITE_REGISTER_ULONG(EHCI_PERIODICLISTBASE, PhysicalAddress); + // + // store physical address + // + m_SyncFramePhysAddr = PhysicalAddress; }
struct _QUEUE_HEAD *