diff options
author | Michael Sevakis <jethead71@rockbox.org> | 2007-10-16 01:25:17 +0000 |
---|---|---|
committer | Michael Sevakis <jethead71@rockbox.org> | 2007-10-16 01:25:17 +0000 |
commit | a9b2fb5ee3114fe835f6515b6aeae7454f66d821 (patch) | |
tree | fc4e96d0c1f215565918406c8827b16b806c1345 /firmware/usb.c | |
parent | a3fbbc9fa7e12fd3fce122bbd235dc362050e024 (diff) | |
download | rockbox-a9b2fb5ee3114fe835f6515b6aeae7454f66d821.tar.gz rockbox-a9b2fb5ee3114fe835f6515b6aeae7454f66d821.zip |
Finally full multicore support for PortalPlayer 502x targets with an eye towards the possibility of other types. All SVN targets the low-lag code to speed up blocking operations. Most files are modified here simple due to a name change to actually support a real event object and a param change to create_thread. Add some use of new features but just sit on things for a bit and leave full integration for later. Work will continue on to address size on sensitive targets and simplify things if possible. Any PP target having problems with SWP can easily be changed to sw corelocks with one #define change in config.h though only PP5020 has shown an issue and seems to work without any difficulties.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15134 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/usb.c')
-rw-r--r-- | firmware/usb.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/firmware/usb.c b/firmware/usb.c index af09aecff9..f79af98518 100644 --- a/firmware/usb.c +++ b/firmware/usb.c | |||
@@ -66,7 +66,7 @@ static int usb_mmc_countdown = 0; | |||
66 | static long usb_stack[(DEFAULT_STACK_SIZE + 0x800)/sizeof(long)]; | 66 | static long usb_stack[(DEFAULT_STACK_SIZE + 0x800)/sizeof(long)]; |
67 | static const char usb_thread_name[] = "usb"; | 67 | static const char usb_thread_name[] = "usb"; |
68 | #endif | 68 | #endif |
69 | static struct event_queue usb_queue; | 69 | static struct event_queue usb_queue NOCACHEBSS_ATTR; |
70 | static int last_usb_status; | 70 | static int last_usb_status; |
71 | static bool usb_monitor_enabled; | 71 | static bool usb_monitor_enabled; |
72 | 72 | ||
@@ -119,7 +119,7 @@ static void usb_thread(void) | |||
119 | { | 119 | { |
120 | int num_acks_to_expect = -1; | 120 | int num_acks_to_expect = -1; |
121 | bool waiting_for_ack; | 121 | bool waiting_for_ack; |
122 | struct event ev; | 122 | struct queue_event ev; |
123 | 123 | ||
124 | waiting_for_ack = false; | 124 | waiting_for_ack = false; |
125 | 125 | ||
@@ -307,9 +307,9 @@ void usb_init(void) | |||
307 | #ifndef BOOTLOADER | 307 | #ifndef BOOTLOADER |
308 | queue_init(&usb_queue, true); | 308 | queue_init(&usb_queue, true); |
309 | 309 | ||
310 | create_thread(usb_thread, usb_stack, sizeof(usb_stack), | 310 | create_thread(usb_thread, usb_stack, sizeof(usb_stack), 0, |
311 | usb_thread_name IF_PRIO(, PRIORITY_SYSTEM) | 311 | usb_thread_name IF_PRIO(, PRIORITY_SYSTEM) |
312 | IF_COP(, CPU, false)); | 312 | IF_COP(, CPU)); |
313 | 313 | ||
314 | tick_add_task(usb_tick); | 314 | tick_add_task(usb_tick); |
315 | #endif | 315 | #endif |
@@ -318,7 +318,7 @@ void usb_init(void) | |||
318 | 318 | ||
319 | void usb_wait_for_disconnect(struct event_queue *q) | 319 | void usb_wait_for_disconnect(struct event_queue *q) |
320 | { | 320 | { |
321 | struct event ev; | 321 | struct queue_event ev; |
322 | 322 | ||
323 | /* Don't return until we get SYS_USB_DISCONNECTED */ | 323 | /* Don't return until we get SYS_USB_DISCONNECTED */ |
324 | while(1) | 324 | while(1) |
@@ -334,7 +334,7 @@ void usb_wait_for_disconnect(struct event_queue *q) | |||
334 | 334 | ||
335 | int usb_wait_for_disconnect_w_tmo(struct event_queue *q, int ticks) | 335 | int usb_wait_for_disconnect_w_tmo(struct event_queue *q, int ticks) |
336 | { | 336 | { |
337 | struct event ev; | 337 | struct queue_event ev; |
338 | 338 | ||
339 | /* Don't return until we get SYS_USB_DISCONNECTED or SYS_TIMEOUT */ | 339 | /* Don't return until we get SYS_USB_DISCONNECTED or SYS_TIMEOUT */ |
340 | while(1) | 340 | while(1) |