rename usbh_xfer_isr to hcd_event_xfer_complete
This commit is contained in:
parent
a31f83dbb0
commit
57233cead7
|
@ -647,7 +647,7 @@ static void qhd_xfer_complete_isr(ehci_qhd_t * p_qhd)
|
||||||
{
|
{
|
||||||
// end of request
|
// end of request
|
||||||
// call USBH callback
|
// call USBH callback
|
||||||
usbh_xfer_isr(p_qhd->device_address, edpt_addr(p_qhd->endpoint_number, p_qhd->pid_non_control == EHCI_PID_IN ? 1 : 0), XFER_RESULT_SUCCESS, p_qhd->total_xferred_bytes);
|
hcd_event_xfer_complete(p_qhd->device_address, edpt_addr(p_qhd->endpoint_number, p_qhd->pid_non_control == EHCI_PID_IN ? 1 : 0), XFER_RESULT_SUCCESS, p_qhd->total_xferred_bytes);
|
||||||
p_qhd->total_xferred_bytes = 0;
|
p_qhd->total_xferred_bytes = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -741,7 +741,7 @@ static void qhd_xfer_error_isr(ehci_qhd_t * p_qhd)
|
||||||
}
|
}
|
||||||
|
|
||||||
// call USBH callback
|
// call USBH callback
|
||||||
usbh_xfer_isr(p_qhd->device_address, edpt_addr(p_qhd->endpoint_number, p_qhd->pid_non_control == EHCI_PID_IN ? 1 : 0), error_event, p_qhd->total_xferred_bytes);
|
hcd_event_xfer_complete(p_qhd->device_address, edpt_addr(p_qhd->endpoint_number, p_qhd->pid_non_control == EHCI_PID_IN ? 1 : 0), error_event, p_qhd->total_xferred_bytes);
|
||||||
|
|
||||||
p_qhd->total_xferred_bytes = 0;
|
p_qhd->total_xferred_bytes = 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -127,6 +127,9 @@ void hcd_event_device_attach(uint8_t rhport);
|
||||||
// Helper to send device removal event
|
// Helper to send device removal event
|
||||||
void hcd_event_device_remove(uint8_t hostid);
|
void hcd_event_device_remove(uint8_t hostid);
|
||||||
|
|
||||||
|
// Helper to send USB transfer event
|
||||||
|
void hcd_event_xfer_complete(uint8_t dev_addr, uint8_t ep_addr, xfer_result_t event, uint32_t xferred_bytes);
|
||||||
|
|
||||||
//--------------------------------------------------------------------+
|
//--------------------------------------------------------------------+
|
||||||
// Endpoints API
|
// Endpoints API
|
||||||
//--------------------------------------------------------------------+
|
//--------------------------------------------------------------------+
|
||||||
|
|
|
@ -717,7 +717,7 @@ static void done_queue_isr(uint8_t hostid)
|
||||||
|
|
||||||
if ( pipe_hdl.xfer_type != TUSB_XFER_CONTROL) pipe_hdl.index = ed_get_index(p_ed);
|
if ( pipe_hdl.xfer_type != TUSB_XFER_CONTROL) pipe_hdl.index = ed_get_index(p_ed);
|
||||||
|
|
||||||
usbh_xfer_isr(pipe_hdl, p_ed->td_tail.class_code, event, xferred_bytes);
|
hcd_event_xfer_complete(pipe_hdl, p_ed->td_tail.class_code, event, xferred_bytes);
|
||||||
}
|
}
|
||||||
|
|
||||||
td_head = (ohci_td_item_t*) td_head->next_td;
|
td_head = (ohci_td_item_t*) td_head->next_td;
|
||||||
|
|
|
@ -256,7 +256,7 @@ static inline tusb_error_t usbh_pipe_control_close(uint8_t dev_addr)
|
||||||
// USBH-HCD ISR/Callback API
|
// USBH-HCD ISR/Callback API
|
||||||
//--------------------------------------------------------------------+
|
//--------------------------------------------------------------------+
|
||||||
// interrupt caused by a TD (with IOC=1) in pipe of class class_code
|
// interrupt caused by a TD (with IOC=1) in pipe of class class_code
|
||||||
void usbh_xfer_isr(uint8_t dev_addr, uint8_t ep_addr, xfer_result_t event, uint32_t xferred_bytes)
|
void hcd_event_xfer_complete(uint8_t dev_addr, uint8_t ep_addr, xfer_result_t event, uint32_t xferred_bytes)
|
||||||
{
|
{
|
||||||
usbh_device_t* dev = &_usbh_devices[ dev_addr ];
|
usbh_device_t* dev = &_usbh_devices[ dev_addr ];
|
||||||
|
|
||||||
|
|
|
@ -72,7 +72,6 @@ typedef struct {
|
||||||
|
|
||||||
//------------- device -------------//
|
//------------- device -------------//
|
||||||
volatile uint8_t state; // device state, value from enum tusbh_device_state_t
|
volatile uint8_t state; // device state, value from enum tusbh_device_state_t
|
||||||
uint32_t flag_supported_class; // a bitmap of supported class
|
|
||||||
|
|
||||||
//------------- control pipe -------------//
|
//------------- control pipe -------------//
|
||||||
struct {
|
struct {
|
||||||
|
@ -96,7 +95,7 @@ extern usbh_device_t _usbh_devices[CFG_TUSB_HOST_DEVICE_MAX+1]; // including zer
|
||||||
//--------------------------------------------------------------------+
|
//--------------------------------------------------------------------+
|
||||||
// callback from HCD ISR
|
// callback from HCD ISR
|
||||||
//--------------------------------------------------------------------+
|
//--------------------------------------------------------------------+
|
||||||
void usbh_xfer_isr(uint8_t dev_addr, uint8_t ep_addr, xfer_result_t event, uint32_t xferred_bytes);
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|
|
@ -208,7 +208,7 @@ void test_bulk_xfer_complete_isr(void)
|
||||||
ehci_qtd_t* p_head = p_qhd_bulk->p_qtd_list_head;
|
ehci_qtd_t* p_head = p_qhd_bulk->p_qtd_list_head;
|
||||||
ehci_qtd_t* p_tail = p_qhd_bulk->p_qtd_list_tail;
|
ehci_qtd_t* p_tail = p_qhd_bulk->p_qtd_list_tail;
|
||||||
|
|
||||||
usbh_xfer_isr_Expect(pipe_hdl_bulk, TUSB_CLASS_MSC, XFER_RESULT_SUCCESS, sizeof(data2)+sizeof(xfer_data));
|
hcd_event_xfer_complete_Expect(pipe_hdl_bulk, TUSB_CLASS_MSC, XFER_RESULT_SUCCESS, sizeof(data2)+sizeof(xfer_data));
|
||||||
|
|
||||||
//------------- Code Under Test -------------//
|
//------------- Code Under Test -------------//
|
||||||
ehci_controller_run(hostid);
|
ehci_controller_run(hostid);
|
||||||
|
|
|
@ -228,7 +228,7 @@ void test_control_xfer_complete_isr(void)
|
||||||
{
|
{
|
||||||
TEST_ASSERT( hcd_pipe_control_xfer(dev_addr, &request_get_dev_desc, xfer_data) );
|
TEST_ASSERT( hcd_pipe_control_xfer(dev_addr, &request_get_dev_desc, xfer_data) );
|
||||||
|
|
||||||
usbh_xfer_isr_Expect(((pipe_handle_t){.dev_addr = dev_addr}), 0, XFER_RESULT_SUCCESS, 18);
|
hcd_event_xfer_complete_Expect(((pipe_handle_t){.dev_addr = dev_addr}), 0, XFER_RESULT_SUCCESS, 18);
|
||||||
|
|
||||||
//------------- Code Under TEST -------------//
|
//------------- Code Under TEST -------------//
|
||||||
ehci_controller_run(hostid);
|
ehci_controller_run(hostid);
|
||||||
|
@ -247,7 +247,7 @@ void test_control_xfer_error_isr(void)
|
||||||
{
|
{
|
||||||
TEST_ASSERT( hcd_pipe_control_xfer(dev_addr, &request_get_dev_desc, xfer_data) );
|
TEST_ASSERT( hcd_pipe_control_xfer(dev_addr, &request_get_dev_desc, xfer_data) );
|
||||||
|
|
||||||
usbh_xfer_isr_Expect(((pipe_handle_t){.dev_addr = dev_addr}), 0, XFER_RESULT_FAILED, 0);
|
hcd_event_xfer_complete_Expect(((pipe_handle_t){.dev_addr = dev_addr}), 0, XFER_RESULT_FAILED, 0);
|
||||||
|
|
||||||
//------------- Code Under TEST -------------//
|
//------------- Code Under TEST -------------//
|
||||||
ehci_controller_run_error(hostid);
|
ehci_controller_run_error(hostid);
|
||||||
|
@ -266,7 +266,7 @@ void test_control_xfer_error_stall(void)
|
||||||
{
|
{
|
||||||
TEST_ASSERT( hcd_pipe_control_xfer(dev_addr, &request_get_dev_desc, xfer_data) );
|
TEST_ASSERT( hcd_pipe_control_xfer(dev_addr, &request_get_dev_desc, xfer_data) );
|
||||||
|
|
||||||
usbh_xfer_isr_Expect(((pipe_handle_t){.dev_addr = dev_addr}), 0, XFER_RESULT_STALLED, 0);
|
hcd_event_xfer_complete_Expect(((pipe_handle_t){.dev_addr = dev_addr}), 0, XFER_RESULT_STALLED, 0);
|
||||||
|
|
||||||
//------------- Code Under TEST -------------//
|
//------------- Code Under TEST -------------//
|
||||||
ehci_controller_run_stall(hostid);
|
ehci_controller_run_stall(hostid);
|
||||||
|
|
|
@ -201,7 +201,7 @@ void test_interrupt_xfer_complete_isr_interval_less_than_1ms(void)
|
||||||
|
|
||||||
TEST_ASSERT_STATUS( hcd_pipe_xfer(pipe_hdl_interrupt, data2, sizeof(data2), true) );
|
TEST_ASSERT_STATUS( hcd_pipe_xfer(pipe_hdl_interrupt, data2, sizeof(data2), true) );
|
||||||
|
|
||||||
usbh_xfer_isr_Expect(pipe_hdl_interrupt, TUSB_CLASS_HID, XFER_RESULT_SUCCESS, sizeof(xfer_data)+sizeof(data2));
|
hcd_event_xfer_complete_Expect(pipe_hdl_interrupt, TUSB_CLASS_HID, XFER_RESULT_SUCCESS, sizeof(xfer_data)+sizeof(data2));
|
||||||
|
|
||||||
ehci_qtd_t* p_head = p_qhd_interrupt->p_qtd_list_head;
|
ehci_qtd_t* p_head = p_qhd_interrupt->p_qtd_list_head;
|
||||||
ehci_qtd_t* p_tail = p_qhd_interrupt->p_qtd_list_tail;
|
ehci_qtd_t* p_tail = p_qhd_interrupt->p_qtd_list_tail;
|
||||||
|
@ -242,7 +242,7 @@ void test_interrupt_xfer_error_isr(void)
|
||||||
{
|
{
|
||||||
TEST_ASSERT_STATUS( hcd_pipe_xfer(pipe_hdl_interrupt, xfer_data, sizeof(xfer_data), true) );
|
TEST_ASSERT_STATUS( hcd_pipe_xfer(pipe_hdl_interrupt, xfer_data, sizeof(xfer_data), true) );
|
||||||
|
|
||||||
usbh_xfer_isr_Expect(pipe_hdl_interrupt, TUSB_CLASS_HID, XFER_RESULT_FAILED, 0);
|
hcd_event_xfer_complete_Expect(pipe_hdl_interrupt, TUSB_CLASS_HID, XFER_RESULT_FAILED, 0);
|
||||||
|
|
||||||
//------------- Code Under TEST -------------//
|
//------------- Code Under TEST -------------//
|
||||||
ehci_controller_run_error(hostid);
|
ehci_controller_run_error(hostid);
|
||||||
|
@ -254,7 +254,7 @@ void test_interrupt_xfer_error_stall(void)
|
||||||
{
|
{
|
||||||
TEST_ASSERT_STATUS( hcd_pipe_xfer(pipe_hdl_interrupt, xfer_data, sizeof(xfer_data), true) );
|
TEST_ASSERT_STATUS( hcd_pipe_xfer(pipe_hdl_interrupt, xfer_data, sizeof(xfer_data), true) );
|
||||||
|
|
||||||
usbh_xfer_isr_Expect(pipe_hdl_interrupt, TUSB_CLASS_HID, XFER_RESULT_STALLED, 0);
|
hcd_event_xfer_complete_Expect(pipe_hdl_interrupt, TUSB_CLASS_HID, XFER_RESULT_STALLED, 0);
|
||||||
|
|
||||||
//------------- Code Under TEST -------------//
|
//------------- Code Under TEST -------------//
|
||||||
ehci_controller_run_stall(hostid);
|
ehci_controller_run_stall(hostid);
|
||||||
|
|
|
@ -179,7 +179,7 @@ tusb_error_t control_xfer_stub(uint8_t dev_addr, const tusb_control_request_t *
|
||||||
return TUSB_ERROR_OSAL_TIMEOUT;
|
return TUSB_ERROR_OSAL_TIMEOUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
usbh_xfer_isr(
|
hcd_event_xfer_complete(
|
||||||
(pipe_handle_t) { .dev_addr = (num_call > 1 ? 1 : 0), .xfer_type = TUSB_XFER_CONTROL },
|
(pipe_handle_t) { .dev_addr = (num_call > 1 ? 1 : 0), .xfer_type = TUSB_XFER_CONTROL },
|
||||||
0, XFER_RESULT_SUCCESS, 0);
|
0, XFER_RESULT_SUCCESS, 0);
|
||||||
|
|
||||||
|
|
|
@ -247,7 +247,7 @@ void test_usbh_control_xfer_ok(void)
|
||||||
usbh_control_xfer(dev_addr, 1, 2, 3, 4, 0, NULL);
|
usbh_control_xfer(dev_addr, 1, 2, 3, 4, 0, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
//void test_usbh_xfer_isr_non_control_stalled(void) // do nothing for stall on control
|
//void test_hcd_event_xfer_complete_non_control_stalled(void) // do nothing for stall on control
|
||||||
//{
|
//{
|
||||||
//
|
//
|
||||||
//}
|
//}
|
||||||
|
|
Loading…
Reference in New Issue