Add DevicePathUtilities DevicePathToText DevciePathFromText USB2HostController protocols
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1037 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -83,7 +83,10 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.-->
|
||||
<Protocol Usage="BY_START">
|
||||
<ProtocolCName>gEfiUsbIoProtocolGuid</ProtocolCName>
|
||||
</Protocol>
|
||||
<Protocol Usage="TO_START">
|
||||
<Protocol Usage="SOMETIMES_CONSUMED">
|
||||
<ProtocolCName>gEfiUsb2HcProtocolGuid</ProtocolCName>
|
||||
</Protocol>
|
||||
<Protocol Usage="SOMETIMES_CONSUMED">
|
||||
<ProtocolCName>gEfiUsbHcProtocolGuid</ProtocolCName>
|
||||
</Protocol>
|
||||
<Protocol Usage="TO_START">
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -233,9 +233,9 @@ UsbControlTransfer (
|
||||
--*/
|
||||
{
|
||||
USB_IO_CONTROLLER_DEVICE *UsbIoController;
|
||||
EFI_USB_HC_PROTOCOL *UsbHCInterface;
|
||||
|
||||
EFI_STATUS RetStatus;
|
||||
USB_IO_DEVICE *UsbIoDevice;
|
||||
USB_IO_DEVICE *UsbIoDev;
|
||||
UINT8 MaxPacketLength;
|
||||
UINT32 TransferResult;
|
||||
BOOLEAN Disconnected;
|
||||
@@ -251,9 +251,9 @@ UsbControlTransfer (
|
||||
// to perform other parameters checking
|
||||
//
|
||||
UsbIoController = USB_IO_CONTROLLER_DEVICE_FROM_USB_IO_THIS (This);
|
||||
UsbIoDevice = UsbIoController->UsbDevice;
|
||||
UsbHCInterface = UsbIoDevice->BusController->UsbHCInterface;
|
||||
MaxPacketLength = UsbIoDevice->DeviceDescriptor.MaxPacketSize0;
|
||||
UsbIoDev = UsbIoController->UsbDevice;
|
||||
|
||||
MaxPacketLength = UsbIoDev->DeviceDescriptor.MaxPacketSize0;
|
||||
|
||||
|
||||
if (Request->Request == USB_DEV_CLEAR_FEATURE &&
|
||||
@@ -268,24 +268,23 @@ UsbControlTransfer (
|
||||
return EFI_DEVICE_ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
//
|
||||
// using HostController's ControlTransfer to complete the request
|
||||
//
|
||||
RetStatus = UsbHCInterface->ControlTransfer (
|
||||
UsbHCInterface,
|
||||
UsbIoDevice->DeviceAddress,
|
||||
UsbIoDevice->IsSlowDevice,
|
||||
MaxPacketLength,
|
||||
Request,
|
||||
Direction,
|
||||
Data,
|
||||
&DataLength,
|
||||
(UINTN) Timeout,
|
||||
&TransferResult
|
||||
);
|
||||
RetStatus = UsbVirtualHcControlTransfer (
|
||||
UsbIoDev->BusController,
|
||||
UsbIoDev->DeviceAddress,
|
||||
UsbIoDev->DeviceSpeed,
|
||||
MaxPacketLength,
|
||||
Request,
|
||||
Direction,
|
||||
Data,
|
||||
&DataLength,
|
||||
(UINTN) Timeout,
|
||||
UsbIoDev->Translator,
|
||||
&TransferResult
|
||||
);
|
||||
|
||||
*Status = TransferResult;
|
||||
|
||||
if (Request->Request == USB_DEV_CLEAR_FEATURE &&
|
||||
@@ -346,18 +345,19 @@ UsbBulkTransfer (
|
||||
--*/
|
||||
{
|
||||
USB_IO_DEVICE *UsbIoDev;
|
||||
UINT8 MaxPacketLength;
|
||||
UINTN MaxPacketLength;
|
||||
UINT8 DataToggle;
|
||||
UINT8 OldToggle;
|
||||
EFI_STATUS RetStatus;
|
||||
EFI_USB_HC_PROTOCOL *UsbHCInterface;
|
||||
|
||||
USB_IO_CONTROLLER_DEVICE *UsbIoController;
|
||||
ENDPOINT_DESC_LIST_ENTRY *EndPointListEntry;
|
||||
UINT32 TransferResult;
|
||||
|
||||
UsbIoController = USB_IO_CONTROLLER_DEVICE_FROM_USB_IO_THIS (This);
|
||||
UsbIoDev = UsbIoController->UsbDevice;
|
||||
UsbHCInterface = UsbIoDev->BusController->UsbHCInterface;
|
||||
UINT8 DataBuffersNumber;
|
||||
|
||||
DataBuffersNumber = 1;
|
||||
UsbIoController = USB_IO_CONTROLLER_DEVICE_FROM_USB_IO_THIS (This);
|
||||
UsbIoDev = UsbIoController->UsbDevice;
|
||||
|
||||
//
|
||||
// Parameters Checking
|
||||
@@ -408,17 +408,20 @@ UsbBulkTransfer (
|
||||
//
|
||||
// using HostController's BulkTransfer to complete the request
|
||||
//
|
||||
RetStatus = UsbHCInterface->BulkTransfer (
|
||||
UsbHCInterface,
|
||||
UsbIoDev->DeviceAddress,
|
||||
DeviceEndpoint,
|
||||
MaxPacketLength,
|
||||
Data,
|
||||
DataLength,
|
||||
&DataToggle,
|
||||
Timeout,
|
||||
&TransferResult
|
||||
);
|
||||
RetStatus = UsbVirtualHcBulkTransfer (
|
||||
UsbIoDev->BusController,
|
||||
UsbIoDev->DeviceAddress,
|
||||
DeviceEndpoint,
|
||||
UsbIoDev->DeviceSpeed,
|
||||
MaxPacketLength,
|
||||
DataBuffersNumber,
|
||||
&Data,
|
||||
DataLength,
|
||||
&DataToggle,
|
||||
Timeout,
|
||||
UsbIoDev->Translator,
|
||||
&TransferResult
|
||||
);
|
||||
|
||||
if (OldToggle != DataToggle) {
|
||||
//
|
||||
@@ -474,14 +477,13 @@ UsbSyncInterruptTransfer (
|
||||
|
||||
--*/
|
||||
{
|
||||
USB_IO_DEVICE *UsbIoDev;
|
||||
UINT8 MaxPacketLength;
|
||||
UINT8 DataToggle;
|
||||
UINT8 OldToggle;
|
||||
EFI_STATUS RetStatus;
|
||||
EFI_USB_HC_PROTOCOL *UsbHCInterface;
|
||||
USB_IO_CONTROLLER_DEVICE *UsbIoController;
|
||||
ENDPOINT_DESC_LIST_ENTRY *EndPointListEntry;
|
||||
USB_IO_DEVICE *UsbIoDev;
|
||||
UINTN MaxPacketLength;
|
||||
UINT8 DataToggle;
|
||||
UINT8 OldToggle;
|
||||
EFI_STATUS RetStatus;
|
||||
USB_IO_CONTROLLER_DEVICE *UsbIoController;
|
||||
ENDPOINT_DESC_LIST_ENTRY *EndPointListEntry;
|
||||
|
||||
//
|
||||
// Parameters Checking
|
||||
@@ -517,8 +519,6 @@ UsbSyncInterruptTransfer (
|
||||
//
|
||||
UsbIoController = USB_IO_CONTROLLER_DEVICE_FROM_USB_IO_THIS (This);
|
||||
UsbIoDev = UsbIoController->UsbDevice;
|
||||
UsbHCInterface = UsbIoDev->BusController->UsbHCInterface;
|
||||
|
||||
GetDeviceEndPointMaxPacketLength (
|
||||
This,
|
||||
DeviceEndpoint,
|
||||
@@ -535,18 +535,19 @@ UsbSyncInterruptTransfer (
|
||||
//
|
||||
// using HostController's SyncInterruptTransfer to complete the request
|
||||
//
|
||||
RetStatus = UsbHCInterface->SyncInterruptTransfer (
|
||||
UsbHCInterface,
|
||||
UsbIoDev->DeviceAddress,
|
||||
DeviceEndpoint,
|
||||
UsbIoDev->IsSlowDevice,
|
||||
MaxPacketLength,
|
||||
Data,
|
||||
DataLength,
|
||||
&DataToggle,
|
||||
Timeout,
|
||||
Status
|
||||
);
|
||||
RetStatus = UsbVirtualHcSyncInterruptTransfer (
|
||||
UsbIoDev->BusController,
|
||||
UsbIoDev->DeviceAddress,
|
||||
DeviceEndpoint,
|
||||
UsbIoDev->DeviceSpeed,
|
||||
MaxPacketLength,
|
||||
Data,
|
||||
DataLength,
|
||||
&DataToggle,
|
||||
Timeout,
|
||||
UsbIoDev->Translator,
|
||||
Status
|
||||
);
|
||||
|
||||
if (OldToggle != DataToggle) {
|
||||
//
|
||||
@@ -590,7 +591,7 @@ UsbAsyncInterruptTransfer (
|
||||
the transfer is to be executed.
|
||||
DataLength - Specifies the length, in bytes, of the data to be
|
||||
received from the USB device.
|
||||
InterruptCallback - The Callback function. This function is called if
|
||||
InterruptCallBack - The Callback function. This function is called if
|
||||
the asynchronous interrupt transfer is completed.
|
||||
Context - Passed to InterruptCallback
|
||||
Returns:
|
||||
@@ -600,13 +601,12 @@ UsbAsyncInterruptTransfer (
|
||||
|
||||
--*/
|
||||
{
|
||||
USB_IO_DEVICE *UsbIoDev;
|
||||
UINT8 MaxPacketLength;
|
||||
UINT8 DataToggle;
|
||||
EFI_USB_HC_PROTOCOL *UsbHCInterface;
|
||||
EFI_STATUS RetStatus;
|
||||
USB_IO_CONTROLLER_DEVICE *UsbIoController;
|
||||
ENDPOINT_DESC_LIST_ENTRY *EndpointListEntry;
|
||||
USB_IO_DEVICE *UsbIoDev;
|
||||
UINTN MaxPacketLength;
|
||||
UINT8 DataToggle;
|
||||
EFI_STATUS RetStatus;
|
||||
USB_IO_CONTROLLER_DEVICE *UsbIoController;
|
||||
ENDPOINT_DESC_LIST_ENTRY *EndpointListEntry;
|
||||
|
||||
//
|
||||
// Check endpoint
|
||||
@@ -634,25 +634,25 @@ UsbAsyncInterruptTransfer (
|
||||
|
||||
UsbIoController = USB_IO_CONTROLLER_DEVICE_FROM_USB_IO_THIS (This);
|
||||
UsbIoDev = UsbIoController->UsbDevice;
|
||||
UsbHCInterface = UsbIoDev->BusController->UsbHCInterface;
|
||||
|
||||
if (!IsNewTransfer) {
|
||||
//
|
||||
// Delete this transfer
|
||||
//
|
||||
UsbHCInterface->AsyncInterruptTransfer (
|
||||
UsbHCInterface,
|
||||
UsbIoDev->DeviceAddress,
|
||||
DeviceEndpoint,
|
||||
UsbIoDev->IsSlowDevice,
|
||||
0,
|
||||
FALSE,
|
||||
&DataToggle,
|
||||
PollingInterval,
|
||||
DataLength,
|
||||
NULL,
|
||||
NULL
|
||||
);
|
||||
UsbVirtualHcAsyncInterruptTransfer (
|
||||
UsbIoDev->BusController,
|
||||
UsbIoDev->DeviceAddress,
|
||||
DeviceEndpoint,
|
||||
UsbIoDev->DeviceSpeed,
|
||||
0,
|
||||
FALSE,
|
||||
&DataToggle,
|
||||
PollingInterval,
|
||||
DataLength,
|
||||
UsbIoDev->Translator,
|
||||
NULL,
|
||||
NULL
|
||||
);
|
||||
|
||||
//
|
||||
// We need to store the toggle value
|
||||
@@ -678,19 +678,20 @@ UsbAsyncInterruptTransfer (
|
||||
&DataToggle
|
||||
);
|
||||
|
||||
RetStatus = UsbHCInterface->AsyncInterruptTransfer (
|
||||
UsbHCInterface,
|
||||
UsbIoDev->DeviceAddress,
|
||||
DeviceEndpoint,
|
||||
UsbIoDev->IsSlowDevice,
|
||||
MaxPacketLength,
|
||||
TRUE,
|
||||
&DataToggle,
|
||||
PollingInterval,
|
||||
DataLength,
|
||||
InterruptCallBack,
|
||||
Context
|
||||
);
|
||||
RetStatus = UsbVirtualHcAsyncInterruptTransfer (
|
||||
UsbIoDev->BusController,
|
||||
UsbIoDev->DeviceAddress,
|
||||
DeviceEndpoint,
|
||||
UsbIoDev->DeviceSpeed,
|
||||
MaxPacketLength,
|
||||
TRUE,
|
||||
&DataToggle,
|
||||
PollingInterval,
|
||||
DataLength,
|
||||
UsbIoDev->Translator,
|
||||
InterruptCallBack,
|
||||
Context
|
||||
);
|
||||
|
||||
return RetStatus;
|
||||
}
|
||||
@@ -1070,6 +1071,7 @@ UsbGetStringDescriptor (
|
||||
EFI_SUCCESS
|
||||
EFI_NOT_FOUND
|
||||
EFI_OUT_OF_RESOURCES
|
||||
EFI_UNSUPPORTED
|
||||
|
||||
--*/
|
||||
{
|
||||
|
@@ -35,10 +35,10 @@ IsPortConnect (
|
||||
Tell if there is a device connected to that port according to
|
||||
the Port Status.
|
||||
|
||||
Parameters:
|
||||
Arguments:
|
||||
PortStatus - The status value of that port.
|
||||
|
||||
Return Value:
|
||||
Returns:
|
||||
TRUE
|
||||
FALSE
|
||||
|
||||
@@ -280,7 +280,6 @@ IsPortResetChange (
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN
|
||||
IsPortSuspendChange (
|
||||
IN UINT16 PortChangeStatus
|
||||
@@ -309,8 +308,7 @@ IsPortSuspendChange (
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
INTERFACE_DESC_LIST_ENTRY*
|
||||
INTERFACE_DESC_LIST_ENTRY *
|
||||
FindInterfaceListEntry (
|
||||
IN EFI_USB_IO_PROTOCOL *This
|
||||
)
|
||||
@@ -329,7 +327,7 @@ FindInterfaceListEntry (
|
||||
{
|
||||
USB_IO_CONTROLLER_DEVICE *UsbIoController;
|
||||
USB_IO_DEVICE *UsbIoDev;
|
||||
LIST_ENTRY *InterfaceListHead;
|
||||
LIST_ENTRY *InterfaceListHead;
|
||||
INTERFACE_DESC_LIST_ENTRY *InterfaceListEntry;
|
||||
|
||||
UsbIoController = USB_IO_CONTROLLER_DEVICE_FROM_USB_IO_THIS (This);
|
||||
@@ -367,8 +365,8 @@ FindEndPointListEntry (
|
||||
Find EndPoint ListEntry.
|
||||
|
||||
Arguments:
|
||||
This - EFI_USB_IO_PROTOCOL
|
||||
EndpointAddr - Endpoint address.
|
||||
This - EFI_USB_IO_PROTOCOL
|
||||
EndPointAddress - Endpoint address.
|
||||
|
||||
Returns:
|
||||
ENDPOINT_DESC_LIST_ENTRY pointer
|
||||
@@ -471,7 +469,7 @@ VOID
|
||||
GetDeviceEndPointMaxPacketLength (
|
||||
IN EFI_USB_IO_PROTOCOL *UsbIo,
|
||||
IN UINT8 EndpointAddr,
|
||||
OUT UINT8 *MaxPacketLength
|
||||
OUT UINTN *MaxPacketLength
|
||||
)
|
||||
/*++
|
||||
|
||||
@@ -498,7 +496,7 @@ GetDeviceEndPointMaxPacketLength (
|
||||
return ;
|
||||
}
|
||||
|
||||
*MaxPacketLength = (UINT8) (EndpointListEntry->EndpointDescriptor.MaxPacketSize);
|
||||
*MaxPacketLength = (UINTN) (EndpointListEntry->EndpointDescriptor.MaxPacketSize);
|
||||
|
||||
return ;
|
||||
}
|
||||
|
Reference in New Issue
Block a user