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_new/hardware.cpp?rev=51827&r1=51826&r2=51827&view=diff
==============================================================================
--- 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 *


Reply via email to