X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FModules%2FUSB%2FUHCI%2Fuhci.h;h=6eff0ebd930206b626744ad412594a0a667438f6;hb=45c91b880402af13c4b8f934c53780d7cba24aac;hp=db5078e98ad6ca6d6a3abccf3c45c5a2d2dec363;hpb=3bcfc9ded1d44d1fbec95f73b5894e26f498b73d;p=tpg%2Facess2.git diff --git a/KernelLand/Modules/USB/UHCI/uhci.h b/KernelLand/Modules/USB/UHCI/uhci.h index db5078e9..6eff0ebd 100644 --- a/KernelLand/Modules/USB/UHCI/uhci.h +++ b/KernelLand/Modules/USB/UHCI/uhci.h @@ -24,6 +24,17 @@ struct sUHCI_ExtraTDInfo void *CallbackPtr; }; +#define TD_CTL_IOC (1 << 24) + +#define TD_CTL_ACTIVE (1 << 23) +#define TD_CTL_STALLED (1 << 22) +#define TD_CTL_DATABUFERR (1 << 21) +#define TD_CTL_BABBLE (1 << 20) +#define TD_CTL_NAK (1 << 19) +#define TD_CTL_CRCERR (1 << 18) +#define TD_CTL_BITSTUFF (1 << 17) +#define TD_CTL_RESERVED (1 << 16) + struct sUHCI_TD { /** @@ -85,7 +96,7 @@ struct sUHCI_TD { tUHCI_ExtraTDInfo *ExtraInfo; char bActive; // Allocated - Uint8 period_entry; // index + 1, 0 = non-interrupt, 1 = offset 0 + Uint8 QueueIndex; // QH, 0-127 are interrupt, 128 undef, 129 Control, 130 Bulk char bFreePointer; // Free \a BufferPointer once done } _info; } __attribute__((aligned(16))); @@ -165,14 +176,16 @@ struct sUHCI_Controller tUSBHub *RootHub; /** + * \brief Load in bytes on each interrupt queue */ -// int FrameLoads[1024]; + int InterruptLoad[128]; tPAddr PhysTDQHPage; struct { // 127 Interrupt Queue Heads // - 4ms -> 256ms range of periods + tUHCI_QH InterruptQHs[0]; tUHCI_QH InterruptQHs_256ms[64]; tUHCI_QH InterruptQHs_128ms[32]; tUHCI_QH InterruptQHs_64ms [16];