31 IN EFI_USB_RECIPIENT Recipient,
38 ASSERT (UsbIoPpi !=
NULL);
42 DevReq.RequestType = USB_DEV_CLEAR_FEATURE_REQ_TYPE_D;
46 DevReq.RequestType = USB_DEV_CLEAR_FEATURE_REQ_TYPE_I;
50 DevReq.RequestType = USB_DEV_CLEAR_FEATURE_REQ_TYPE_E;
54 DevReq.Request = USB_DEV_CLEAR_FEATURE;
56 DevReq.Index = Target;
59 return UsbIoPpi->UsbControlTransfer (
64 PcdGet32 (PcdUsbTransferTimeoutValue),
86 IN UINT8 EndpointAddress
97 Status = UsbIoPpi->UsbGetInterfaceDescriptor (
102 if (EFI_ERROR (Status)) {
106 for (EndpointIndex = 0; EndpointIndex < InterfaceDesc->NumEndpoints; EndpointIndex++) {
107 Status = UsbIoPpi->UsbGetEndpointDescriptor (PeiServices, UsbIoPpi, EndpointIndex, &EndpointDescriptor);
108 if (EFI_ERROR (Status)) {
109 return EFI_INVALID_PARAMETER;
112 if (EndpointDescriptor->EndpointAddress == EndpointAddress) {
117 if (EndpointIndex == InterfaceDesc->NumEndpoints) {
118 return EFI_INVALID_PARAMETER;
#define PcdGet32(TokenName)
EFI_STATUS PeiUsbClearDeviceFeature(IN EFI_PEI_SERVICES **PeiServices, IN PEI_USB_IO_PPI *UsbIoPpi, IN EFI_USB_RECIPIENT Recipient, IN UINT16 Value, IN UINT16 Target)
EFI_STATUS PeiUsbClearEndpointHalt(IN EFI_PEI_SERVICES **PeiServices, IN PEI_USB_IO_PPI *UsbIoPpi, IN UINT8 EndpointAddress)