diff options
author | laforge <laforge@6dc7ffe9-61d6-0310-9af1-9938baff3ed1> | 2006-09-22 21:41:22 +0000 |
---|---|---|
committer | laforge <laforge@6dc7ffe9-61d6-0310-9af1-9938baff3ed1> | 2006-09-22 21:41:22 +0000 |
commit | 706ffa9f3b986eff193377142459fbfde2362036 (patch) | |
tree | fbdb2d853265bf783db3a9eceebdded08efd297e /firmware/src/pcd/main_usb.c | |
parent | 1c2b1d22016957bebe0a49c9069b85815f7cf936 (diff) |
- move large rctx definitions to req_ctx.h
- add more fine-grained debugging macros in pcd_enumarate.c
- resolve race conditions between main-loop ep_refill and irq-triggered
ep_refill by adding one irq-[b]locking variant
- consolidate endpoint reset code into reset_ep()
- add code to handle correct transmission and reception of usb transfers
larger than endpoint size
- use new jump address (0x104000) in DFU Cstartup.S
- move main_usb to pcd subdirectory
- fix include/compile.h make dependencies
- make usb benchmark code use new large req_ctx
git-svn-id: https://svn.openpcd.org:2342/trunk@219 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
Diffstat (limited to 'firmware/src/pcd/main_usb.c')
-rw-r--r-- | firmware/src/pcd/main_usb.c | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/firmware/src/pcd/main_usb.c b/firmware/src/pcd/main_usb.c new file mode 100644 index 0000000..fcd3306 --- /dev/null +++ b/firmware/src/pcd/main_usb.c @@ -0,0 +1,44 @@ +/* main_usb - OpenPCD test firmware for benchmarking USB performance + * (C) 2006 by Harald Welte <laforge@gnumonks.org> + */ + +#include <errno.h> +#include <string.h> +#include <lib_AT91SAM7.h> +#include <openpcd.h> +#include <os/dbgu.h> +#include <os/led.h> +#include <os/pcd_enumerate.h> +#include <os/usb_handler.h> + +static void help(void) +{ +} + +int _main_dbgu(char key) +{ + switch (key) { + default: + return -EINVAL; + } + + return 0; +} + +void _init_func(void) +{ + usbtest_init(); +} + +void _main_func(void) +{ + /* first we try to get rid of pending to-be-sent stuff */ + usb_out_process(); + + /* next we deal with incoming reqyests from USB EP1 (OUT) */ + usb_in_process(); + + /* try unthrottling sources since we now are [more] likely to + * have empty request contexts */ + udp_unthrottle(); +} |