mirror of
https://github.com/reactos/reactos
synced 2025-10-06 16:32:42 +02:00
Compare commits
3 Commits
master
...
backups/us
Author | SHA1 | Date | |
---|---|---|---|
|
4cbdbfd0b4 | ||
|
7dd5e8a69c | ||
|
4ad1409413 |
@@ -89,6 +89,7 @@ public:
|
||||
|
||||
// local
|
||||
BOOLEAN InterruptService();
|
||||
VOID PrintCapabilities();
|
||||
|
||||
// friend function
|
||||
friend BOOLEAN NTAPI InterruptServiceRoutine(IN PKINTERRUPT Interrupt, IN PVOID ServiceContext);
|
||||
@@ -292,6 +293,49 @@ CUSBHardwareDevice::EHCI_WRITE_REGISTER_ULONG(ULONG Offset, ULONG Value)
|
||||
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 @@ CUSBHardwareDevice::PnpStart(
|
||||
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)
|
||||
{
|
||||
|
@@ -145,14 +145,15 @@ typedef struct _QUEUE_TRANSFER_DESCRIPTOR
|
||||
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 @@ typedef struct _QUEUE_HEAD
|
||||
ULONG DWord;
|
||||
} Token;
|
||||
ULONG BufferPointer[5];
|
||||
ULONG ExtendedBufferPointer[5];
|
||||
|
||||
//Software
|
||||
ULONG PhysicalAddr;
|
||||
@@ -231,7 +233,7 @@ C_ASSERT(FIELD_OFFSET(QUEUE_HEAD, NextPointer) == 0x10);
|
||||
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);
|
||||
|
||||
|
||||
//
|
||||
|
@@ -15,7 +15,6 @@
|
||||
#include <ntddk.h>
|
||||
#include <hidpddi.h>
|
||||
#include <hidpi.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
//
|
||||
|
Reference in New Issue
Block a user