Intel Extensible Firmware Interface Network Router User Manual


  Open as PDF
of 1084
 
Protocols USB Support
Version 1.10 12/01/02 14-17
DataToggle A pointer to the data toggle value. On input, it is valid when
IsNewTransfer is TRUE, and it indicates the initial data
toggle value the asynchronous interrupt transfer should adopt.
On output, it is valid when IsNewTransfer is FALSE, and it
is updated to indicate the data toggle value of the subsequent
asynchronous interrupt transfer.
PollingInterval Indicates the interval, in milliseconds, that the asynchronous
interrupt transfer is polled. This parameter is required when
IsNewTransfer is TRUE.
DataLength Indicates the length of data to be received at the rate specified by
PollingInterval from the target asynchronous interrupt
endpoint. This parameter is only required when
IsNewTransfer is TRUE.
CallBackFunction The Callback function. This function is called at the rate
specified by PollingInterval. This parameter is only
required when IsNewTransfer is TRUE. Refer to
Section 2.5.3 of EFI1.1 USB Driver Model, version 0.7, for the
definition of this type.
Context The context that is passed to the CallBackFunction. This is
an optional parameter and may be NULL.
Description
This function is used to submit asynchronous interrupt transfer to a target endpoint of a USB
device. The target endpoint is specified by DeviceAddress and EndpointAddress. In the
USB Specification, Revision 1.1, interrupt transfer is one of the four USB transfer types. In the
EFI_USB_HC_PROTOCOL
, interrupt transfer is divided further into synchronous interrupt transfer
and asynchronous interrupt transfer.
An asynchronous interrupt transfer is typically used to query a devices status at a fixed rate. For
example, keyboard, mouse, and hub devices use this type of transfer to query their interrupt
endpoints at a fixed rate. The asynchronous interrupt transfer is intended to support the interrupt
transfer type of submit once, execute periodically. Unless an explicit request is made, the
asychronous transfer will never retire.
If IsNewTransfer is TRUE, then an interrupt transfer is started at a fixed rate. The rate is
specified by PollingInterval, the size of the receive buffer is specified by DataLength,
and the callback function is specified by CallBackFunction. Context specifies an optional
context that is passed to the CallBackFunction each time it is called. The
CallBackFunction is intended to provide a means for the host to periodically process interrupt
transfer data.