Lines Matching refs:ctrl

95     uhost->hch[uhost->ctrl.hch_out].toggle_out = 1;  in usbh_ctrl_send_data()
97 if(uhost->hch[uhost->ctrl.hch_out].toggle_out == 0) in usbh_ctrl_send_data()
115 usbh_ctrl_send_setup(uhost, (uint8_t *)(&uhost->ctrl.setup), in usbh_ctrl_setup_handler()
116 uhost->ctrl.hch_out); in usbh_ctrl_setup_handler()
117 uhost->ctrl.state = CONTROL_SETUP_WAIT; in usbh_ctrl_setup_handler()
132 urb_state = uhost->urb_state[uhost->ctrl.hch_out]; in usbh_ctrl_setup_wait_handler()
135 dir = uhost->ctrl.setup.bmRequestType & USB_REQUEST_DIR_MASK; in usbh_ctrl_setup_wait_handler()
136 if(uhost->ctrl.setup.wLength != 0) in usbh_ctrl_setup_wait_handler()
141 uhost->ctrl.state = CONTROL_DATA_IN; in usbh_ctrl_setup_wait_handler()
145 uhost->ctrl.state = CONTROL_DATA_OUT; in usbh_ctrl_setup_wait_handler()
153 uhost->ctrl.state = CONTROL_STATUS_OUT; in usbh_ctrl_setup_wait_handler()
157 uhost->ctrl.state = CONTROL_STATUS_IN; in usbh_ctrl_setup_wait_handler()
160 uhost->ctrl.timer = uhost->timer; in usbh_ctrl_setup_wait_handler()
165 uhost->ctrl.state = CONTROL_ERROR; in usbh_ctrl_setup_wait_handler()
166 uhost->ctrl.sts = CTRL_XACTERR; in usbh_ctrl_setup_wait_handler()
172 if(uhost->timer - uhost->ctrl.timer > CTRL_TIMEOUT) in usbh_ctrl_setup_wait_handler()
174 uhost->ctrl.state = CONTROL_ERROR; in usbh_ctrl_setup_wait_handler()
175 uhost->ctrl.sts = CTRL_XACTERR; in usbh_ctrl_setup_wait_handler()
190 usbh_ctrl_recv_data(uhost, uhost->ctrl.buffer, in usbh_ctrl_data_in_handler()
191 uhost->ctrl.len, in usbh_ctrl_data_in_handler()
192 uhost->ctrl.hch_in); in usbh_ctrl_data_in_handler()
193 uhost->ctrl.state = CONTROL_DATA_IN_WAIT; in usbh_ctrl_data_in_handler()
208 urb_state = uhost->urb_state[uhost->ctrl.hch_in]; in usbh_ctrl_data_in_wait_handler()
212 uhost->ctrl.state = CONTROL_STATUS_OUT; in usbh_ctrl_data_in_wait_handler()
216 uhost->ctrl.state = CONTROL_STALL; in usbh_ctrl_data_in_wait_handler()
220 uhost->ctrl.state = CONTROL_ERROR; in usbh_ctrl_data_in_wait_handler()
225 if(uhost->timer - uhost->ctrl.timer > CTRL_TIMEOUT) in usbh_ctrl_data_in_wait_handler()
227 uhost->ctrl.state = CONTROL_ERROR; in usbh_ctrl_data_in_wait_handler()
228 uhost->ctrl.sts = CTRL_XACTERR; in usbh_ctrl_data_in_wait_handler()
244 uhost->hch[uhost->ctrl.hch_out].toggle_out = 1; in usbh_ctrl_data_out_handler()
246 usbh_ctrl_send_data(uhost, uhost->ctrl.buffer, in usbh_ctrl_data_out_handler()
247 uhost->ctrl.len, in usbh_ctrl_data_out_handler()
248 uhost->ctrl.hch_out); in usbh_ctrl_data_out_handler()
249 uhost->ctrl.state = CONTROL_DATA_OUT_WAIT; in usbh_ctrl_data_out_handler()
264 urb_state = uhost->urb_state[uhost->ctrl.hch_out]; in usbh_ctrl_data_out_wait_handler()
267 uhost->ctrl.state = CONTROL_STATUS_IN; in usbh_ctrl_data_out_wait_handler()
271 uhost->ctrl.state = CONTROL_STALL; in usbh_ctrl_data_out_wait_handler()
275 uhost->ctrl.state = CONTROL_ERROR; in usbh_ctrl_data_out_wait_handler()
279 uhost->ctrl.state = CONTROL_DATA_OUT; in usbh_ctrl_data_out_wait_handler()
283 if((uhost->timer - uhost->ctrl.timer > CTRL_TIMEOUT) && (urb_state == URB_NOTREADY)) in usbh_ctrl_data_out_wait_handler()
285 uhost->ctrl.state = CONTROL_ERROR; in usbh_ctrl_data_out_wait_handler()
286 uhost->ctrl.sts = CTRL_XACTERR; in usbh_ctrl_data_out_wait_handler()
301 uhost->ctrl.hch_in); in usbh_ctrl_status_in_handler()
302 uhost->ctrl.state = CONTROL_STATUS_IN_WAIT; in usbh_ctrl_status_in_handler()
318 urb_state = uhost->urb_state[uhost->ctrl.hch_in]; in usbh_ctrl_status_in_wait_handler()
321 uhost->ctrl.state = CONTROL_COMPLETE; in usbh_ctrl_status_in_wait_handler()
325 uhost->ctrl.state = CONTROL_STALL; in usbh_ctrl_status_in_wait_handler()
330 uhost->ctrl.state = CONTROL_ERROR; in usbh_ctrl_status_in_wait_handler()
335 if(uhost->timer - uhost->ctrl.timer > CTRL_TIMEOUT) in usbh_ctrl_status_in_wait_handler()
337 uhost->ctrl.state = CONTROL_ERROR; in usbh_ctrl_status_in_wait_handler()
338 uhost->ctrl.sts = CTRL_XACTERR; in usbh_ctrl_status_in_wait_handler()
353 uhost->hch[uhost->ctrl.hch_out].toggle_out ^= 1; in usbh_ctrl_status_out_handler()
355 usbh_ctrl_send_data(uhost, 0, 0, uhost->ctrl.hch_out); in usbh_ctrl_status_out_handler()
356 uhost->ctrl.state = CONTROL_STATUS_OUT_WAIT; in usbh_ctrl_status_out_handler()
371 urb_state = uhost->urb_state[uhost->ctrl.hch_out]; in usbh_ctrl_status_out_wait_handler()
374 uhost->ctrl.state = CONTROL_COMPLETE; in usbh_ctrl_status_out_wait_handler()
378 uhost->ctrl.state = CONTROL_STALL; in usbh_ctrl_status_out_wait_handler()
382 uhost->ctrl.state = CONTROL_ERROR; in usbh_ctrl_status_out_wait_handler()
386 uhost->ctrl.state = CONTROL_STATUS_OUT; in usbh_ctrl_status_out_wait_handler()
389 if((uhost->timer - uhost->ctrl.timer > CTRL_TIMEOUT) && (urb_state == URB_NOTREADY)) in usbh_ctrl_status_out_wait_handler()
391 uhost->ctrl.state = CONTROL_ERROR; in usbh_ctrl_status_out_wait_handler()
392 uhost->ctrl.sts = CTRL_XACTERR; in usbh_ctrl_status_out_wait_handler()
406 if(++ uhost->ctrl.err_cnt <= USBH_MAX_ERROR_COUNT) in usbh_ctrl_error_handler()
408 uhost->ctrl.state = CONTROL_SETUP; in usbh_ctrl_error_handler()
412 uhost->ctrl.sts = CTRL_FAIL; in usbh_ctrl_error_handler()
414 uhost->ctrl.err_cnt = 0; in usbh_ctrl_error_handler()
449 uhost->ctrl.sts = CTRL_START; in usbh_ctrl_transfer_loop()
451 switch(uhost->ctrl.state) in usbh_ctrl_transfer_loop()
455 uhost->ctrl.timer = uhost->timer; in usbh_ctrl_transfer_loop()
523 uhost->ctrl.buffer = buffer; in usbh_ctrl_request()
524 uhost->ctrl.len = length; in usbh_ctrl_request()
525 uhost->ctrl.state = CONTROL_SETUP; in usbh_ctrl_request()
544 uhost->ctrl.setup.bmRequestType = USB_DIR_D2H | req_type; in usbh_get_descriptor()
545 uhost->ctrl.setup.bRequest = USB_STD_REQ_GET_DESCRIPTOR; in usbh_get_descriptor()
546 uhost->ctrl.setup.wValue = wvalue; in usbh_get_descriptor()
547 uhost->ctrl.setup.wLength = length; in usbh_get_descriptor()
551 uhost->ctrl.setup.wIndex = 0x0409; in usbh_get_descriptor()
555 uhost->ctrl.setup.wIndex = 0; in usbh_get_descriptor()
827 uhost->ctrl.setup.bmRequestType = USB_DIR_H2D | bm_req; in usbh_set_configuration()
828 uhost->ctrl.setup.bRequest = USB_STD_REQ_SET_CONFIGURATION; in usbh_set_configuration()
829 uhost->ctrl.setup.wValue = config; in usbh_set_configuration()
830 uhost->ctrl.setup.wLength = 0; in usbh_set_configuration()
831 uhost->ctrl.setup.wIndex = 0; in usbh_set_configuration()
848 uhost->ctrl.setup.bmRequestType = USB_DIR_H2D | bm_req; in usbh_set_address()
849 uhost->ctrl.setup.bRequest = USB_STD_REQ_SET_ADDRESS; in usbh_set_address()
850 uhost->ctrl.setup.wValue = (uint16_t)address; in usbh_set_address()
851 uhost->ctrl.setup.wLength = 0; in usbh_set_address()
852 uhost->ctrl.setup.wIndex = 0; in usbh_set_address()
870 uhost->ctrl.setup.bmRequestType = USB_DIR_H2D | bm_req; in usbh_set_interface()
871 uhost->ctrl.setup.bRequest = USB_STD_REQ_SET_INTERFACE; in usbh_set_interface()
872 uhost->ctrl.setup.wValue = (uint16_t)altsetting; in usbh_set_interface()
873 uhost->ctrl.setup.wLength = 0; in usbh_set_interface()
874 uhost->ctrl.setup.wIndex = ept_num; in usbh_set_interface()
892 uhost->ctrl.setup.bmRequestType = USB_DIR_H2D | bm_req; in usbh_set_feature()
893 uhost->ctrl.setup.bRequest = USB_STD_REQ_SET_FEATURE; in usbh_set_feature()
894 uhost->ctrl.setup.wValue = (uint16_t)feature; in usbh_set_feature()
895 uhost->ctrl.setup.wLength = 0; in usbh_set_feature()
896 uhost->ctrl.setup.wIndex = index; in usbh_set_feature()
915 uhost->ctrl.setup.bmRequestType = USB_DIR_H2D | bm_req; in usbh_clear_dev_feature()
916 uhost->ctrl.setup.bRequest = USB_STD_REQ_CLEAR_FEATURE; in usbh_clear_dev_feature()
917 uhost->ctrl.setup.wValue = (uint16_t)feature; in usbh_clear_dev_feature()
918 uhost->ctrl.setup.wLength = 0; in usbh_clear_dev_feature()
919 uhost->ctrl.setup.wIndex = index; in usbh_clear_dev_feature()
935 if(uhost->ctrl.state == CONTROL_IDLE ) in usbh_clear_ept_feature()
939 uhost->ctrl.setup.bmRequestType = USB_DIR_H2D | bm_req; in usbh_clear_ept_feature()
940 uhost->ctrl.setup.bRequest = USB_STD_REQ_CLEAR_FEATURE; in usbh_clear_ept_feature()
941 uhost->ctrl.setup.wValue = USB_FEATURE_EPT_HALT; in usbh_clear_ept_feature()
942 uhost->ctrl.setup.wLength = 0; in usbh_clear_ept_feature()
943 uhost->ctrl.setup.wIndex = ept_num; in usbh_clear_ept_feature()