Lines Matching refs:control_transfer
381 static UINT _req_DFU_LOCK(UX_TRANSFER *control_transfer) in _req_DFU_LOCK() argument
390 UX_ENDPOINT *endpoint = control_transfer -> ux_transfer_request_endpoint; in _req_DFU_LOCK()
405 control_transfer -> ux_transfer_request_flags |= UX_TRANSFER_FLAG_AUTO_DEVICE_UNLOCK; in _req_DFU_LOCK()
406 control_transfer -> ux_transfer_request_timeout_value = UX_WAIT_FOREVER; in _req_DFU_LOCK()
412 …status = _ux_utility_semaphore_get(&control_transfer->ux_transfer_request_endpoint->ux_endpoint_de… in _req_DFU_LOCK()
420 static UINT _req_DFU_GETSTATE(UX_TRANSFER *control_transfer) in _req_DFU_GETSTATE() argument
422 _req_DFU_LOCK(control_transfer); in _req_DFU_GETSTATE()
423 control_transfer->ux_transfer_request_type = 0xA1; in _req_DFU_GETSTATE()
424 control_transfer->ux_transfer_request_function = UX_SLAVE_CLASS_DFU_COMMAND_GET_STATE; in _req_DFU_GETSTATE()
425 control_transfer->ux_transfer_request_index = 0; in _req_DFU_GETSTATE()
426 control_transfer->ux_transfer_request_requested_length = 1; in _req_DFU_GETSTATE()
427 control_transfer->ux_transfer_request_data_pointer = dfu_host_buffer; in _req_DFU_GETSTATE()
428 control_transfer->ux_transfer_request_value = 0; in _req_DFU_GETSTATE()
429 return ux_host_stack_transfer_request(control_transfer); in _req_DFU_GETSTATE()
431 static UINT _req_DFU_GETSTATUS(UX_TRANSFER *control_transfer) in _req_DFU_GETSTATUS() argument
433 _req_DFU_LOCK(control_transfer); in _req_DFU_GETSTATUS()
434 control_transfer->ux_transfer_request_type = 0xA1; in _req_DFU_GETSTATUS()
435 control_transfer->ux_transfer_request_function = UX_SLAVE_CLASS_DFU_COMMAND_GET_STATUS; in _req_DFU_GETSTATUS()
436 control_transfer->ux_transfer_request_index = 0; in _req_DFU_GETSTATUS()
437 control_transfer->ux_transfer_request_requested_length = 6; in _req_DFU_GETSTATUS()
438 control_transfer->ux_transfer_request_data_pointer = dfu_host_buffer; in _req_DFU_GETSTATUS()
439 control_transfer->ux_transfer_request_value = 0; in _req_DFU_GETSTATUS()
440 return ux_host_stack_transfer_request(control_transfer); in _req_DFU_GETSTATUS()
442 static UINT _req_DFU_DETACH(UX_TRANSFER *control_transfer) in _req_DFU_DETACH() argument
444 _req_DFU_LOCK(control_transfer); in _req_DFU_DETACH()
445 control_transfer->ux_transfer_request_type = 0x21; in _req_DFU_DETACH()
446 control_transfer->ux_transfer_request_function = UX_SLAVE_CLASS_DFU_COMMAND_DETACH; in _req_DFU_DETACH()
447 control_transfer->ux_transfer_request_index = 0; in _req_DFU_DETACH()
448 control_transfer->ux_transfer_request_value = 1000; in _req_DFU_DETACH()
449 control_transfer->ux_transfer_request_requested_length = 0; in _req_DFU_DETACH()
450 return ux_host_stack_transfer_request(control_transfer); in _req_DFU_DETACH()
452 static UINT _req_DFU_DNLOAD_IN(UX_TRANSFER *control_transfer, ULONG block, ULONG len) in _req_DFU_DNLOAD_IN() argument
454 _req_DFU_LOCK(control_transfer); in _req_DFU_DNLOAD_IN()
455 control_transfer->ux_transfer_request_type = 0xA1; in _req_DFU_DNLOAD_IN()
456 control_transfer->ux_transfer_request_function = UX_SLAVE_CLASS_DFU_COMMAND_DOWNLOAD; in _req_DFU_DNLOAD_IN()
457 control_transfer->ux_transfer_request_index = 0; in _req_DFU_DNLOAD_IN()
458 control_transfer->ux_transfer_request_data_pointer = dfu_host_buffer; in _req_DFU_DNLOAD_IN()
459 control_transfer->ux_transfer_request_requested_length = len; in _req_DFU_DNLOAD_IN()
460 control_transfer->ux_transfer_request_value = block; in _req_DFU_DNLOAD_IN()
461 return ux_host_stack_transfer_request(control_transfer); in _req_DFU_DNLOAD_IN()
463 static UINT _req_DFU_DNLOAD(UX_TRANSFER *control_transfer, ULONG block, ULONG len) in _req_DFU_DNLOAD() argument
465 _req_DFU_LOCK(control_transfer); in _req_DFU_DNLOAD()
466 control_transfer->ux_transfer_request_type = 0x21; in _req_DFU_DNLOAD()
467 control_transfer->ux_transfer_request_function = UX_SLAVE_CLASS_DFU_COMMAND_DOWNLOAD; in _req_DFU_DNLOAD()
468 control_transfer->ux_transfer_request_index = 0; in _req_DFU_DNLOAD()
469 control_transfer->ux_transfer_request_data_pointer = dfu_host_buffer; in _req_DFU_DNLOAD()
470 control_transfer->ux_transfer_request_requested_length = len; in _req_DFU_DNLOAD()
471 control_transfer->ux_transfer_request_value = block; in _req_DFU_DNLOAD()
472 return ux_host_stack_transfer_request(control_transfer); in _req_DFU_DNLOAD()
474 static UINT _req_DFU_UPLOAD(UX_TRANSFER *control_transfer, ULONG block, ULONG len) in _req_DFU_UPLOAD() argument
476 _req_DFU_LOCK(control_transfer); in _req_DFU_UPLOAD()
477 control_transfer->ux_transfer_request_type = 0xA1; in _req_DFU_UPLOAD()
478 control_transfer->ux_transfer_request_function = UX_SLAVE_CLASS_DFU_COMMAND_UPLOAD; in _req_DFU_UPLOAD()
479 control_transfer->ux_transfer_request_index = 0; in _req_DFU_UPLOAD()
480 control_transfer->ux_transfer_request_data_pointer = dfu_host_buffer; in _req_DFU_UPLOAD()
481 control_transfer->ux_transfer_request_requested_length = len; in _req_DFU_UPLOAD()
482 control_transfer->ux_transfer_request_value = block; in _req_DFU_UPLOAD()
483 return ux_host_stack_transfer_request(control_transfer); in _req_DFU_UPLOAD()
485 static UINT _req_DFU_CLRSTATUS(UX_TRANSFER *control_transfer) in _req_DFU_CLRSTATUS() argument
487 _req_DFU_LOCK(control_transfer); in _req_DFU_CLRSTATUS()
488 control_transfer->ux_transfer_request_type = 0x21; in _req_DFU_CLRSTATUS()
489 … control_transfer->ux_transfer_request_function = UX_SLAVE_CLASS_DFU_COMMAND_CLEAR_STATUS; in _req_DFU_CLRSTATUS()
490 control_transfer->ux_transfer_request_index = 0; in _req_DFU_CLRSTATUS()
491 control_transfer->ux_transfer_request_data_pointer = UX_NULL; in _req_DFU_CLRSTATUS()
492 control_transfer->ux_transfer_request_requested_length = 0; in _req_DFU_CLRSTATUS()
493 control_transfer->ux_transfer_request_value = 0; in _req_DFU_CLRSTATUS()
494 return ux_host_stack_transfer_request(control_transfer); in _req_DFU_CLRSTATUS()
501 UX_TRANSFER *control_transfer; in tx_test_thread_host_simulation_entry() local
523 control_transfer = &control_endpoint->ux_endpoint_transfer_request; in tx_test_thread_host_simulation_entry()
526 status = _req_DFU_GETSTATE(control_transfer); in tx_test_thread_host_simulation_entry()
538 status = _req_DFU_DETACH(control_transfer); in tx_test_thread_host_simulation_entry()
551 status = _req_DFU_GETSTATE(control_transfer); in tx_test_thread_host_simulation_entry()
560 status = _req_DFU_DNLOAD(control_transfer, 0, 0); in tx_test_thread_host_simulation_entry()
574 status = _req_DFU_UPLOAD(control_transfer, 0, UX_SLAVE_REQUEST_CONTROL_MAX_LENGTH + 1); in tx_test_thread_host_simulation_entry()
580 status = _req_DFU_CLRSTATUS(control_transfer); in tx_test_thread_host_simulation_entry()
597 status = _req_DFU_UPLOAD(control_transfer, block, trans_len); in tx_test_thread_host_simulation_entry()
615 status = _req_DFU_UPLOAD(control_transfer, block, trans_len); in tx_test_thread_host_simulation_entry()
622 status = _req_DFU_GETSTATE(control_transfer); in tx_test_thread_host_simulation_entry()
632 status = _req_DFU_DNLOAD_IN(control_transfer, 0, 16); in tx_test_thread_host_simulation_entry()
635 status = _req_DFU_GETSTATUS(control_transfer); in tx_test_thread_host_simulation_entry()
638 status = _req_DFU_CLRSTATUS(control_transfer); in tx_test_thread_host_simulation_entry()
651 status = _req_DFU_DNLOAD(control_transfer, block, trans_len); in tx_test_thread_host_simulation_entry()
665 status = _req_DFU_GETSTATUS(control_transfer); in tx_test_thread_host_simulation_entry()
675 status = _req_DFU_DNLOAD(control_transfer, block, 0); in tx_test_thread_host_simulation_entry()
682 status = _req_DFU_GETSTATE(control_transfer); in tx_test_thread_host_simulation_entry()
692 status = _req_DFU_GETSTATUS(control_transfer); in tx_test_thread_host_simulation_entry()
708 status = _req_DFU_GETSTATE(control_transfer); in tx_test_thread_host_simulation_entry()