• Manu Gautam's avatar
    usb: ehci: Add support for SINGLE_STEP_SET_FEATURE test of EHSET · 9841f37a
    Manu Gautam authored
    The USB Embedded High-speed Host Electrical Test (EHSET) defines the
    SINGLE_STEP_SET_FEATURE test as follows:
    
    1) The host enumerates the test device with VID:0x1A0A, PID:0x0108
    2) The host sends the SETUP stage of a GetDescriptor(Device)
    3) The device ACKs the request
    4) The host issues SOFs for 15 seconds allowing the test operator to
       raise the scope trigger just above the SOF voltage level
    5) The host sends the IN packet
    6) The device sends data in response, triggering the scope
    7) The host sends an ACK in response to the data
    
    This patch adds additional handling to the EHCI hub driver and allows
    the EHSET driver to initiate this test mode by issuing a a SetFeature
    request to the root hub with a Test Selector value of 0x06. From there
    it mimics ehci_urb_enqueue() but separately submits QTDs for the
    SETUP and DATA/STATUS stages in order to insert a delay in between.
    Signed-off-by: default avatarManu Gautam <mgautam@codeaurora.org>
    Acked-by: default avatarAlan Stern <stern@rowland.harvard.edu>
    [jackp@codeaurora.org: imported from commit c2084930 on codeaurora.org;
     minor cleanup and updated author email]
    Signed-off-by: default avatarJack Pham <jackp@codeaurora.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    9841f37a
ehci-hub.c 34.8 KB