Lines Matching refs:hc
1825 HAL_StatusTypeDef USB_HC_StartXfer(USB_OTG_GlobalTypeDef *USBx, USB_OTG_HCTypeDef *hc, uint8_t dma) in USB_HC_StartXfer() argument
1828 uint32_t ch_num = (uint32_t)hc->ch_num; in USB_HC_StartXfer()
1841 if (((hc->ep_type == EP_TYPE_CTRL) || (hc->ep_type == EP_TYPE_BULK)) && (hc->do_ssplit == 0U)) in USB_HC_StartXfer()
1851 if ((hc->speed == USBH_HS_SPEED) && (hc->do_ping == 1U)) in USB_HC_StartXfer()
1853 (void)USB_DoPing(USBx, hc->ch_num); in USB_HC_StartXfer()
1860 if (hc->do_ssplit == 1U) in USB_HC_StartXfer()
1865 if (hc->ep_is_in != 0U) in USB_HC_StartXfer()
1867 hc->XferSize = (uint32_t)num_packets * hc->max_packet; in USB_HC_StartXfer()
1871 if (hc->ep_type == EP_TYPE_ISOC) in USB_HC_StartXfer()
1873 if (hc->xfer_len > ISO_SPLT_MPS) in USB_HC_StartXfer()
1876 hc->XferSize = hc->max_packet; in USB_HC_StartXfer()
1877 hc->xfer_len = hc->XferSize; in USB_HC_StartXfer()
1879 if ((hc->iso_splt_xactPos == HCSPLT_BEGIN) || (hc->iso_splt_xactPos == HCSPLT_MIDDLE)) in USB_HC_StartXfer()
1881 hc->iso_splt_xactPos = HCSPLT_MIDDLE; in USB_HC_StartXfer()
1885 hc->iso_splt_xactPos = HCSPLT_BEGIN; in USB_HC_StartXfer()
1890 hc->XferSize = hc->xfer_len; in USB_HC_StartXfer()
1892 if ((hc->iso_splt_xactPos != HCSPLT_BEGIN) && (hc->iso_splt_xactPos != HCSPLT_MIDDLE)) in USB_HC_StartXfer()
1894 hc->iso_splt_xactPos = HCSPLT_FULL; in USB_HC_StartXfer()
1898 hc->iso_splt_xactPos = HCSPLT_END; in USB_HC_StartXfer()
1904 if ((dma == 1U) && (hc->xfer_len > hc->max_packet)) in USB_HC_StartXfer()
1906 hc->XferSize = (uint32_t)num_packets * hc->max_packet; in USB_HC_StartXfer()
1910 hc->XferSize = hc->xfer_len; in USB_HC_StartXfer()
1918 if (hc->xfer_len > 0U) in USB_HC_StartXfer()
1920 num_packets = (uint16_t)((hc->xfer_len + hc->max_packet - 1U) / hc->max_packet); in USB_HC_StartXfer()
1925 hc->XferSize = (uint32_t)num_packets * hc->max_packet; in USB_HC_StartXfer()
1937 if (hc->ep_is_in != 0U) in USB_HC_StartXfer()
1939 hc->XferSize = (uint32_t)num_packets * hc->max_packet; in USB_HC_StartXfer()
1943 hc->XferSize = hc->xfer_len; in USB_HC_StartXfer()
1948 USBx_HC(ch_num)->HCTSIZ = (hc->XferSize & USB_OTG_HCTSIZ_XFRSIZ) | in USB_HC_StartXfer()
1950 (((uint32_t)hc->data_pid << 29) & USB_OTG_HCTSIZ_DPID); in USB_HC_StartXfer()
1955 USBx_HC(ch_num)->HCDMA = (uint32_t)hc->xfer_buff; in USB_HC_StartXfer()
1962 if (hc->do_ssplit == 1U) in USB_HC_StartXfer()
1965 USBx_HC((uint32_t)ch_num)->HCSPLT = ((uint32_t)hc->hub_addr << USB_OTG_HCSPLT_HUBADDR_Pos) | in USB_HC_StartXfer()
1966 (uint32_t)hc->hub_port_nbr | USB_OTG_HCSPLT_SPLITEN; in USB_HC_StartXfer()
1972 if ((hc->do_csplit == 1U) && (hc->ep_is_in == 0U)) in USB_HC_StartXfer()
1978 if (((hc->ep_type == EP_TYPE_ISOC) || (hc->ep_type == EP_TYPE_INTR)) && in USB_HC_StartXfer()
1979 (hc->do_csplit == 1U) && (hc->ep_is_in == 1U)) in USB_HC_StartXfer()
1985 if ((hc->ep_type == EP_TYPE_ISOC) && (hc->ep_is_in == 0U)) in USB_HC_StartXfer()
1988 switch (hc->iso_splt_xactPos) in USB_HC_StartXfer()
2026 if (hc->ep_is_in != 0U) in USB_HC_StartXfer()
2042 if ((hc->ep_is_in == 0U) && (hc->xfer_len > 0U) && (hc->do_csplit == 0U)) in USB_HC_StartXfer()
2044 switch (hc->ep_type) in USB_HC_StartXfer()
2050 len_words = (uint16_t)((hc->xfer_len + 3U) / 4U); in USB_HC_StartXfer()
2063 len_words = (uint16_t)((hc->xfer_len + 3U) / 4U); in USB_HC_StartXfer()
2077 (void)USB_WritePacket(USBx, hc->xfer_buff, hc->ch_num, (uint16_t)hc->xfer_len, 0); in USB_HC_StartXfer()