Lines Matching full:usb4

3  * USB4 specific functionality
119 * If the connection manager implementation provides USB4 router in __usb4_switch_op()
166 struct usb4_port *usb4; in usb4_switch_check_wakes() local
183 * Check for any downstream ports for USB4 wake, in usb4_switch_check_wakes()
194 tb_port_dbg(port, "USB4 wake: %s, connection wake: %s, disconnection wake: %s\n", in usb4_switch_check_wakes()
202 usb4 = port->usb4; in usb4_switch_check_wakes()
203 if (device_may_wakeup(&usb4->dev) && wakeup_usb4) in usb4_switch_check_wakes()
204 pm_wakeup_event(&usb4->dev, 0); in usb4_switch_check_wakes()
228 * usb4_switch_setup() - Additional setup for USB4 device
229 * @sw: USB4 router to setup
231 * USB4 routers need additional settings in order to enable all the
260 tb_sw_dbg(sw, "link: %s\n", sw->link_usb4 ? "USB4" : "TBT"); in usb4_switch_setup()
302 * @sw: USB4 router
334 * usb4_switch_read_uid() - Read UID from USB4 router
335 * @sw: USB4 router
338 * Reads 64-bit UID from USB4 router config space.
369 * usb4_switch_drom_read() - Read arbitrary bytes from USB4 router DROM
370 * @sw: USB4 router
375 * Uses USB4 router operations to read router DROM. For devices this
390 * @sw: USB4 router
413 * @sw: USB4 router
429 * Enable wakes coming from all USB4 downstream ports (from in usb4_switch_set_wake()
431 * upstream USB4 port. in usb4_switch_set_wake()
452 bool wakeup = runtime || device_may_wakeup(&port->usb4->dev); in usb4_switch_set_wake()
495 * @sw: USB4 router
524 * @sw: USB4 router
571 * @sw: USB4 router
592 * @sw: USB4 router
635 * @sw: USB4 router
640 * Writes @buf to the router NVM using USB4 router operations.
662 * @sw: USB4 router
697 * @sw: USB4 router
745 * @sw: USB4 router
834 /* Must have DP buffer allocation (multiple USB4 ports) */ in usb4_switch_credits_init()
836 tb_sw_warn(sw, "multiple USB4 ports require baMinDPaux/baMinDPmain\n"); in usb4_switch_credits_init()
886 * @sw: USB4 router
917 * @sw: USB4 router
920 * Allocates DP IN resource for DP tunneling using USB4 router
946 * @sw: USB4 router
970 * usb4_port_index() - Finds matching USB4 port index
971 * @sw: USB4 router
972 * @port: USB4 protocol or lane adapter
974 * Finds matching USB4 port index (starting from %0) that given @port goes
999 * usb4_switch_map_pcie_down() - Map USB4 port to a PCIe downstream adapter
1000 * @sw: USB4 router
1001 * @port: USB4 port
1003 * USB4 routers have direct mapping between USB4 ports and PCIe
1032 * usb4_switch_map_usb3_down() - Map USB4 port to a USB3 downstream adapter
1033 * @sw: USB4 router
1034 * @port: USB4 port
1036 * USB4 routers have direct mapping between USB4 ports and USB 3.x
1065 * usb4_switch_add_ports() - Add USB4 ports for this router
1066 * @sw: USB4 router
1068 * For USB4 router finds all USB4 ports and registers devices for each.
1081 struct usb4_port *usb4; in usb4_switch_add_ports() local
1088 usb4 = usb4_port_device_add(port); in usb4_switch_add_ports()
1089 if (IS_ERR(usb4)) { in usb4_switch_add_ports()
1091 return PTR_ERR(usb4); in usb4_switch_add_ports()
1094 port->usb4 = usb4; in usb4_switch_add_ports()
1101 * usb4_switch_remove_ports() - Removes USB4 ports from this router
1102 * @sw: USB4 router
1104 * Unregisters previously registered USB4 ports.
1111 if (port->usb4) { in usb4_switch_remove_ports()
1112 usb4_port_device_remove(port->usb4); in usb4_switch_remove_ports()
1113 port->usb4 = NULL; in usb4_switch_remove_ports()
1119 * usb4_port_unlock() - Unlock USB4 downstream port
1120 * @port: USB4 port to unlock
1122 * Unlocks USB4 downstream port so that the connection manager can
1142 * @port: USB4 port to operate on
1164 * @port: USB4 port to reset
1226 * usb4_port_configure() - Set USB4 port configured
1227 * @port: USB4 router
1229 * Sets the USB4 link to be configured for power management purposes.
1239 * usb4_port_unconfigure() - Set USB4 port unconfigured
1240 * @port: USB4 router
1242 * Sets the USB4 link to be unconfigured for power management purposes.
1275 * @port: USB4 port connected to another host
1278 * Marks the USB4 port as being connected to another host and updates
1291 * @port: USB4 port that was connected to another host
1293 * Clears USB4 port from being marked as XDomain.
1343 * @port: USB4 port to read
1396 * @port: USB4 port to write
1515 * usb4_port_router_offline() - Put the USB4 port to offline mode
1516 * @port: USB4 port
1518 * This function puts the USB4 port into offline mode. In this mode the
1520 * called before retimer access is done when the USB4 links is not up.
1530 * usb4_port_router_online() - Put the USB4 port back online
1531 * @port: USB4 port
1533 * Makes the USB4 port functional again.
1544 * @port: USB4 port
1546 * This forces the USB4 port to send broadcast RT transaction which
1584 * @port: USB4 port
1605 * @port: USB4 port
1608 * Sets USB4 port link width to @width. Can be called for widths where
1650 * @port: USB4 port
1680 * Wait for PORT_CS_19_START_ASYM to be 0. This means the USB4 in usb4_port_asym_start()
1695 * usb4_port_margining_caps() - Read USB4 port margining capabilities
1696 * @port: USB4 port
1702 * Reads the USB4 port lane margining capabilities into @caps.
1722 * @port: USB4 port
1725 * @params: Parameters for USB4 hardware margining
1729 * Runs hardware lane margining on USB4 port and returns the result in
1770 * @port: USB4 port
1773 * @params: Parameters for USB4 software margining
1776 * Runs software lane margining on USB4 port. Read back the error
1820 * @port: USB4 port
1853 * @port: USB4 port
1856 * Enables sideband channel transactions on SBTX. Can be used when USB4
1872 * Per the USB4 retimer spec, the retimer is not required to in usb4_port_retimer_set_inbound_sbtx()
1882 * @port: USB4 port
1898 * @port: USB4 port
1925 * @port: USB4 port
1951 * @port: USB4 port
1980 * @port: USB4 port
2033 * @port: USB4 port
2063 * @port: USB4 port
2090 * @port: USB4 port
2161 * @port: USB4 port
2547 * Return: %true if the adapter supports USB4 bandwidth allocation mode,