Changeset 83c439c in mainline for uspace/drv/uhci-hcd/batch.c
- Timestamp:
- 2011-02-12T02:12:52Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 2806cd2
- Parents:
- 7dd3318
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/uhci-hcd/batch.c
r7dd3318 r83c439c 36 36 #include <usb/debug.h> 37 37 38 #include " tracker.h"38 #include "batch.h" 39 39 #include "transfer_list.h" 40 40 #include "uhci.h" … … 43 43 #define DEFAULT_ERROR_COUNT 3 44 44 45 static int tracker_schedule(tracker_t *instance);46 47 static void tracker_call_in(tracker_t *instance);48 static void tracker_call_out(tracker_t *instance);49 static void tracker_call_in_and_dispose(tracker_t *instance);50 static void tracker_call_out_and_dispose(tracker_t *instance);51 52 53 tracker_t * tracker_get(device_t *dev, usb_target_t target,45 static int batch_schedule(batch_t *instance); 46 47 static void batch_call_in(batch_t *instance); 48 static void batch_call_out(batch_t *instance); 49 static void batch_call_in_and_dispose(batch_t *instance); 50 static void batch_call_out_and_dispose(batch_t *instance); 51 52 53 batch_t * batch_get(device_t *dev, usb_target_t target, 54 54 usb_transfer_type_t transfer_type, size_t max_packet_size, 55 55 dev_speed_t speed, char *buffer, size_t size, … … 61 61 assert(func_in != NULL || func_out != NULL); 62 62 63 tracker_t *instance = malloc(sizeof(tracker_t));63 batch_t *instance = malloc(sizeof(batch_t)); 64 64 if (instance == NULL) { 65 usb_log_error("Failed to allocate trackerinstance.\n");65 usb_log_error("Failed to allocate batch instance.\n"); 66 66 return NULL; 67 67 } … … 136 136 } 137 137 /*----------------------------------------------------------------------------*/ 138 bool tracker_is_complete(tracker_t *instance)138 bool batch_is_complete(batch_t *instance) 139 139 { 140 140 assert(instance); … … 157 157 } 158 158 /*----------------------------------------------------------------------------*/ 159 void tracker_control_write(tracker_t *instance)159 void batch_control_write(batch_t *instance) 160 160 { 161 161 assert(instance); … … 187 187 0, 1, false, instance->target, USB_PID_IN, NULL, NULL); 188 188 189 instance->next_step = tracker_call_out_and_dispose;190 tracker_schedule(instance);191 } 192 /*----------------------------------------------------------------------------*/ 193 void tracker_control_read(tracker_t *instance)189 instance->next_step = batch_call_out_and_dispose; 190 batch_schedule(instance); 191 } 192 /*----------------------------------------------------------------------------*/ 193 void batch_control_read(batch_t *instance) 194 194 { 195 195 assert(instance); … … 218 218 0, 1, false, instance->target, USB_PID_OUT, NULL, NULL); 219 219 220 instance->next_step = tracker_call_in_and_dispose;221 tracker_schedule(instance);222 } 223 /*----------------------------------------------------------------------------*/ 224 void tracker_interrupt_in(tracker_t *instance)220 instance->next_step = batch_call_in_and_dispose; 221 batch_schedule(instance); 222 } 223 /*----------------------------------------------------------------------------*/ 224 void batch_interrupt_in(batch_t *instance) 225 225 { 226 226 assert(instance); … … 240 240 } 241 241 242 instance->next_step = tracker_call_in_and_dispose;243 tracker_schedule(instance);244 } 245 /*----------------------------------------------------------------------------*/ 246 void tracker_interrupt_out(tracker_t *instance)242 instance->next_step = batch_call_in_and_dispose; 243 batch_schedule(instance); 244 } 245 /*----------------------------------------------------------------------------*/ 246 void batch_interrupt_out(batch_t *instance) 247 247 { 248 248 assert(instance); … … 264 264 } 265 265 266 instance->next_step = tracker_call_out_and_dispose;267 tracker_schedule(instance);268 } 269 /*----------------------------------------------------------------------------*/ 270 void tracker_call_in(tracker_t *instance)266 instance->next_step = batch_call_out_and_dispose; 267 batch_schedule(instance); 268 } 269 /*----------------------------------------------------------------------------*/ 270 void batch_call_in(batch_t *instance) 271 271 { 272 272 assert(instance); … … 284 284 } 285 285 /*----------------------------------------------------------------------------*/ 286 void tracker_call_out(tracker_t *instance)286 void batch_call_out(batch_t *instance) 287 287 { 288 288 assert(instance); … … 295 295 } 296 296 /*----------------------------------------------------------------------------*/ 297 void tracker_call_in_and_dispose(tracker_t *instance)298 { 299 assert(instance); 300 tracker_call_in(instance);301 usb_log_debug("Disposing tracker: %p.\n", instance);297 void batch_call_in_and_dispose(batch_t *instance) 298 { 299 assert(instance); 300 batch_call_in(instance); 301 usb_log_debug("Disposing batch: %p.\n", instance); 302 302 free32(instance->tds); 303 303 free32(instance->qh); … … 307 307 } 308 308 /*----------------------------------------------------------------------------*/ 309 void tracker_call_out_and_dispose(tracker_t *instance)310 { 311 assert(instance); 312 tracker_call_out(instance);313 usb_log_debug("Disposing tracker: %p.\n", instance);309 void batch_call_out_and_dispose(batch_t *instance) 310 { 311 assert(instance); 312 batch_call_out(instance); 313 usb_log_debug("Disposing batch: %p.\n", instance); 314 314 free32(instance->tds); 315 315 free32(instance->qh); … … 319 319 } 320 320 /*----------------------------------------------------------------------------*/ 321 int tracker_schedule(tracker_t *instance)321 int batch_schedule(batch_t *instance) 322 322 { 323 323 assert(instance); … … 328 328 /*----------------------------------------------------------------------------*/ 329 329 /* DEPRECATED FUNCTIONS NEEDED BY THE OLD API */ 330 void tracker_control_setup_old(tracker_t *instance)330 void batch_control_setup_old(batch_t *instance) 331 331 { 332 332 assert(instance); … … 338 338 USB_PID_SETUP, instance->setup_buffer, NULL); 339 339 340 instance->next_step = tracker_call_out_and_dispose;341 tracker_schedule(instance);342 } 343 /*----------------------------------------------------------------------------*/ 344 void tracker_control_write_data_old(tracker_t *instance)340 instance->next_step = batch_call_out_and_dispose; 341 batch_schedule(instance); 342 } 343 /*----------------------------------------------------------------------------*/ 344 void batch_control_write_data_old(batch_t *instance) 345 345 { 346 346 assert(instance); 347 347 instance->packets -= 2; 348 tracker_interrupt_out(instance);349 } 350 /*----------------------------------------------------------------------------*/ 351 void tracker_control_read_data_old(tracker_t *instance)348 batch_interrupt_out(instance); 349 } 350 /*----------------------------------------------------------------------------*/ 351 void batch_control_read_data_old(batch_t *instance) 352 352 { 353 353 assert(instance); 354 354 instance->packets -= 2; 355 tracker_interrupt_in(instance);356 } 357 /*----------------------------------------------------------------------------*/ 358 void tracker_control_write_status_old(tracker_t *instance)355 batch_interrupt_in(instance); 356 } 357 /*----------------------------------------------------------------------------*/ 358 void batch_control_write_status_old(batch_t *instance) 359 359 { 360 360 assert(instance); … … 362 362 transfer_descriptor_init(instance->tds, DEFAULT_ERROR_COUNT, 363 363 0, 1, false, instance->target, USB_PID_IN, NULL, NULL); 364 instance->next_step = tracker_call_in_and_dispose;365 tracker_schedule(instance);366 } 367 /*----------------------------------------------------------------------------*/ 368 void tracker_control_read_status_old(tracker_t *instance)364 instance->next_step = batch_call_in_and_dispose; 365 batch_schedule(instance); 366 } 367 /*----------------------------------------------------------------------------*/ 368 void batch_control_read_status_old(batch_t *instance) 369 369 { 370 370 assert(instance); … … 372 372 transfer_descriptor_init(instance->tds, DEFAULT_ERROR_COUNT, 373 373 0, 1, false, instance->target, USB_PID_OUT, NULL, NULL); 374 instance->next_step = tracker_call_out_and_dispose;375 tracker_schedule(instance);374 instance->next_step = batch_call_out_and_dispose; 375 batch_schedule(instance); 376 376 } 377 377 /**
Note:
See TracChangeset
for help on using the changeset viewer.