|
ReactOS 0.4.17-dev-1281-g065abb3
|
#include <cmdring.h>

Public Member Functions | |
| NTSTATUS | Create (_In_ XhciController *Controller) |
| NTSTATUS | Prepare () |
| VOID | Release () |
| NTSTATUS | D0Entry () |
| VOID | PostInterruptsEntry () |
| VOID | PreReset () |
| VOID | PostReset () |
| VOID | PostResetSuccess () |
| VOID | FailAll () |
| VOID | OnHostLost () |
| _IRQL_requires_max_ (DISPATCH_LEVEL) VOID Submit(_Inout_ XhciCommand *Command) | |
| _IRQL_requires_ (PASSIVE_LEVEL) NTSTATUS SubmitAndWait(_Inout_ XhciCommand *Command) | |
| VOID | OnCompletionEvent (_In_ const XHCI_TRB *Event) |
Static Public Attributes | |
| static EVT_WDF_TIMER | EvtTimer |
Private Types | |
| enum class | RingState : ULONG { Uninitialized , Prepared , Released } |
| enum class | ResetPhase : ULONG { Idle , Requested , Resetting , AfterReset , Failed } |
Private Member Functions | |
| VOID | InitializeRing () |
| VOID | OnTimer () |
| VOID | PlaceLocked (_Inout_ XhciCommand *Command, _In_ BOOLEAN FrontOfLine, _Inout_ PLIST_ENTRY Finished) |
| VOID | PutOnRingLocked (_Inout_ XhciCommand *Command) |
| VOID | RestartStoppedRingLocked (_Inout_ PLIST_ENTRY Finished) |
| VOID | HandleRingStopped (_In_ const XHCI_TRB *Event) |
| VOID | DrainAllLocked (_Inout_ PLIST_ENTRY Finished) |
| VOID | FailEverything () |
| ULONG64 | TrbAddress (_In_ ULONG Index) const |
|
strongprivate |
|
strongprivate |
| Enumerator | |
|---|---|
| Uninitialized | |
| Prepared | |
| Released | |
| XhciCommandRing::_IRQL_requires_ | ( | PASSIVE_LEVEL | ) |
PASSIVE_LEVEL helper: submits and waits for Done.
| XhciCommandRing::_IRQL_requires_max_ | ( | DISPATCH_LEVEL | ) |
Queues Command; Done always runs exactly once, possibly before this returns.
| NTSTATUS XhciCommandRing::Create | ( | _In_ XhciController * | Controller | ) |
Definition at line 95 of file cmdring.cpp.
Referenced by XhciController::Initialize().
| NTSTATUS XhciCommandRing::D0Entry | ( | ) |
Definition at line 247 of file cmdring.cpp.
Referenced by XhciController::RunD0Pass().
|
private |
Definition at line 350 of file cmdring.cpp.
Referenced by FailEverything(), OnTimer(), PostReset(), and Release().
| VOID XhciCommandRing::FailAll | ( | ) |
Definition at line 807 of file cmdring.cpp.
Referenced by XhciController::InternalReset().
|
private |
Definition at line 787 of file cmdring.cpp.
Referenced by FailAll(), and OnHostLost().
Definition at line 571 of file cmdring.cpp.
Referenced by OnCompletionEvent().
|
private |
Definition at line 214 of file cmdring.cpp.
Referenced by D0Entry(), and PostReset().
Definition at line 438 of file cmdring.cpp.
| VOID XhciCommandRing::OnHostLost | ( | ) |
Definition at line 813 of file cmdring.cpp.
Referenced by XhciController::RunRecovery().
|
private |
Definition at line 614 of file cmdring.cpp.
|
private |
Definition at line 303 of file cmdring.cpp.
Referenced by OnCompletionEvent(), PostResetSuccess(), and RestartStoppedRingLocked().
| VOID XhciCommandRing::PostInterruptsEntry | ( | ) |
Definition at line 254 of file cmdring.cpp.
Referenced by XhciController::D0EntryPostInterruptsEnabled().
| VOID XhciCommandRing::PostReset | ( | ) |
Definition at line 743 of file cmdring.cpp.
Referenced by XhciController::InternalReset().
| VOID XhciCommandRing::PostResetSuccess | ( | ) |
Definition at line 762 of file cmdring.cpp.
Referenced by XhciController::InternalReset().
| NTSTATUS XhciCommandRing::Prepare | ( | ) |
Definition at line 144 of file cmdring.cpp.
Referenced by XhciController::PrepareHardware().
| VOID XhciCommandRing::PreReset | ( | ) |
Definition at line 732 of file cmdring.cpp.
Referenced by XhciController::InternalReset().
|
private |
Definition at line 260 of file cmdring.cpp.
Referenced by PlaceLocked().
| VOID XhciCommandRing::Release | ( | ) |
Definition at line 174 of file cmdring.cpp.
Referenced by XhciController::ReleaseHardware().
|
private |
Definition at line 515 of file cmdring.cpp.
Referenced by HandleRingStopped(), and OnTimer().
Definition at line 124 of file cmdring.h.
Referenced by HandleRingStopped(), OnCompletionEvent(), Prepare(), and RestartStoppedRingLocked().
|
private |
Definition at line 145 of file cmdring.h.
Referenced by Create(), FailEverything(), HandleRingStopped(), OnCompletionEvent(), OnTimer(), PlaceLocked(), Prepare(), and PreReset().
|
private |
|
private |
Definition at line 130 of file cmdring.h.
Referenced by Create(), HandleRingStopped(), InitializeRing(), OnCompletionEvent(), OnTimer(), PlaceLocked(), Prepare(), PutOnRingLocked(), Release(), and RestartStoppedRingLocked().
|
private |
Definition at line 141 of file cmdring.h.
Referenced by Create(), InitializeRing(), Prepare(), PutOnRingLocked(), and RestartStoppedRingLocked().
|
private |
Definition at line 140 of file cmdring.h.
Referenced by Create(), HandleRingStopped(), InitializeRing(), OnCompletionEvent(), PlaceLocked(), Prepare(), and RestartStoppedRingLocked().
|
private |
|
private |
Definition at line 139 of file cmdring.h.
Referenced by Create(), InitializeRing(), PlaceLocked(), Prepare(), PutOnRingLocked(), and RestartStoppedRingLocked().
|
private |
|
private |
Definition at line 132 of file cmdring.h.
Referenced by Create(), FailEverything(), HandleRingStopped(), InitializeRing(), OnCompletionEvent(), OnTimer(), PostReset(), PostResetSuccess(), PreReset(), and Release().
|
private |
Definition at line 144 of file cmdring.h.
Referenced by Create(), and OnCompletionEvent().
|
private |
Definition at line 142 of file cmdring.h.
Referenced by Create(), DrainAllLocked(), InitializeRing(), OnCompletionEvent(), OnTimer(), PlaceLocked(), Prepare(), PutOnRingLocked(), Release(), and RestartStoppedRingLocked().
|
private |
Definition at line 134 of file cmdring.h.
Referenced by Create(), FailEverything(), HandleRingStopped(), OnTimer(), PlaceLocked(), PostReset(), PostResetSuccess(), Prepare(), and PreReset().
|
private |
Definition at line 137 of file cmdring.h.
Referenced by Create(), InitializeRing(), Prepare(), Release(), and TrbAddress().
|
private |
|
private |
|
private |
Definition at line 131 of file cmdring.h.
Referenced by Create(), FailEverything(), OnCompletionEvent(), OnTimer(), PostReset(), PutOnRingLocked(), and Release().
|
private |
Definition at line 136 of file cmdring.h.
Referenced by Create(), InitializeRing(), Prepare(), PutOnRingLocked(), and Release().
|
private |
Definition at line 143 of file cmdring.h.
Referenced by Create(), DrainAllLocked(), InitializeRing(), OnCompletionEvent(), PlaceLocked(), PostResetSuccess(), Prepare(), Release(), and RestartStoppedRingLocked().