mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 21:03:00 +00:00
[USBPORT] Add USB2_GetHsOverhead().
This commit is contained in:
parent
2d4bd7b744
commit
720d7cfd9b
2 changed files with 56 additions and 0 deletions
|
@ -159,6 +159,53 @@ USB2_GetOverhead(IN PUSB2_TT_ENDPOINT TtEndpoint)
|
||||||
return Overhead;
|
return Overhead;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
VOID
|
||||||
|
NTAPI
|
||||||
|
USB2_GetHsOverhead(IN PUSB2_TT_ENDPOINT TtEndpoint,
|
||||||
|
IN PULONG OverheadSS,
|
||||||
|
IN PULONG OverheadCS)
|
||||||
|
{
|
||||||
|
ULONG TransferType;
|
||||||
|
ULONG Direction;
|
||||||
|
ULONG HostDelay;
|
||||||
|
|
||||||
|
TransferType = TtEndpoint->TtEndpointParams.TransferType;
|
||||||
|
Direction = TtEndpoint->TtEndpointParams.Direction;
|
||||||
|
|
||||||
|
HostDelay = TtEndpoint->Tt->HcExtension->HcDelayTime;
|
||||||
|
|
||||||
|
if (Direction == USBPORT_TRANSFER_DIRECTION_OUT)
|
||||||
|
{
|
||||||
|
if (TransferType == USBPORT_TRANSFER_TYPE_ISOCHRONOUS)
|
||||||
|
{
|
||||||
|
*OverheadSS = HostDelay + USB2_HS_SS_ISOCHRONOUS_OUT_OVERHEAD;
|
||||||
|
*OverheadCS = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
*OverheadSS = HostDelay + USB2_HS_SS_INTERRUPT_OUT_OVERHEAD;
|
||||||
|
*OverheadCS = HostDelay + USB2_HS_CS_INTERRUPT_OUT_OVERHEAD;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (TransferType == USBPORT_TRANSFER_TYPE_ISOCHRONOUS)
|
||||||
|
{
|
||||||
|
*OverheadSS = HostDelay + USB2_HS_SS_ISOCHRONOUS_IN_OVERHEAD;
|
||||||
|
*OverheadCS = HostDelay + USB2_HS_CS_ISOCHRONOUS_IN_OVERHEAD;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
*OverheadSS = HostDelay + USB2_HS_SS_INTERRUPT_IN_OVERHEAD;
|
||||||
|
*OverheadCS = HostDelay + USB2_HS_CS_INTERRUPT_IN_OVERHEAD;
|
||||||
|
}
|
||||||
|
|
||||||
|
DPRINT("USB2_GetHsOverhead: *OverheadSS - %X, *OverheadCS - %X\n",
|
||||||
|
*OverheadSS,
|
||||||
|
*OverheadCS);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
ULONG
|
ULONG
|
||||||
NTAPI
|
NTAPI
|
||||||
USB2_GetLastIsoTime(IN PUSB2_TT_ENDPOINT TtEndpoint,
|
USB2_GetLastIsoTime(IN PUSB2_TT_ENDPOINT TtEndpoint,
|
||||||
|
|
|
@ -469,6 +469,15 @@ typedef struct _TIMER_WORK_QUEUE_ITEM {
|
||||||
#define USB2_HS_ISOCHRONOUS_OUT_OVERHEAD 38
|
#define USB2_HS_ISOCHRONOUS_OUT_OVERHEAD 38
|
||||||
#define USB2_HS_ISOCHRONOUS_IN_OVERHEAD 18
|
#define USB2_HS_ISOCHRONOUS_IN_OVERHEAD 18
|
||||||
|
|
||||||
|
#define USB2_HS_SS_INTERRUPT_OUT_OVERHEAD 58
|
||||||
|
#define USB2_HS_CS_INTERRUPT_OUT_OVERHEAD 36
|
||||||
|
#define USB2_HS_SS_INTERRUPT_IN_OVERHEAD 39
|
||||||
|
#define USB2_HS_CS_INTERRUPT_IN_OVERHEAD 38
|
||||||
|
|
||||||
|
#define USB2_HS_SS_ISOCHRONOUS_OUT_OVERHEAD 58
|
||||||
|
#define USB2_HS_SS_ISOCHRONOUS_IN_OVERHEAD 39
|
||||||
|
#define USB2_HS_CS_ISOCHRONOUS_IN_OVERHEAD 38
|
||||||
|
|
||||||
typedef union _USB2_TT_ENDPOINT_PARAMS {
|
typedef union _USB2_TT_ENDPOINT_PARAMS {
|
||||||
struct {
|
struct {
|
||||||
ULONG TransferType : 4;
|
ULONG TransferType : 4;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue