From 507f4ceeeddd394540d8135787afbc0e6c106a1c Mon Sep 17 00:00:00 2001 From: dizzyofcrn Date: Sun, 1 Oct 2017 06:02:53 +0000 Subject: [PATCH] - Inserted some USB3 hub class request skeletons git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@54934 fb15a70f-31f2-0310-bbcc-cdcc74a49acc --- rom/usb/vusbhc/vusbhci_commands.c | 46 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 44 insertions(+), 2 deletions(-) diff --git a/rom/usb/vusbhc/vusbhci_commands.c b/rom/usb/vusbhc/vusbhci_commands.c index 3baa593c1d..90bcbdb114 100644 --- a/rom/usb/vusbhc/vusbhci_commands.c +++ b/rom/usb/vusbhc/vusbhci_commands.c @@ -451,6 +451,8 @@ UWORD ClearPortFeature(struct IOUsbHWReq *ioreq, UWORD wValue, UWORD wIndex, UWO wIndex TT_port wLength Zero Data None + + Not for USB3 */ UWORD ClearTTBuffer(struct IOUsbHWReq *ioreq, UWORD wValue, UWORD wIndex, UWORD wLength) { @@ -466,7 +468,7 @@ UWORD ClearTTBuffer(struct IOUsbHWReq *ioreq, UWORD wValue, UWORD wIndex, UWORD bmRequestType (URTF_IN|URTF_CLASS|URTF_DEVICE) 10100000B bRequest USR_GET_DESCRIPTOR wValue Descriptor Type and Descriptor Index - wIndex Zero + wIndex Zero (or language ID) wLength Descriptor Length Data Descriptor */ @@ -605,6 +607,23 @@ UWORD GetPortStatus(struct IOUsbHWReq *ioreq, UWORD wValue, UWORD wIndex, UWORD } /* + GetPortErrorCount: + bmRequestType (URTF_IN|URTF_CLASS|URTF_OTHER) 10100011B + bRequest USR_PORT_ERR_COUNT (Check: Has it been defined?) + wValue Zero + wIndex Port + wLength Two + Data Number of link errors on this port +*/ +UWORD GetPortErrorCount(struct IOUsbHWReq *ioreq, UWORD wValue, UWORD wIndex, UWORD wLength) { + struct VUSBHCIUnit *unit = (struct VUSBHCIUnit *) ioreq->iouh_Req.io_Unit; + mybug_unit(-1, ("Entering function\n")); + + mybug_unit(-1, ("return UHIOERR_NO_ERROR\n\n")); + return UHIOERR_NO_ERROR; +} + +/* ResetTT: bmRequestType (URTF_OUT|URTF_CLASS|URTF_OTHER) 00100011B bRequest USR_RESET_TT @@ -612,6 +631,8 @@ UWORD GetPortStatus(struct IOUsbHWReq *ioreq, UWORD wValue, UWORD wIndex, UWORD wIndex Port wLength Zero Data None + + Not for USB3 */ UWORD ResetTT(struct IOUsbHWReq *ioreq, UWORD wValue, UWORD wIndex, UWORD wLength) { struct VUSBHCIUnit *unit = (struct VUSBHCIUnit *) ioreq->iouh_Req.io_Unit; @@ -656,6 +677,23 @@ UWORD SetHubFeature(struct IOUsbHWReq *ioreq, UWORD wValue, UWORD wIndex, UWORD } /* + SetHubDescriptor: + bmRequestType (URTF_OUT|URTF_CLASS|URTF_DEVICE) 00100000B + bRequest USR_SET_HUB_DEPTH (Check: Has it been defined?) + wValue Hub Depth + wIndex Zero + wLength Zero + Data None +*/ +UWORD SetHubDepth(struct IOUsbHWReq *ioreq, UWORD wValue, UWORD wIndex, UWORD wLength) { + struct VUSBHCIUnit *unit = (struct VUSBHCIUnit *) ioreq->iouh_Req.io_Unit; + mybug_unit(-1, ("Entering function\n")); + + mybug_unit(-1, ("return UHIOERR_NO_ERROR\n\n")); + return UHIOERR_NO_ERROR; +} + +/* SetPortFeature: bmRequestType (URTF_OUT|URTF_CLASS|URTF_OTHER) 00100011B bRequest USR_SET_FEATURE @@ -743,6 +781,8 @@ UWORD SetPortFeature(struct IOUsbHWReq *ioreq, UWORD wValue, UWORD wIndex, UWORD wIndex Port wLength TT State Length Data TT State + + Not for USB3 */ UWORD GetTTState(struct IOUsbHWReq *ioreq, UWORD wValue, UWORD wIndex, UWORD wLength) { struct VUSBHCIUnit *unit = (struct VUSBHCIUnit *) ioreq->iouh_Req.io_Unit; @@ -760,6 +800,8 @@ UWORD GetTTState(struct IOUsbHWReq *ioreq, UWORD wValue, UWORD wIndex, UWORD wLe wIndex Port wLength Zero Data None + + Not for USB3 */ UWORD StopTT(struct IOUsbHWReq *ioreq, UWORD wValue, UWORD wIndex, UWORD wLength) { struct VUSBHCIUnit *unit = (struct VUSBHCIUnit *) ioreq->iouh_Req.io_Unit; @@ -816,7 +858,7 @@ WORD cmdControlXFerRootHub(struct IOUsbHWReq *ioreq) { case ((((URTF_OUT|URTF_STANDARD|URTF_DEVICE))<<16)|(USR_SET_CONFIGURATION)): return(SetConfiguration(ioreq, wValue, wIndex, wLength)); -/* Hub Class Requests */ +/* Hub Class Requests. Check here if the command is for USB2 or USB3 hub... */ case (((URTF_OUT|URTF_CLASS|URTF_DEVICE)<<16)|(USR_CLEAR_FEATURE)): return(ClearHubFeature(ioreq, wValue, wIndex, wLength)); -- 2.11.4.GIT