Changeset b10a434 in mainline for uspace/drv/bus/usb/usbdiag/tests.c


Ignore:
Timestamp:
2017-12-22T13:22:54Z (6 years ago)
Author:
Petr Mánek <petr.manek@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
00d23a2
Parents:
96c416a
git-author:
Petr Mánek <petr.manek@…> (2017-12-22 13:22:51)
git-committer:
Petr Mánek <petr.manek@…> (2017-12-22 13:22:54)
Message:

usbdiag: refactoring

Remote usbdiag interface has been modified to allow reporting test duration back to the caller. The usbdiag driver has been modified to pass such information to the remote interface. The tmon utility has been modified to display some basic statistical information derived from the received value.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/bus/usb/usbdiag/tests.c

    r96c416a rb10a434  
    3737#include <str_error.h>
    3838#include <usb/debug.h>
     39#include <usbdiag_iface.h>
    3940#include <time.h>
    4041#include "device.h"
     
    4344#define NAME "usbdiag"
    4445
    45 static int burst_in_test(usb_pipe_t *pipe, int cycles, size_t size, unsigned long *duration)
     46static int burst_in_test(usb_pipe_t *pipe, int cycles, size_t size, usbdiag_dur_t *duration)
    4647{
    4748        if (!pipe)
     
    8687        struct timeval final_time;
    8788        gettimeofday(&final_time, NULL);
    88         unsigned long in_duration = ((final_time.tv_usec - start_time.tv_usec) / 1000) +
     89        usbdiag_dur_t in_duration = ((final_time.tv_usec - start_time.tv_usec) / 1000) +
    8990            ((final_time.tv_sec - start_time.tv_sec) * 1000);
    9091
     
    9899}
    99100
    100 static int burst_out_test(usb_pipe_t *pipe, int cycles, size_t size, unsigned long *duration)
     101static int burst_out_test(usb_pipe_t *pipe, int cycles, size_t size, usbdiag_dur_t *duration)
    101102{
    102103        if (!pipe)
     
    127128        struct timeval final_time;
    128129        gettimeofday(&final_time, NULL);
    129         unsigned long in_duration = ((final_time.tv_usec - start_time.tv_usec) / 1000) +
     130        usbdiag_dur_t in_duration = ((final_time.tv_usec - start_time.tv_usec) / 1000) +
    130131            ((final_time.tv_sec - start_time.tv_sec) * 1000);
    131132
     
    139140}
    140141
    141 int usbdiag_burst_test_intr_in(ddf_fun_t *fun, int cycles, size_t size)
     142int usbdiag_burst_test_intr_in(ddf_fun_t *fun, int cycles, size_t size, usbdiag_dur_t *duration)
    142143{
    143144        usbdiag_dev_t *dev = ddf_fun_to_usbdiag_dev(fun);
     
    145146                return EBADMEM;
    146147
    147         // FIXME: report duration
    148         return burst_in_test(dev->intr_in, cycles, size, NULL);
     148        return burst_in_test(dev->intr_in, cycles, size, duration);
    149149}
    150150
    151 int usbdiag_burst_test_intr_out(ddf_fun_t *fun, int cycles, size_t size)
     151int usbdiag_burst_test_intr_out(ddf_fun_t *fun, int cycles, size_t size, usbdiag_dur_t *duration)
    152152{
    153153        usbdiag_dev_t *dev = ddf_fun_to_usbdiag_dev(fun);
     
    155155                return EBADMEM;
    156156
    157         // FIXME: report duration
    158         return burst_out_test(dev->intr_out, cycles, size, NULL);
     157        return burst_out_test(dev->intr_out, cycles, size, duration);
    159158}
    160159
    161 int usbdiag_burst_test_bulk_in(ddf_fun_t *fun, int cycles, size_t size)
     160int usbdiag_burst_test_bulk_in(ddf_fun_t *fun, int cycles, size_t size, usbdiag_dur_t *duration)
    162161{
    163162        usbdiag_dev_t *dev = ddf_fun_to_usbdiag_dev(fun);
     
    165164                return EBADMEM;
    166165
    167         // FIXME: report duration
    168         return burst_in_test(dev->bulk_in, cycles, size, NULL);
     166        return burst_in_test(dev->bulk_in, cycles, size, duration);
    169167}
    170168
    171 int usbdiag_burst_test_bulk_out(ddf_fun_t *fun, int cycles, size_t size)
     169int usbdiag_burst_test_bulk_out(ddf_fun_t *fun, int cycles, size_t size, usbdiag_dur_t *duration)
    172170{
    173171        usbdiag_dev_t *dev = ddf_fun_to_usbdiag_dev(fun);
     
    175173                return EBADMEM;
    176174
    177         // FIXME: report duration
    178         return burst_out_test(dev->bulk_out, cycles, size, NULL);
     175        return burst_out_test(dev->bulk_out, cycles, size, duration);
    179176}
    180177
    181 int usbdiag_burst_test_isoch_in(ddf_fun_t *fun, int cycles, size_t size)
     178int usbdiag_burst_test_isoch_in(ddf_fun_t *fun, int cycles, size_t size, usbdiag_dur_t *duration)
    182179{
    183180        usbdiag_dev_t *dev = ddf_fun_to_usbdiag_dev(fun);
     
    185182                return EBADMEM;
    186183
    187         // FIXME: report duration
    188         return burst_in_test(dev->isoch_in, cycles, size, NULL);
     184        return burst_in_test(dev->isoch_in, cycles, size, duration);
    189185}
    190186
    191 int usbdiag_burst_test_isoch_out(ddf_fun_t *fun, int cycles, size_t size)
     187int usbdiag_burst_test_isoch_out(ddf_fun_t *fun, int cycles, size_t size, usbdiag_dur_t *duration)
    192188{
    193189        usbdiag_dev_t *dev = ddf_fun_to_usbdiag_dev(fun);
     
    195191                return EBADMEM;
    196192
    197         // FIXME: report duration
    198         return burst_out_test(dev->isoch_out, cycles, size, NULL);
     193        return burst_out_test(dev->isoch_out, cycles, size, duration);
    199194}
    200195
Note: See TracChangeset for help on using the changeset viewer.