usb_queue: Kill usb_transfer_schedule_wait
This commit is contained in:
@ -128,20 +128,7 @@ static usb_transfer_t* endpoint_pop_transfer(
|
|||||||
return transfer;
|
return transfer;
|
||||||
}
|
}
|
||||||
|
|
||||||
void usb_transfer_schedule_wait(
|
void usb_transfer_schedule(
|
||||||
const usb_endpoint_t* const endpoint,
|
|
||||||
void* const data,
|
|
||||||
const uint32_t maximum_length,
|
|
||||||
const transfer_completion_cb completion_cb
|
|
||||||
) {
|
|
||||||
usb_transfer_t* const transfer = allocate_transfer();
|
|
||||||
fill_in_transfer(transfer, data, maximum_length);
|
|
||||||
transfer->completion_cb = completion_cb;
|
|
||||||
endpoint_add_transfer(endpoint, transfer);
|
|
||||||
usb_endpoint_schedule_wait(endpoint, &transfer->td);
|
|
||||||
}
|
|
||||||
|
|
||||||
void usb_transfer_schedule_append(
|
|
||||||
const usb_endpoint_t* const endpoint,
|
const usb_endpoint_t* const endpoint,
|
||||||
void* const data,
|
void* const data,
|
||||||
const uint32_t maximum_length,
|
const uint32_t maximum_length,
|
||||||
@ -153,16 +140,20 @@ void usb_transfer_schedule_append(
|
|||||||
transfer->completion_cb = completion_cb;
|
transfer->completion_cb = completion_cb;
|
||||||
// TODO: disable_interrupts();
|
// TODO: disable_interrupts();
|
||||||
usb_transfer_t* tail = endpoint_transfers[index];
|
usb_transfer_t* tail = endpoint_transfers[index];
|
||||||
|
if (tail == NULL) {
|
||||||
|
usb_endpoint_schedule_wait(endpoint, &transfer->td);
|
||||||
|
} else {
|
||||||
for (; tail->next != NULL; tail = tail->next);
|
for (; tail->next != NULL; tail = tail->next);
|
||||||
endpoint_add_transfer(endpoint, transfer);
|
endpoint_add_transfer(endpoint, transfer);
|
||||||
usb_endpoint_schedule_append(endpoint, &tail->td, &transfer->td);
|
usb_endpoint_schedule_append(endpoint, &tail->td, &transfer->td);
|
||||||
|
}
|
||||||
//enable_interrupts();
|
//enable_interrupts();
|
||||||
}
|
}
|
||||||
|
|
||||||
void usb_transfer_schedule_ack(
|
void usb_transfer_schedule_ack(
|
||||||
const usb_endpoint_t* const endpoint
|
const usb_endpoint_t* const endpoint
|
||||||
) {
|
) {
|
||||||
usb_transfer_schedule_wait(endpoint, 0, 0, NULL);
|
usb_transfer_schedule(endpoint, 0, 0, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
void usb_queue_transfer_complete(usb_endpoint_t* const endpoint)
|
void usb_queue_transfer_complete(usb_endpoint_t* const endpoint)
|
||||||
|
@ -37,14 +37,7 @@ void usb_endpoint_schedule(
|
|||||||
const uint32_t maximum_length
|
const uint32_t maximum_length
|
||||||
);
|
);
|
||||||
|
|
||||||
void usb_transfer_schedule_wait(
|
void usb_transfer_schedule(
|
||||||
const usb_endpoint_t* const endpoint,
|
|
||||||
void* const data,
|
|
||||||
const uint32_t maximum_length,
|
|
||||||
const transfer_completion_cb completion_cb
|
|
||||||
);
|
|
||||||
|
|
||||||
void usb_transfer_schedule_append(
|
|
||||||
const usb_endpoint_t* const endpoint,
|
const usb_endpoint_t* const endpoint,
|
||||||
void* const data,
|
void* const data,
|
||||||
const uint32_t maximum_length,
|
const uint32_t maximum_length,
|
||||||
|
Reference in New Issue
Block a user