Lines Matching refs:hc
1751 HAL_StatusTypeDef USB_HC_StartXfer(USB_OTG_GlobalTypeDef *USBx, USB_OTG_HCTypeDef *hc, uint8_t dma) in USB_HC_StartXfer() argument
1754 uint32_t ch_num = (uint32_t)hc->ch_num; in USB_HC_StartXfer()
1764 if ((hc->ep_type == EP_TYPE_CTRL) || (hc->ep_type == EP_TYPE_BULK)) in USB_HC_StartXfer()
1774 if ((hc->speed == USBH_HS_SPEED) && (hc->do_ping == 1U)) in USB_HC_StartXfer()
1776 (void)USB_DoPing(USBx, hc->ch_num); in USB_HC_StartXfer()
1781 if (hc->do_ssplit == 1U) in USB_HC_StartXfer()
1786 if (hc->ep_is_in != 0U) in USB_HC_StartXfer()
1788 hc->XferSize = (uint32_t)num_packets * hc->max_packet; in USB_HC_StartXfer()
1792 if (hc->ep_type == EP_TYPE_ISOC) in USB_HC_StartXfer()
1794 if (hc->xfer_len > ISO_SPLT_MPS) in USB_HC_StartXfer()
1797 hc->XferSize = hc->max_packet; in USB_HC_StartXfer()
1798 hc->xfer_len = hc->XferSize; in USB_HC_StartXfer()
1800 if ((hc->iso_splt_xactPos == HCSPLT_BEGIN) || (hc->iso_splt_xactPos == HCSPLT_MIDDLE)) in USB_HC_StartXfer()
1802 hc->iso_splt_xactPos = HCSPLT_MIDDLE; in USB_HC_StartXfer()
1806 hc->iso_splt_xactPos = HCSPLT_BEGIN; in USB_HC_StartXfer()
1811 hc->XferSize = hc->xfer_len; in USB_HC_StartXfer()
1813 if ((hc->iso_splt_xactPos != HCSPLT_BEGIN) && (hc->iso_splt_xactPos != HCSPLT_MIDDLE)) in USB_HC_StartXfer()
1815 hc->iso_splt_xactPos = HCSPLT_FULL; in USB_HC_StartXfer()
1819 hc->iso_splt_xactPos = HCSPLT_END; in USB_HC_StartXfer()
1825 if ((dma == 1U) && (hc->xfer_len > hc->max_packet)) in USB_HC_StartXfer()
1827 hc->XferSize = (uint32_t)num_packets * hc->max_packet; in USB_HC_StartXfer()
1831 hc->XferSize = hc->xfer_len; in USB_HC_StartXfer()
1839 if (hc->xfer_len > 0U) in USB_HC_StartXfer()
1841 num_packets = (uint16_t)((hc->xfer_len + hc->max_packet - 1U) / hc->max_packet); in USB_HC_StartXfer()
1846 hc->XferSize = (uint32_t)num_packets * hc->max_packet; in USB_HC_StartXfer()
1858 if (hc->ep_is_in != 0U) in USB_HC_StartXfer()
1860 hc->XferSize = (uint32_t)num_packets * hc->max_packet; in USB_HC_StartXfer()
1864 hc->XferSize = hc->xfer_len; in USB_HC_StartXfer()
1869 USBx_HC(ch_num)->HCTSIZ = (hc->XferSize & USB_OTG_HCTSIZ_XFRSIZ) | in USB_HC_StartXfer()
1871 (((uint32_t)hc->data_pid << 29) & USB_OTG_HCTSIZ_DPID); in USB_HC_StartXfer()
1876 USBx_HC(ch_num)->HCDMA = (uint32_t)hc->xfer_buff; in USB_HC_StartXfer()
1883 if (hc->do_ssplit == 1U) in USB_HC_StartXfer()
1886 USBx_HC((uint32_t)ch_num)->HCSPLT = ((uint32_t)hc->hub_addr << USB_OTG_HCSPLT_HUBADDR_Pos) | in USB_HC_StartXfer()
1887 (uint32_t)hc->hub_port_nbr | USB_OTG_HCSPLT_SPLITEN; in USB_HC_StartXfer()
1893 if ((hc->do_csplit == 1U) && (hc->ep_is_in == 0U)) in USB_HC_StartXfer()
1899 if (((hc->ep_type == EP_TYPE_ISOC) || (hc->ep_type == EP_TYPE_INTR)) && in USB_HC_StartXfer()
1900 (hc->do_csplit == 1U) && (hc->ep_is_in == 1U)) in USB_HC_StartXfer()
1906 if ((hc->ep_type == EP_TYPE_ISOC) && (hc->ep_is_in == 0U)) in USB_HC_StartXfer()
1909 switch (hc->iso_splt_xactPos) in USB_HC_StartXfer()
1947 if (hc->ep_is_in != 0U) in USB_HC_StartXfer()
1963 if ((hc->ep_is_in == 0U) && (hc->xfer_len > 0U) && (hc->do_csplit == 0U)) in USB_HC_StartXfer()
1965 switch (hc->ep_type) in USB_HC_StartXfer()
1971 len_words = (uint16_t)((hc->xfer_len + 3U) / 4U); in USB_HC_StartXfer()
1984 len_words = (uint16_t)((hc->xfer_len + 3U) / 4U); in USB_HC_StartXfer()
1998 (void)USB_WritePacket(USBx, hc->xfer_buff, hc->ch_num, (uint16_t)hc->xfer_len, 0); in USB_HC_StartXfer()