Lines Matching refs:port1
396 int usb_clear_port_feature(struct usb_device *hdev, int port1, int feature) in usb_clear_port_feature() argument
399 USB_REQ_CLEAR_FEATURE, USB_RT_PORT, feature, port1, in usb_clear_port_feature()
406 static int set_port_feature(struct usb_device *hdev, int port1, int feature) in set_port_feature() argument
409 USB_REQ_SET_FEATURE, USB_RT_PORT, feature, port1, in set_port_feature()
433 static void set_port_led(struct usb_hub *hub, int port1, int selector) in set_port_led() argument
435 struct usb_port *port_dev = hub->ports[port1 - 1]; in set_port_led()
438 status = set_port_feature(hub->hdev, (selector << 8) | port1, in set_port_led()
541 static int get_port_status(struct usb_device *hdev, int port1, in get_port_status() argument
549 USB_REQ_GET_STATUS, USB_DIR_IN | USB_RT_PORT, 0, port1, in get_port_status()
555 static int hub_port_status(struct usb_hub *hub, int port1, in hub_port_status() argument
561 ret = get_port_status(hub->hdev, port1, &hub->status->port); in hub_port_status()
757 int port1, bool set) in usb_hub_set_port_power() argument
762 ret = set_port_feature(hdev, port1, USB_PORT_FEAT_POWER); in usb_hub_set_port_power()
764 ret = usb_clear_port_feature(hdev, port1, USB_PORT_FEAT_POWER); in usb_hub_set_port_power()
770 set_bit(port1, hub->power_bits); in usb_hub_set_port_power()
772 clear_bit(port1, hub->power_bits); in usb_hub_set_port_power()
834 int port1; in hub_power_on() local
847 for (port1 = 1; port1 <= hub->hdev->maxchild; port1++) in hub_power_on()
848 if (test_bit(port1, hub->power_bits)) in hub_power_on()
849 set_port_feature(hub->hdev, port1, USB_PORT_FEAT_POWER); in hub_power_on()
851 usb_clear_port_feature(hub->hdev, port1, in hub_power_on()
877 static int hub_set_port_link_state(struct usb_hub *hub, int port1, in hub_set_port_link_state() argument
881 port1 | (link_status << 3), in hub_set_port_link_state()
895 static int hub_usb3_port_disable(struct usb_hub *hub, int port1) in hub_usb3_port_disable() argument
904 ret = hub_port_status(hub, port1, &portstatus, &portchange); in hub_usb3_port_disable()
918 dev_dbg(&hub->ports[port1 - 1]->dev, in hub_usb3_port_disable()
923 ret = hub_set_port_link_state(hub, port1, USB_SS_PORT_LS_SS_DISABLED); in hub_usb3_port_disable()
929 ret = hub_port_status(hub, port1, &portstatus, &portchange); in hub_usb3_port_disable()
941 dev_warn(&hub->ports[port1 - 1]->dev, in hub_usb3_port_disable()
944 return hub_set_port_link_state(hub, port1, USB_SS_PORT_LS_RX_DETECT); in hub_usb3_port_disable()
947 static int hub_port_disable(struct usb_hub *hub, int port1, int set_state) in hub_port_disable() argument
949 struct usb_port *port_dev = hub->ports[port1 - 1]; in hub_port_disable()
957 ret = hub_usb3_port_disable(hub, port1); in hub_port_disable()
959 ret = usb_clear_port_feature(hdev, port1, in hub_port_disable()
972 static void hub_port_logical_disconnect(struct usb_hub *hub, int port1) in hub_port_logical_disconnect() argument
974 dev_dbg(&hub->ports[port1 - 1]->dev, "logical disconnect\n"); in hub_port_logical_disconnect()
975 hub_port_disable(hub, port1, 1); in hub_port_logical_disconnect()
986 set_bit(port1, hub->change_bits); in hub_port_logical_disconnect()
1032 int port1; in hub_activate() local
1128 for (port1 = 1; port1 <= hdev->maxchild; ++port1) { in hub_activate()
1129 struct usb_port *port_dev = hub->ports[port1 - 1]; in hub_activate()
1134 status = hub_port_status(hub, port1, &portstatus, &portchange); in hub_activate()
1158 usb_clear_port_feature(hdev, port1, in hub_activate()
1165 usb_clear_port_feature(hub->hdev, port1, in hub_activate()
1170 usb_clear_port_feature(hub->hdev, port1, in hub_activate()
1175 usb_clear_port_feature(hub->hdev, port1, in hub_activate()
1181 usb_clear_port_feature(hub->hdev, port1, in hub_activate()
1189 clear_bit(port1, hub->removed_bits); in hub_activate()
1197 set_bit(port1, hub->change_bits); in hub_activate()
1213 set_bit(port1, hub->change_bits); in hub_activate()
1222 if (test_bit(port1, hub->power_bits)) in hub_activate()
1223 set_bit(port1, hub->change_bits); in hub_activate()
1228 set_bit(port1, hub->change_bits); in hub_activate()
1675 int port1; in hub_disconnect() local
1691 port1 = hdev->maxchild; in hub_disconnect()
1696 for (; port1 > 0; --port1) in hub_disconnect()
1697 usb_hub_remove_port_device(hub, port1); in hub_disconnect()
1885 static int find_port_owner(struct usb_device *hdev, unsigned port1, in find_port_owner() argument
1892 if (port1 == 0 || port1 > hdev->maxchild) in find_port_owner()
1898 *ppowner = &(hub->ports[port1 - 1]->port_owner); in find_port_owner()
1903 int usb_hub_claim_port(struct usb_device *hdev, unsigned port1, in usb_hub_claim_port() argument
1909 rc = find_port_owner(hdev, port1, &powner); in usb_hub_claim_port()
1919 int usb_hub_release_port(struct usb_device *hdev, unsigned port1, in usb_hub_release_port() argument
1925 rc = find_port_owner(hdev, port1, &powner); in usb_hub_release_port()
2147 int port1 = 1; in usb_disconnect() local
2170 port1 = udev->portnum; in usb_disconnect()
2172 port_dev = hub->ports[port1 - 1]; in usb_disconnect()
2181 if (!test_and_set_bit(port1, hub->child_usage_bits)) in usb_disconnect()
2204 if (port_dev && test_and_clear_bit(port1, hub->child_usage_bits)) in usb_disconnect()
2262 unsigned port1 = udev->portnum; in usb_enumerate_device_otg() local
2272 (port1 == bus->otg_port) ? "" : "non-"); in usb_enumerate_device_otg()
2275 if (port1 == bus->otg_port) { in usb_enumerate_device_otg()
2508 int port1 = udev->portnum; in usb_new_device() local
2509 struct usb_port *port_dev = hub->ports[port1 - 1]; in usb_new_device()
2523 if (!test_and_set_bit(port1, hub->child_usage_bits)) in usb_new_device()
2657 static bool hub_port_warm_reset_required(struct usb_hub *hub, int port1, in hub_port_warm_reset_required() argument
2665 if (test_bit(port1, hub->warm_reset_bits)) in hub_port_warm_reset_required()
2673 static int hub_port_wait_reset(struct usb_hub *hub, int port1, in hub_port_wait_reset() argument
2687 ret = hub_port_status(hub, port1, &portstatus, &portchange); in hub_port_wait_reset()
2699 dev_dbg(&hub->ports[port1 - 1]->dev, in hub_port_wait_reset()
2707 if (hub_port_warm_reset_required(hub, port1, portstatus)) in hub_port_wait_reset()
2742 static int hub_port_reset(struct usb_hub *hub, int port1, in hub_port_reset() argument
2747 struct usb_port *port_dev = hub->ports[port1 - 1]; in hub_port_reset()
2764 if (hub_port_status(hub, port1, &portstatus, &portchange) == 0) in hub_port_reset()
2765 if (hub_port_warm_reset_required(hub, port1, in hub_port_reset()
2769 clear_bit(port1, hub->warm_reset_bits); in hub_port_reset()
2773 status = set_port_feature(hub->hdev, port1, (warm ? in hub_port_reset()
2783 status = hub_port_wait_reset(hub, port1, udev, delay, in hub_port_reset()
2793 usb_clear_port_feature(hub->hdev, port1, in hub_port_reset()
2799 usb_clear_port_feature(hub->hdev, port1, in hub_port_reset()
2801 usb_clear_port_feature(hub->hdev, port1, in hub_port_reset()
2803 usb_clear_port_feature(hub->hdev, port1, in hub_port_reset()
2810 if (hub_port_status(hub, port1, in hub_port_reset()
2814 if (!hub_port_warm_reset_required(hub, port1, in hub_port_reset()
2917 struct usb_hub *hub, int port1, in check_port_resume_type() argument
2920 struct usb_port *port_dev = hub->ports[port1 - 1]; in check_port_resume_type()
2926 && hub_port_warm_reset_required(hub, port1, portstatus)) { in check_port_resume_type()
2937 status = hub_port_status(hub, port1, &portstatus, in check_port_resume_type()
2961 usb_clear_port_feature(hub->hdev, port1, in check_port_resume_type()
2964 usb_clear_port_feature(hub->hdev, port1, in check_port_resume_type()
3126 int port1 = udev->portnum; in usb_port_suspend() local
3168 status = hub_set_port_link_state(hub, port1, USB_SS_PORT_LS_U3); in usb_port_suspend()
3182 status = set_port_feature(hub->hdev, port1, in usb_port_suspend()
3221 && test_and_clear_bit(port1, hub->child_usage_bits)) in usb_port_suspend()
3346 struct usb_hub *hub, int *port1, in wait_for_ss_port_enable() argument
3356 status = hub_port_status(hub, *port1, portstatus, portchange); in wait_for_ss_port_enable()
3399 int port1 = udev->portnum; in usb_port_resume() local
3403 if (!test_and_set_bit(port1, hub->child_usage_bits)) { in usb_port_resume()
3415 status = hub_port_status(hub, port1, &portstatus, &portchange); in usb_port_resume()
3421 status = hub_set_port_link_state(hub, port1, USB_SS_PORT_LS_U0); in usb_port_resume()
3424 port1, USB_PORT_FEAT_SUSPEND); in usb_port_resume()
3437 status = hub_port_status(hub, port1, &portstatus, &portchange); in usb_port_resume()
3448 usb_clear_port_feature(hub->hdev, port1, in usb_port_resume()
3452 usb_clear_port_feature(hub->hdev, port1, in usb_port_resume()
3458 status = wait_for_ss_port_enable(udev, hub, &port1, &portchange, in usb_port_resume()
3462 hub, port1, status, portchange, portstatus); in usb_port_resume()
3467 hub_port_logical_disconnect(hub, port1); in usb_port_resume()
3543 int port1; in check_ports_changed() local
3545 for (port1 = 1; port1 <= hub->hdev->maxchild; ++port1) { in check_ports_changed()
3549 status = hub_port_status(hub, port1, &portstatus, &portchange); in check_ports_changed()
3560 unsigned port1; in hub_suspend() local
3568 for (port1 = 1; port1 <= hdev->maxchild; port1++) { in hub_suspend()
3569 struct usb_port *port_dev = hub->ports[port1 - 1]; in hub_suspend()
3594 for (port1 = 1; port1 <= hdev->maxchild; port1++) { in hub_suspend()
3596 port1 | in hub_suspend()
4139 int hub_port_debounce(struct usb_hub *hub, int port1, bool must_be_connected) in hub_port_debounce() argument
4145 struct usb_port *port_dev = hub->ports[port1 - 1]; in hub_port_debounce()
4148 ret = hub_port_status(hub, port1, &portstatus, &portchange); in hub_port_debounce()
4165 usb_clear_port_feature(hub->hdev, port1, in hub_port_debounce()
4275 hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, in hub_port_init() argument
4291 if (port1 == hdev->bus->otg_port) in hub_port_init()
4304 retval = hub_port_reset(hub, port1, udev, delay, false); in hub_port_init()
4367 udev->ttport = port1; in hub_port_init()
4442 retval = hub_port_reset(hub, port1, udev, delay, false); in hub_port_init()
4526 hub_port_reset(hub, port1, udev, in hub_port_init()
4579 hub_port_disable(hub, port1, 0); in hub_port_init()
4587 check_highspeed(struct usb_hub *hub, struct usb_device *udev, int port1) in check_highspeed() argument
4606 hub->indicator[port1-1] = INDICATOR_GREEN_BLINK; in check_highspeed()
4619 int port1; in hub_power_remaining() local
4625 for (port1 = 1; port1 <= hdev->maxchild; ++port1) { in hub_power_remaining()
4626 struct usb_port *port_dev = hub->ports[port1 - 1]; in hub_power_remaining()
4644 else if (port1 != udev->bus->otg_port || hdev->parent) in hub_power_remaining()
4661 static void hub_port_connect(struct usb_hub *hub, int port1, u16 portstatus, in hub_port_connect() argument
4668 struct usb_port *port_dev = hub->ports[port1 - 1]; in hub_port_connect()
4684 clear_bit(port1, hub->removed_bits); in hub_port_connect()
4688 status = hub_port_debounce_be_stable(hub, port1); in hub_port_connect()
4691 port1 != unreliable_port && in hub_port_connect()
4695 unreliable_port = port1; in hub_port_connect()
4705 test_bit(port1, hub->removed_bits)) { in hub_port_connect()
4714 set_port_feature(hdev, port1, USB_PORT_FEAT_POWER); in hub_port_connect()
4731 udev = usb_alloc_dev(hdev, hdev->bus, port1); in hub_port_connect()
4757 status = hub_port_init(hub, udev, port1, i); in hub_port_connect()
4786 hub->indicator[port1-1] = in hub_port_connect()
4801 check_highspeed(hub, udev, port1); in hub_port_connect()
4849 hub_port_disable(hub, port1, 1); in hub_port_connect()
4860 !(hcd->driver->port_handed_over)(hcd, port1)) { in hub_port_connect()
4867 hub_port_disable(hub, port1, 1); in hub_port_connect()
4869 hcd->driver->relinquish_port(hcd, port1); in hub_port_connect()
4881 static void hub_port_connect_change(struct usb_hub *hub, int port1, in hub_port_connect_change() argument
4885 struct usb_port *port_dev = hub->ports[port1 - 1]; in hub_port_connect_change()
4893 set_port_led(hub, port1, HUB_LED_AUTO); in hub_port_connect_change()
4894 hub->indicator[port1-1] = INDICATOR_AUTO; in hub_port_connect_change()
4923 clear_bit(port1, hub->change_bits); in hub_port_connect_change()
4930 hub_port_connect(hub, port1, portstatus, portchange); in hub_port_connect_change()
4934 static void port_event(struct usb_hub *hub, int port1) in port_event() argument
4938 struct usb_port *port_dev = hub->ports[port1 - 1]; in port_event()
4943 connect_change = test_bit(port1, hub->change_bits); in port_event()
4944 clear_bit(port1, hub->event_bits); in port_event()
4945 clear_bit(port1, hub->wakeup_bits); in port_event()
4947 if (hub_port_status(hub, port1, &portstatus, &portchange) < 0) in port_event()
4951 usb_clear_port_feature(hdev, port1, USB_PORT_FEAT_C_CONNECTION); in port_event()
4959 usb_clear_port_feature(hdev, port1, USB_PORT_FEAT_C_ENABLE); in port_event()
4977 usb_clear_port_feature(hdev, port1, in port_event()
4981 hub_port_status(hub, port1, &status, &unused); in port_event()
4988 usb_clear_port_feature(hdev, port1, USB_PORT_FEAT_C_RESET); in port_event()
4993 usb_clear_port_feature(hdev, port1, in port_event()
4998 usb_clear_port_feature(hdev, port1, in port_event()
5003 usb_clear_port_feature(hdev, port1, in port_event()
5011 if (hub_handle_remote_wakeup(hub, port1, portstatus, portchange)) in port_event()
5018 if (hub_port_warm_reset_required(hub, port1, portstatus)) { in port_event()
5022 if (hub_port_reset(hub, port1, NULL, in port_event()
5024 hub_port_disable(hub, port1, 1); in port_event()
5036 hub_port_connect_change(hub, port1, portstatus, portchange); in port_event()
5357 int port1 = udev->portnum; in usb_reset_and_verify_device() local
5402 ret = hub_port_init(parent_hub, udev, port1, i); in usb_reset_and_verify_device()
5497 hub_port_logical_disconnect(parent_hub, port1); in usb_reset_and_verify_device()
5659 int port1) in usb_hub_find_child() argument
5663 if (port1 < 1 || port1 > hdev->maxchild) in usb_hub_find_child()
5665 return hub->ports[port1 - 1]->child; in usb_hub_find_child()
5724 int port1) in usb_get_hub_port_acpi_handle() argument
5731 return ACPI_HANDLE(&hub->ports[port1 - 1]->dev); in usb_get_hub_port_acpi_handle()