Lines Matching refs:port
44 static uint64_t xhci_initialize_slot(const int id, const int port, const int speed, const int max_p…
780 static int xhci_reset_port(const int id, const int port) in xhci_reset_port() argument
784 uint64_t port_status_offset = XHCI_OPS_PRS + port * 16; in xhci_reset_port()
798 kdebug("cannot power on %d", port); in xhci_reset_port()
809 if (XHCI_PORT_IS_USB3(id, port)) in xhci_reset_port()
828 if (XHCI_PORT_IS_USB3(id, port) && (val & (1U << 31)) == 0) in xhci_reset_port()
830 else if (XHCI_PORT_IS_USB2(id, port) && (val & (1 << 4)) == 0) in xhci_reset_port()
862 if (retval == 0 && XHCI_PORT_IS_USB2(id, port)) in xhci_reset_port()
864 xhci_hc[id].ports[port].flags |= XHCI_PROTOCOL_ACTIVE; in xhci_reset_port()
865 if (XHCI_PORT_HAS_PAIR(id, port)) // 如果有对应的usb3端口,则将usb3端口设置为未激活 in xhci_reset_port()
866 … xhci_hc[id].ports[xhci_hc[id].ports[port].paired_port_num].flags &= ~(XHCI_PROTOCOL_ACTIVE); in xhci_reset_port()
870 if (retval != 0 && XHCI_PORT_IS_USB3(id, port)) in xhci_reset_port()
872 xhci_hc[id].ports[port].flags &= ~XHCI_PROTOCOL_ACTIVE; in xhci_reset_port()
873 xhci_hc[id].ports[xhci_hc[id].ports[port].paired_port_num].flags |= XHCI_PROTOCOL_ACTIVE; in xhci_reset_port()
890 static uint64_t xhci_initialize_slot(const int id, const int port, const int speed, const int max_p… in xhci_initialize_slot() argument
897 __write8b(xhci_hc[id].dcbaap_vaddr + (xhci_hc[id].ports[port].slot_id * sizeof(uint64_t)), in xhci_initialize_slot()
903 slot_ctx.rh_port_num = port + 1; // 由于xhci控制器是1-base的,因此把驱动程序中存储的端口号加1,才是真实的端口号 in xhci_initialize_slot()
913 …xhci_initialize_ep(id, device_context_vaddr, port, XHCI_EP_CONTROL, max_packet, 0, USB_EP_CONTROL,… in xhci_initialize_slot()