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