• Amit Virdi's avatar
    usbtest: Add interrupt EP testcases · 457a0955
    Amit Virdi authored
    Two simple test cases for interrupt endpoints are added to the usbtest.c file.
    These are simple non-queued interrupt IN and interrupt OUT transfers. Currently,
    only gadget zero is capable of executing the interrupt EP test cases. However,
    extending the same to other gadgets is extremely simple and can be done
    on-demand.
    
    The two new tests added are
      - Test 25: To verify Interrupt OUT transfer
      - Test 26: To verify Interrupt IN transfer
    
    Since the default value of wMaxPacketSize is set as 1024, so interrupt
    IN transfers must be specified with the size parameter = multiple of
    1024. Otherwise the default value (512) in the usbtest application fails
    the transfer. See [RUN 4] for sample logs
    
    The application logs (usbtest) and corresponding kernel logs are as
    following:
    
    [Run 1]
    ./testusb -a -c 10 -s 2048 -t 26 -v 511
    usbtest 7-1:3.0: TEST 26: read 2048 bytes 10 times
    
    [Run 2]
    ./testusb -a -c 10 -s 1024 -t 25 -v 511
    usbtest 7-1:3.0: TEST 25: write 1024 bytes 10 times
    
    [Run 3]
    ./testusb -a -c 10 -s 1098 -t 25 -v 511
    usbtest 7-1:3.0: TEST 25: write 1098 bytes 10 times
    
    [Run 4 - Failure case scenario]
    ./testusb -a  -t 26
    unknown speed   /dev/bus/usb/007/004    0
    /dev/bus/usb/007/004 test 26 --> 75 (Value too large for defined data type)
    
    usbtest 7-1:3.0: TEST 26: read 512 bytes 1000 times
    usb 7-1: test26 failed, iterations left 999, status -75 (not 0)
    Signed-off-by: default avatarAmit Virdi <amit.virdi@st.com>
    Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
    457a0955
usbtest.c 72.3 KB