Changeset 96c416a in mainline
- Timestamp:
- 2017-12-22T12:19:02Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- b10a434
- Parents:
- b7b7898
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/bus/usb/usbdiag/tests.c
rb7b7898 r96c416a 37 37 #include <str_error.h> 38 38 #include <usb/debug.h> 39 #include <time.h> 39 40 #include "device.h" 40 41 #include "tests.h" … … 42 43 #define NAME "usbdiag" 43 44 44 static int burst_in_test(usb_pipe_t *pipe, int cycles, size_t size )45 static int burst_in_test(usb_pipe_t *pipe, int cycles, size_t size, unsigned long *duration) 45 46 { 46 47 if (!pipe) … … 54 55 55 56 usb_log_info("Performing %s IN burst test.", usb_str_transfer_type(pipe->desc.transfer_type)); 57 56 58 int rc = EOK; 59 struct timeval start_time; 60 gettimeofday(&start_time, NULL); 61 57 62 for (int i = 0; i < cycles; ++i) { 58 63 // Read device's response. … … 78 83 break; 79 84 } 80 usb_log_info("Burst test on %s IN endpoint completed.", usb_str_transfer_type(pipe->desc.transfer_type)); 85 86 struct timeval final_time; 87 gettimeofday(&final_time, NULL); 88 unsigned long in_duration = ((final_time.tv_usec - start_time.tv_usec) / 1000) + 89 ((final_time.tv_sec - start_time.tv_sec) * 1000); 90 91 usb_log_info("Burst test on %s IN endpoint completed in %lu ms.", usb_str_transfer_type(pipe->desc.transfer_type), in_duration); 81 92 82 93 free(buffer); 94 if (duration) 95 *duration = in_duration; 96 83 97 return rc; 84 98 } 85 99 86 static int burst_out_test(usb_pipe_t *pipe, int cycles, size_t size )100 static int burst_out_test(usb_pipe_t *pipe, int cycles, size_t size, unsigned long *duration) 87 101 { 88 102 if (!pipe) … … 98 112 99 113 usb_log_info("Performing %s OUT burst test.", usb_str_transfer_type(pipe->desc.transfer_type)); 114 100 115 int rc = EOK; 116 struct timeval start_time; 117 gettimeofday(&start_time, NULL); 118 101 119 for (int i = 0; i < cycles; ++i) { 102 120 // Write buffer to device. … … 106 124 } 107 125 } 108 usb_log_info("Burst test on %s OUT endpoint completed.", usb_str_transfer_type(pipe->desc.transfer_type)); 126 127 struct timeval final_time; 128 gettimeofday(&final_time, NULL); 129 unsigned long in_duration = ((final_time.tv_usec - start_time.tv_usec) / 1000) + 130 ((final_time.tv_sec - start_time.tv_sec) * 1000); 131 132 usb_log_info("Burst test on %s OUT endpoint completed in %ld ms.", usb_str_transfer_type(pipe->desc.transfer_type), in_duration); 109 133 110 134 free(buffer); 135 if (duration) 136 *duration = in_duration; 137 111 138 return rc; 112 139 } … … 118 145 return EBADMEM; 119 146 120 return burst_in_test(dev->intr_in, cycles, size); 147 // FIXME: report duration 148 return burst_in_test(dev->intr_in, cycles, size, NULL); 121 149 } 122 150 … … 127 155 return EBADMEM; 128 156 129 return burst_out_test(dev->intr_out, cycles, size); 157 // FIXME: report duration 158 return burst_out_test(dev->intr_out, cycles, size, NULL); 130 159 } 131 160 … … 136 165 return EBADMEM; 137 166 138 return burst_in_test(dev->bulk_in, cycles, size); 167 // FIXME: report duration 168 return burst_in_test(dev->bulk_in, cycles, size, NULL); 139 169 } 140 170 … … 145 175 return EBADMEM; 146 176 147 return burst_out_test(dev->bulk_out, cycles, size); 177 // FIXME: report duration 178 return burst_out_test(dev->bulk_out, cycles, size, NULL); 148 179 } 149 180 … … 154 185 return EBADMEM; 155 186 156 return burst_in_test(dev->isoch_in, cycles, size); 187 // FIXME: report duration 188 return burst_in_test(dev->isoch_in, cycles, size, NULL); 157 189 } 158 190 … … 163 195 return EBADMEM; 164 196 165 return burst_out_test(dev->isoch_out, cycles, size); 197 // FIXME: report duration 198 return burst_out_test(dev->isoch_out, cycles, size, NULL); 166 199 } 167 200
Note:
See TracChangeset
for help on using the changeset viewer.