| /linux/drivers/thunderbolt/ |
| H A D | switch.c | 41 static struct nvm_auth_status *__nvm_get_auth_status(const struct tb_switch *sw) in __nvm_get_auth_status() 46 if (uuid_equal(&st->uuid, sw->uuid)) in __nvm_get_auth_status() 53 static void nvm_get_auth_status(const struct tb_switch *sw, u32 *status) in nvm_get_auth_status() 58 st = __nvm_get_auth_status(sw); in nvm_get_auth_status() 64 static void nvm_set_auth_status(const struct tb_switch *sw, u32 status) in nvm_set_auth_status() 68 if (WARN_ON(!sw->uuid)) in nvm_set_auth_status() 72 st = __nvm_get_auth_status(sw); in nvm_set_auth_status() 79 memcpy(&st->uuid, sw->uuid, sizeof(st->uuid)); in nvm_set_auth_status() 89 static void nvm_clear_auth_status(const struct tb_switch *sw) in nvm_clear_auth_status() 94 st = __nvm_get_auth_status(sw); in nvm_clear_auth_status() 38 __nvm_get_auth_status(const struct tb_switch * sw) __nvm_get_auth_status() argument 50 nvm_get_auth_status(const struct tb_switch * sw,u32 * status) nvm_get_auth_status() argument 61 nvm_set_auth_status(const struct tb_switch * sw,u32 status) nvm_set_auth_status() argument 86 nvm_clear_auth_status(const struct tb_switch * sw) nvm_clear_auth_status() argument 99 nvm_validate_and_write(struct tb_switch * sw) nvm_validate_and_write() argument 127 nvm_authenticate_host_dma_port(struct tb_switch * sw) nvm_authenticate_host_dma_port() argument 167 nvm_authenticate_device_dma_port(struct tb_switch * sw) nvm_authenticate_device_dma_port() argument 212 nvm_readable(struct tb_switch * sw) nvm_readable() argument 228 nvm_upgradeable(struct tb_switch * sw) nvm_upgradeable() argument 235 nvm_authenticate(struct tb_switch * sw,bool auth_only) nvm_authenticate() argument 276 tb_switch_nvm_read(struct tb_switch * sw,unsigned int address,void * buf,size_t size) tb_switch_nvm_read() argument 287 struct tb_switch *sw = tb_to_switch(nvm->dev); nvm_read() local 310 struct tb_switch *sw = tb_to_switch(nvm->dev); nvm_write() local 328 tb_switch_nvm_init(struct tb_switch * sw) tb_switch_nvm_init() argument 358 tb_switch_nvm_add(struct tb_switch * sw) tb_switch_nvm_add() argument 394 tb_switch_nvm_remove(struct tb_switch * sw) tb_switch_nvm_remove() argument 855 tb_switch_is_reachable(const struct tb_switch * parent,const struct tb_switch * sw) tb_switch_is_reachable() argument 1563 tb_switch_generation_name(const struct tb_switch * sw) tb_switch_generation_name() argument 1579 tb_dump_switch(const struct tb * tb,const struct tb_switch * sw) tb_dump_switch() argument 1597 tb_switch_reset_host(struct tb_switch * sw) tb_switch_reset_host() argument 1662 tb_switch_reset_device(struct tb_switch * sw) tb_switch_reset_device() argument 1667 tb_switch_enumerated(struct tb_switch * sw) tb_switch_enumerated() argument 1698 tb_switch_reset(struct tb_switch * sw) tb_switch_reset() argument 1739 tb_switch_wait_for_bit(struct tb_switch * sw,u32 offset,u32 bit,u32 value,int timeout_msec) tb_switch_wait_for_bit() argument 1766 tb_plug_events_active(struct tb_switch * sw,bool active) tb_plug_events_active() argument 1805 struct tb_switch *sw = tb_to_switch(dev); authorized_show() local 1813 struct tb_switch *sw; disapprove_switch() local 1835 tb_switch_set_authorized(struct tb_switch * sw,unsigned int val) tb_switch_set_authorized() argument 1893 struct tb_switch *sw = tb_to_switch(dev); authorized_store() local 1915 struct tb_switch *sw = tb_to_switch(dev); boot_show() local 1924 struct tb_switch *sw = tb_to_switch(dev); device_show() local 1933 struct tb_switch *sw = tb_to_switch(dev); device_name_show() local 1942 struct tb_switch *sw = tb_to_switch(dev); generation_show() local 1951 struct tb_switch *sw = tb_to_switch(dev); key_show() local 1969 struct tb_switch *sw = tb_to_switch(dev); key_store() local 2003 struct tb_switch *sw = tb_to_switch(dev); speed_show() local 2018 struct tb_switch *sw = tb_to_switch(dev); rx_lanes_show() local 2044 struct tb_switch *sw = tb_to_switch(dev); tx_lanes_show() local 2070 struct tb_switch *sw = tb_to_switch(dev); nvm_authenticate_show() local 2080 struct tb_switch *sw = tb_to_switch(dev); nvm_authenticate_sysfs() local 2172 struct tb_switch *sw = tb_to_switch(dev); nvm_version_show() local 2194 struct tb_switch *sw = tb_to_switch(dev); vendor_show() local 2203 struct tb_switch *sw = tb_to_switch(dev); vendor_name_show() local 2212 struct tb_switch *sw = tb_to_switch(dev); unique_id_show() local 2242 struct tb_switch *sw = tb_to_switch(dev); switch_attr_is_visible() local 2306 struct tb_switch *sw = tb_to_switch(dev); tb_switch_release() local 2327 const struct tb_switch *sw = tb_to_switch(dev); tb_switch_uevent() local 2365 struct tb_switch *sw = tb_to_switch(dev); tb_switch_runtime_suspend() local 2376 struct tb_switch *sw = tb_to_switch(dev); tb_switch_runtime_resume() local 2396 tb_switch_get_generation(struct tb_switch * sw) tb_switch_get_generation() argument 2441 tb_switch_exceeds_max_depth(const struct tb_switch * sw,int depth) tb_switch_exceeds_max_depth() argument 2470 struct tb_switch *sw; tb_switch_alloc() local 2588 struct tb_switch *sw; tb_switch_alloc_safe_mode() local 2621 tb_switch_configure(struct tb_switch * sw) tb_switch_configure() argument 2685 tb_switch_configuration_valid(struct tb_switch * sw) tb_switch_configuration_valid() argument 2692 tb_switch_set_uuid(struct tb_switch * sw) tb_switch_set_uuid() argument 2738 tb_switch_add_dma_port(struct tb_switch * sw) tb_switch_add_dma_port() argument 2837 tb_switch_default_link_ports(struct tb_switch * sw) tb_switch_default_link_ports() argument 2867 tb_switch_lane_bonding_possible(struct tb_switch * sw) tb_switch_lane_bonding_possible() argument 2879 tb_switch_update_link_attributes(struct tb_switch * sw) tb_switch_update_link_attributes() argument 2912 tb_switch_link_init(struct tb_switch * sw) tb_switch_link_init() argument 2966 tb_switch_lane_bonding_enable(struct tb_switch * sw) tb_switch_lane_bonding_enable() argument 3018 tb_switch_lane_bonding_disable(struct tb_switch * sw) tb_switch_lane_bonding_disable() argument 3050 tb_switch_asym_enable(struct tb_switch * sw,enum tb_link_width width) tb_switch_asym_enable() argument 3093 tb_switch_asym_disable(struct tb_switch * sw) tb_switch_asym_disable() argument 3143 tb_switch_set_link_width(struct tb_switch * sw,enum tb_link_width width) tb_switch_set_link_width() argument 3214 tb_switch_configure_link(struct tb_switch * sw) tb_switch_configure_link() argument 3243 tb_switch_unconfigure_link(struct tb_switch * sw) tb_switch_unconfigure_link() argument 3272 tb_switch_credits_init(struct tb_switch * sw) tb_switch_credits_init() argument 3282 tb_switch_port_hotplug_enable(struct tb_switch * sw) tb_switch_port_hotplug_enable() argument 3314 tb_switch_add(struct tb_switch * sw) tb_switch_add() argument 3446 tb_switch_remove(struct tb_switch * sw) tb_switch_remove() argument 3487 tb_sw_set_unplugged(struct tb_switch * sw) tb_sw_set_unplugged() argument 3508 tb_switch_set_wake(struct tb_switch * sw,unsigned int flags,bool runtime) tb_switch_set_wake() argument 3520 tb_switch_check_wakes(struct tb_switch * sw) tb_switch_check_wakes() argument 3541 tb_switch_resume(struct tb_switch * sw,bool runtime) tb_switch_resume() argument 3657 tb_switch_suspend(struct tb_switch * sw,bool runtime) tb_switch_suspend() argument 3708 tb_switch_query_dp_resource(struct tb_switch * sw,struct tb_port * in) tb_switch_query_dp_resource() argument 3725 tb_switch_alloc_dp_resource(struct tb_switch * sw,struct tb_port * in) tb_switch_alloc_dp_resource() argument 3751 tb_switch_dealloc_dp_resource(struct tb_switch * sw,struct tb_port * in) tb_switch_dealloc_dp_resource() argument 3777 struct tb_switch *sw = tb_to_switch(dev); tb_switch_match() local 3890 tb_switch_find_port(struct tb_switch * sw,enum tb_port_type type) tb_switch_find_port() argument 3907 tb_switch_pcie_bridge_write(struct tb_switch * sw,unsigned int bridge,unsigned int pcie_offset,u32 value) tb_switch_pcie_bridge_write() argument 3960 tb_switch_pcie_l1_enable(struct tb_switch * sw) tb_switch_pcie_l1_enable() argument 3996 tb_switch_xhci_connect(struct tb_switch * sw) tb_switch_xhci_connect() argument 4040 tb_switch_xhci_disconnect(struct tb_switch * sw) tb_switch_xhci_disconnect() argument [all...] |
| H A D | eeprom.c | 18 static int tb_eeprom_ctl_write(struct tb_switch *sw, struct tb_eeprom_ctl *ctl) in tb_eeprom_ctl_write() argument 20 return tb_sw_write(sw, ctl, TB_CFG_SWITCH, sw->cap_plug_events + ROUTER_CS_4, 1); in tb_eeprom_ctl_write() 26 static int tb_eeprom_ctl_read(struct tb_switch *sw, struct tb_eeprom_ctl *ctl) in tb_eeprom_ctl_read() argument 28 return tb_sw_read(sw, ctl, TB_CFG_SWITCH, sw->cap_plug_events + ROUTER_CS_4, 1); in tb_eeprom_ctl_read() 42 static int tb_eeprom_active(struct tb_switch *sw, bool enable) in tb_eeprom_active() argument 45 int res = tb_eeprom_ctl_read(sw, &ctl); in tb_eeprom_active() 50 res = tb_eeprom_ctl_write(sw, &ctl); in tb_eeprom_active() 54 return tb_eeprom_ctl_write(sw, in tb_eeprom_active() 71 tb_eeprom_transfer(struct tb_switch * sw,struct tb_eeprom_ctl * ctl,enum tb_eeprom_transfer direction) tb_eeprom_transfer() argument 96 tb_eeprom_out(struct tb_switch * sw,u8 val) tb_eeprom_out() argument 116 tb_eeprom_in(struct tb_switch * sw,u8 * val) tb_eeprom_in() argument 137 tb_eeprom_get_drom_offset(struct tb_switch * sw,u16 * offset) tb_eeprom_get_drom_offset() argument 168 tb_eeprom_read_n(struct tb_switch * sw,u16 offset,u8 * val,size_t count) tb_eeprom_read_n() argument 304 tb_drom_read_uid_only(struct tb_switch * sw,u64 * uid) tb_drom_read_uid_only() argument 326 tb_drom_parse_entry_generic(struct tb_switch * sw,struct tb_drom_entry_header * header) tb_drom_parse_entry_generic() argument 362 tb_drom_parse_entry_port(struct tb_switch * sw,struct tb_drom_entry_header * header) tb_drom_parse_entry_port() argument 416 tb_drom_parse_entries(struct tb_switch * sw,size_t header_size) tb_drom_parse_entries() argument 447 tb_switch_drom_alloc(struct tb_switch * sw,size_t size) tb_switch_drom_alloc() argument 460 tb_switch_drom_free(struct tb_switch * sw) tb_switch_drom_free() argument 473 tb_drom_copy_efi(struct tb_switch * sw,u16 * size) tb_drom_copy_efi() argument 503 tb_drom_copy_nvm(struct tb_switch * sw,u16 * size) tb_drom_copy_nvm() argument 543 usb4_copy_drom(struct tb_switch * sw,u16 * size) usb4_copy_drom() argument 564 tb_drom_bit_bang(struct tb_switch * sw,u16 * size) tb_drom_bit_bang() argument 592 tb_drom_parse_v1(struct tb_switch * sw) tb_drom_parse_v1() argument 620 usb4_drom_parse(struct tb_switch * sw) usb4_drom_parse() argument 636 tb_drom_parse(struct tb_switch * sw,u16 size) tb_drom_parse() argument 674 tb_drom_host_read(struct tb_switch * sw) tb_drom_host_read() argument 695 tb_drom_device_read(struct tb_switch * sw) tb_drom_device_read() argument 723 tb_drom_read(struct tb_switch * sw) tb_drom_read() argument [all...] |
| H A D | tmu.c | 58 static bool tb_switch_tmu_enhanced_is_supported(const struct tb_switch *sw) in tb_switch_tmu_enhanced_is_supported() argument 60 return usb4_switch_version(sw) > 1; in tb_switch_tmu_enhanced_is_supported() 63 static int tb_switch_set_tmu_mode_params(struct tb_switch *sw, in tb_switch_set_tmu_mode_params() argument 72 ret = tb_sw_read(sw, &val, TB_CFG_SWITCH, in tb_switch_set_tmu_mode_params() 73 sw->tmu.cap + TMU_RTR_CS_0, 1); in tb_switch_set_tmu_mode_params() 80 ret = tb_sw_write(sw, &val, TB_CFG_SWITCH, in tb_switch_set_tmu_mode_params() 81 sw->tmu.cap + TMU_RTR_CS_0, 1); in tb_switch_set_tmu_mode_params() 85 ret = tb_sw_read(sw, &val, TB_CFG_SWITCH, in tb_switch_set_tmu_mode_params() 86 sw->tmu.cap + TMU_RTR_CS_15, 1); in tb_switch_set_tmu_mode_params() 99 ret = tb_sw_write(sw, &val, TB_CFG_SWITCH, in tb_switch_set_tmu_mode_params() [all …]
|
| H A D | lc.c | 20 int tb_lc_read_uuid(struct tb_switch *sw, u32 *uuid) in tb_lc_read_uuid() argument 22 if (!sw->cap_lc) in tb_lc_read_uuid() 24 return tb_sw_read(sw, uuid, TB_CFG_SWITCH, sw->cap_lc + TB_LC_FUSE, 4); in tb_lc_read_uuid() 27 static int read_lc_desc(struct tb_switch *sw, u32 *desc) in read_lc_desc() argument 29 if (!sw->cap_lc) in read_lc_desc() 31 return tb_sw_read(sw, desc, TB_CFG_SWITCH, sw->cap_lc + TB_LC_DESC, 1); in read_lc_desc() 36 struct tb_switch *sw = port->sw; in find_port_lc_cap() local 40 ret = read_lc_desc(sw, &desc); in find_port_lc_cap() 49 return sw->cap_lc + start + phys * size; in find_port_lc_cap() 64 struct tb_switch *sw = port->sw; in tb_lc_reset_port() local [all …]
|
| H A D | quirks.c | 10 static void quirk_force_power_link(struct tb_switch *sw) in quirk_force_power_link() argument 12 sw->quirks |= QUIRK_FORCE_POWER_LINK_CONTROLLER; in quirk_force_power_link() 13 tb_sw_dbg(sw, "forcing power to link controller\n"); in quirk_force_power_link() 16 static void quirk_dp_credit_allocation(struct tb_switch *sw) in quirk_dp_credit_allocation() argument 18 if (sw->credit_allocation && sw->min_dp_main_credits == 56) { in quirk_dp_credit_allocation() 19 sw->min_dp_main_credits = 18; in quirk_dp_credit_allocation() 20 tb_sw_dbg(sw, "quirked DP main: %u\n", sw->min_dp_main_credits); in quirk_dp_credit_allocation() 24 static void quirk_clx_disable(struct tb_switch *sw) in quirk_clx_disable() argument 33 quirk_usb3_maximum_bandwidth(struct tb_switch * sw) quirk_usb3_maximum_bandwidth() argument 49 quirk_block_rpm_in_redrive(struct tb_switch * sw) quirk_block_rpm_in_redrive() argument 128 tb_check_quirks(struct tb_switch * sw) tb_check_quirks() argument [all...] |
| H A D | tb.c | 112 static void tb_add_dp_resources(struct tb_switch *sw) in tb_add_dp_resources() argument 114 struct tb_cm *tcm = tb_priv(sw->tb); in tb_add_dp_resources() 117 tb_switch_for_each_port(sw, port) { in tb_add_dp_resources() 121 if (!tb_switch_query_dp_resource(sw, port)) in tb_add_dp_resources() 130 if (tb_route(sw)) in tb_add_dp_resources() 139 static void tb_remove_dp_resources(struct tb_switch *sw) in tb_remove_dp_resources() argument 141 struct tb_cm *tcm = tb_priv(sw->tb); in tb_remove_dp_resources() 145 tb_switch_for_each_port(sw, port) { in tb_remove_dp_resources() 147 tb_remove_dp_resources(port->remote->sw); in tb_remove_dp_resources() 151 if (port->sw in tb_remove_dp_resources() 185 tb_enable_clx(struct tb_switch * sw) tb_enable_clx() argument 236 tb_disable_clx(struct tb_switch * sw) tb_disable_clx() argument 257 struct tb_switch *sw; tb_increase_switch_tmu_accuracy() local 284 struct tb_switch *sw; tb_increase_tmu_accuracy() local 304 struct tb_switch *sw = tb_to_switch(dev); tb_switch_tmu_hifi_uni_required() local 320 tb_enable_tmu(struct tb_switch * sw) tb_enable_tmu() argument 377 tb_switch_discover_tunnels(struct tb_switch * sw,struct list_head * list,bool alloc_hopids) tb_switch_discover_tunnels() argument 435 struct tb_switch *sw = port->sw; tb_scan_xdomain() local 462 tb_find_unused_port(struct tb_switch * sw,enum tb_port_type type) tb_find_unused_port() argument 481 tb_find_usb3_down(struct tb_switch * sw,const struct tb_port * port) tb_find_usb3_down() argument 515 struct tb_switch *sw; tb_find_first_usb3_tunnel() local 907 tb_tunnel_usb3(struct tb * tb,struct tb_switch * sw) tb_tunnel_usb3() argument 999 tb_create_usb3_tunnels(struct tb_switch * sw) tb_create_usb3_tunnels() argument 1046 struct tb_switch *sw; tb_configure_asym() local 1153 struct tb_switch *sw; tb_configure_sym() local 1235 tb_configure_link(struct tb_port * down,struct tb_port * up,struct tb_switch * sw) tb_configure_link() argument 1275 tb_scan_switch(struct tb_switch * sw) tb_scan_switch() argument 1296 struct tb_switch *sw; tb_scan_port() local 1792 tb_free_unplugged_children(struct tb_switch * sw) tb_free_unplugged_children() argument 1816 tb_find_pcie_down(struct tb_switch * sw,const struct tb_port * port) tb_find_pcie_down() argument 2116 struct tb_switch *sw = port->sw; tb_enter_redrive() local 2141 struct tb_switch *sw = port->sw; tb_exit_redrive() local 2157 tb_switch_enter_redrive(struct tb_switch * sw) tb_switch_enter_redrive() argument 2169 tb_switch_exit_redrive(struct tb_switch * sw) tb_switch_exit_redrive() argument 2264 tb_disconnect_pci(struct tb * tb,struct tb_switch * sw) tb_disconnect_pci() argument 2285 tb_tunnel_pci(struct tb * tb,struct tb_switch * sw) tb_tunnel_pci() argument 2336 struct tb_switch *sw; tb_approve_xdomain_paths() local 2385 struct tb_switch *sw; __tb_disconnect_xdomain_paths() local 2436 struct tb_switch *sw; tb_handle_hotplug() local 2753 struct tb_switch *sw; tb_handle_dp_bandwidth_request() local 3009 struct tb_switch *sw = tb_to_switch(dev); tb_scan_finalize_switch() local 3123 tb_restore_children(struct tb_switch * sw) tb_restore_children() argument 3155 tb_free_unplugged_xdomains(struct tb_switch * sw) tb_free_unplugged_xdomains() argument [all...] |
| H A D | icm.c | 422 struct icm_fr_pkg_get_topology_response *switches, *sw; in icm_fr_get_route() local 439 sw = &switches[0]; in icm_fr_get_route() 440 index = icm_fr_get_switch_index(sw->ports[link]); in icm_fr_get_route() 446 sw = &switches[index]; in icm_fr_get_route() 450 if (!(sw->first_data & ICM_SWITCH_USED)) { in icm_fr_get_route() 455 for (j = 0; j < ARRAY_SIZE(sw->ports); j++) { in icm_fr_get_route() 456 index = icm_fr_get_switch_index(sw->ports[j]); in icm_fr_get_route() 457 if (index > sw->switch_index) { in icm_fr_get_route() 458 sw = &switches[index]; in icm_fr_get_route() 464 *route = get_route(sw in icm_fr_get_route() 498 icm_fr_approve_switch(struct tb * tb,struct tb_switch * sw) icm_fr_approve_switch() argument 525 icm_fr_add_switch_key(struct tb * tb,struct tb_switch * sw) icm_fr_add_switch_key() argument 552 icm_fr_challenge_switch_key(struct tb * tb,struct tb_switch * sw,const u8 * challenge,u8 * response) icm_fr_challenge_switch_key() argument 643 struct tb_switch *sw; alloc_switch() local 661 add_switch(struct tb_switch * parent_sw,struct tb_switch * sw) add_switch() argument 677 update_switch(struct tb_switch * sw,u64 route,u8 connection_id,u8 connection_key,u8 link,u8 depth,bool boot) update_switch() argument 703 remove_switch(struct tb_switch * sw) remove_switch() argument 709 add_xdomain(struct tb_switch * sw,u64 route,const uuid_t * local_uuid,const uuid_t * remote_uuid,u8 link,u8 depth) add_xdomain() argument 742 struct tb_switch *sw; remove_xdomain() local 756 struct tb_switch *sw, *parent_sw; icm_fr_device_connected() local 903 struct tb_switch *sw; icm_fr_device_disconnected() local 938 struct tb_switch *sw; icm_fr_xdomain_connected() local 1072 icm_tr_approve_switch(struct tb * tb,struct tb_switch * sw) icm_tr_approve_switch() argument 1099 icm_tr_add_switch_key(struct tb * tb,struct tb_switch * sw) icm_tr_add_switch_key() argument 1127 icm_tr_challenge_switch_key(struct tb * tb,struct tb_switch * sw,const u8 * challenge,u8 * response) icm_tr_challenge_switch_key() argument 1247 struct tb_switch *sw, *parent_sw; __icm_tr_device_connected() local 1346 struct tb_switch *sw; icm_tr_device_disconnected() local 1372 struct tb_switch *sw; icm_tr_xdomain_connected() local 2056 icm_unplug_children(struct tb_switch * sw) icm_unplug_children() argument 2073 struct tb_switch *sw = tb_to_switch(dev); complete_rpm() local 2080 remove_unplugged_switch(struct tb_switch * sw) remove_unplugged_switch() argument 2101 icm_free_unplugged_children(struct tb_switch * sw) icm_free_unplugged_children() argument 2169 icm_runtime_suspend_switch(struct tb_switch * sw) icm_runtime_suspend_switch() argument 2176 icm_runtime_resume_switch(struct tb_switch * sw) icm_runtime_resume_switch() argument 2308 icm_usb4_switch_op(struct tb_switch * sw,u16 opcode,u32 * metadata,u8 * status,const void * tx_data,size_t tx_data_len,void * rx_data,size_t rx_data_len) icm_usb4_switch_op() argument 2370 icm_usb4_switch_nvm_authenticate_status(struct tb_switch * sw,u32 * status) icm_usb4_switch_nvm_authenticate_status() argument [all...] |
| H A D | test.c | 43 struct tb_switch *sw = data; in tb_test_switch_put() local 45 put_device(&sw->dev); in tb_test_switch_put() 51 struct tb_switch *sw; in alloc_switch() local 55 sw = kunit_kzalloc(test, sizeof(*sw), GFP_KERNEL); in alloc_switch() 56 if (!sw) in alloc_switch() 63 sw->dev.release = tb_test_switch_release; in alloc_switch() 64 device_initialize(&sw->dev); in alloc_switch() 65 if (kunit_add_action_or_reset(test, tb_test_switch_put, sw)) in alloc_switch() 68 sw->config.upstream_port_number = upstream_port; in alloc_switch() 69 sw->config.depth = tb_route_length(route); in alloc_switch() [all …]
|
| /linux/drivers/usb/roles/ |
| H A D | class.c | 75 int usb_role_switch_set_role(struct usb_role_switch *sw, enum usb_role role) in usb_role_switch_set_role() argument 79 if (IS_ERR_OR_NULL(sw)) in usb_role_switch_set_role() 82 if (!sw->registered) in usb_role_switch_set_role() 85 mutex_lock(&sw->lock); in usb_role_switch_set_role() 87 ret = sw->set(sw, role); in usb_role_switch_set_role() 89 sw->role = role; in usb_role_switch_set_role() 90 kobject_uevent(&sw->dev.kobj, KOBJ_CHANGE); in usb_role_switch_set_role() 93 mutex_unlock(&sw->lock); in usb_role_switch_set_role() 106 enum usb_role usb_role_switch_get_role(struct usb_role_switch *sw) in usb_role_switch_get_role() argument 110 if (IS_ERR_OR_NULL(sw) || !sw->registered) in usb_role_switch_get_role() [all …]
|
| /linux/drivers/platform/surface/ |
| H A D | surface_aggregator_tabletsw.c | 29 int (*get_state)(struct ssam_tablet_sw *sw, struct ssam_tablet_sw_state *state); 30 const char *(*state_name)(struct ssam_tablet_sw *sw, 32 bool (*state_is_tablet_mode)(struct ssam_tablet_sw *sw, 55 int (*get_state)(struct ssam_tablet_sw *sw, struct ssam_tablet_sw_state *state); 56 const char *(*state_name)(struct ssam_tablet_sw *sw, 58 bool (*state_is_tablet_mode)(struct ssam_tablet_sw *sw, 72 struct ssam_tablet_sw *sw = dev_get_drvdata(dev); in state_show() local 73 const char *state = sw->ops.state_name(sw, &sw->state); in state_show() 90 struct ssam_tablet_sw *sw = container_of(work, struct ssam_tablet_sw, update_work); in ssam_tablet_sw_update_workfn() local 94 status = sw->ops.get_state(sw, &state); in ssam_tablet_sw_update_workfn() [all …]
|
| /linux/drivers/net/ethernet/marvell/prestera/ |
| H A D | prestera_router_hw.c | 54 static int prestera_nexthop_group_set(struct prestera_switch *sw, 57 prestera_nexthop_group_util_hw_state(struct prestera_switch *sw, 67 int prestera_router_hw_init(struct prestera_switch *sw) in prestera_router_hw_init() argument 71 err = rhashtable_init(&sw->router->nh_neigh_ht, in prestera_router_hw_init() 76 err = rhashtable_init(&sw->router->nexthop_group_ht, in prestera_router_hw_init() 81 err = rhashtable_init(&sw->router->fib_ht, in prestera_router_hw_init() 86 INIT_LIST_HEAD(&sw->router->vr_list); in prestera_router_hw_init() 87 INIT_LIST_HEAD(&sw->router->rif_entry_list); in prestera_router_hw_init() 92 rhashtable_destroy(&sw->router->nexthop_group_ht); in prestera_router_hw_init() 94 rhashtable_destroy(&sw->router->nh_neigh_ht); in prestera_router_hw_init() [all …]
|
| H A D | prestera_main.c | 93 struct prestera_port *prestera_port_find_by_hwid(struct prestera_switch *sw, in prestera_port_find_by_hwid() argument 98 read_lock(&sw->port_list_lock); in prestera_port_find_by_hwid() 99 list_for_each_entry(tmp, &sw->port_list, list) { in prestera_port_find_by_hwid() 105 read_unlock(&sw->port_list_lock); in prestera_port_find_by_hwid() 110 struct prestera_port *prestera_find_port(struct prestera_switch *sw, u32 id) in prestera_find_port() argument 114 read_lock(&sw->port_list_lock); in prestera_find_port() 115 list_for_each_entry(tmp, &sw->port_list, list) { in prestera_find_port() 121 read_unlock(&sw->port_list_lock); in prestera_find_port() 131 return port ? port->sw : NULL; in prestera_switch_get() 372 struct prestera_switch *sw = port->sw; in prestera_port_sfp_bind() local [all …]
|
| H A D | prestera_router.c | 106 static int prestera_util_nhc2nc_key(struct prestera_switch *sw, in prestera_util_nhc2nc_key() argument 133 prestera_util_nhc_eq_n_cache_key(struct prestera_switch *sw, in prestera_util_nhc_eq_n_cache_key() argument 140 err = prestera_util_nhc2nc_key(sw, nhc, &tk); in prestera_util_nhc_eq_n_cache_key() 151 prestera_util_neigh2nc_key(struct prestera_switch *sw, struct neighbour *n, in prestera_util_neigh2nc_key() argument 430 prestera_neigh_iface_init(struct prestera_switch *sw, in prestera_neigh_iface_init() argument 452 prestera_kern_neigh_cache_find(struct prestera_switch *sw, in prestera_kern_neigh_cache_find() argument 458 rhashtable_lookup_fast(&sw->router->kern_neigh_cache_ht, key, in prestera_kern_neigh_cache_find() 464 __prestera_kern_neigh_cache_destruct(struct prestera_switch *sw, in __prestera_kern_neigh_cache_destruct() argument 471 __prestera_kern_neigh_cache_destroy(struct prestera_switch *sw, in __prestera_kern_neigh_cache_destroy() argument 474 rhashtable_remove_fast(&sw in __prestera_kern_neigh_cache_destroy() 482 __prestera_kern_neigh_cache_create(struct prestera_switch * sw,struct prestera_kern_neigh_cache_key * key) __prestera_kern_neigh_cache_create() argument 512 prestera_kern_neigh_cache_get(struct prestera_switch * sw,struct prestera_kern_neigh_cache_key * key) prestera_kern_neigh_cache_get() argument 525 prestera_kern_neigh_cache_put(struct prestera_switch * sw,struct prestera_kern_neigh_cache * n_cache) prestera_kern_neigh_cache_put() argument 538 prestera_kern_fib_cache_find(struct prestera_switch * sw,struct prestera_kern_fib_cache_key * key) prestera_kern_fib_cache_find() argument 550 __prestera_kern_fib_cache_destruct(struct prestera_switch * sw,struct prestera_kern_fib_cache * fib_cache) __prestera_kern_fib_cache_destruct() argument 568 prestera_kern_fib_cache_destroy(struct prestera_switch * sw,struct prestera_kern_fib_cache * fib_cache) prestera_kern_fib_cache_destroy() argument 579 __prestera_kern_fib_cache_create_nhs(struct prestera_switch * sw,struct prestera_kern_fib_cache * fc) __prestera_kern_fib_cache_create_nhs() argument 617 prestera_kern_fib_cache_create(struct prestera_switch * sw,struct prestera_kern_fib_cache_key * key,struct fib_notifier_info * info) prestera_kern_fib_cache_create() argument 656 __prestera_k_arb_fib_nh_offload_set(struct prestera_switch * sw,struct prestera_kern_fib_cache * fibc,struct prestera_kern_neigh_cache * nc,bool offloaded,bool trap) __prestera_k_arb_fib_nh_offload_set() argument 680 __prestera_k_arb_n_offload_set(struct prestera_switch * sw,struct prestera_kern_neigh_cache * nc,bool offloaded) __prestera_k_arb_n_offload_set() argument 696 __prestera_k_arb_fib_lpm_offload_set(struct prestera_switch * sw,struct prestera_kern_fib_cache * fc,bool fail,bool offload,bool trap) __prestera_k_arb_fib_lpm_offload_set() argument 724 __prestera_k_arb_n_lpm_set(struct prestera_switch * sw,struct prestera_kern_neigh_cache * n_cache,bool enabled) __prestera_k_arb_n_lpm_set() argument 774 __prestera_k_arb_nc_kern_fib_fetch(struct prestera_switch * sw,struct prestera_kern_neigh_cache * nc) __prestera_k_arb_nc_kern_fib_fetch() argument 786 __prestera_k_arb_nc_kern_n_fetch(struct prestera_switch * sw,struct prestera_kern_neigh_cache * nc) __prestera_k_arb_nc_kern_n_fetch() argument 817 __prestera_k_arb_nc_apply(struct prestera_switch * sw,struct prestera_kern_neigh_cache * nc) __prestera_k_arb_nc_apply() argument 857 __prestera_pr_k_arb_fc_lpm_info_calc(struct prestera_switch * sw,struct prestera_kern_fib_cache * fc) __prestera_pr_k_arb_fc_lpm_info_calc() argument 929 __prestera_k_arb_f_lpm_set(struct prestera_switch * sw,struct prestera_kern_fib_cache * fc,bool enabled) __prestera_k_arb_f_lpm_set() argument 956 __prestera_k_arb_fc_apply(struct prestera_switch * sw,struct prestera_kern_fib_cache * fc) __prestera_k_arb_fc_apply() argument 993 __prestera_k_arb_util_fib_overlaps(struct prestera_switch * sw,struct prestera_kern_fib_cache * fc) __prestera_k_arb_util_fib_overlaps() argument 1011 __prestera_k_arb_util_fib_overlapped(struct prestera_switch * sw,struct prestera_kern_fib_cache * fc) __prestera_k_arb_util_fib_overlapped() argument 1028 __prestera_k_arb_hw_state_upd(struct prestera_switch * sw,struct prestera_kern_neigh_cache * nc) __prestera_k_arb_hw_state_upd() argument 1076 prestera_k_arb_hw_evt(struct prestera_switch * sw) prestera_k_arb_hw_evt() argument 1101 prestera_k_arb_n_evt(struct prestera_switch * sw,struct neighbour * n) prestera_k_arb_n_evt() argument 1126 __prestera_k_arb_fib_evt2nc(struct prestera_switch * sw) __prestera_k_arb_fib_evt2nc() argument 1152 prestera_k_arb_fib_evt(struct prestera_switch * sw,bool replace,struct fib_notifier_info * info) prestera_k_arb_fib_evt() argument 1217 struct prestera_switch *sw = arg; __prestera_k_arb_abort_neigh_ht_cb() local 1235 struct prestera_switch *sw = arg; __prestera_k_arb_abort_fib_ht_cb() local 1249 prestera_k_arb_abort(struct prestera_switch * sw) prestera_k_arb_abort() argument 1315 __prestera_inetaddr_event(struct prestera_switch * sw,struct net_device * dev,unsigned long event,struct netlink_ext_ack * extack) __prestera_inetaddr_event() argument 1384 struct prestera_switch *sw; global() member 1393 struct prestera_switch *sw = fib_work->sw; __prestera_router_fib_event_work() local 1469 struct prestera_switch *sw; global() member 1477 struct prestera_switch *sw = net_work->sw; prestera_router_neigh_event_work() local 1533 prestera_neigh_work_init(struct prestera_switch * sw) prestera_neigh_work_init() argument 1541 prestera_neigh_work_fini(struct prestera_switch * sw) prestera_neigh_work_fini() argument 1546 prestera_router_init(struct prestera_switch * sw) prestera_router_init() argument 1627 prestera_router_fini(struct prestera_switch * sw) prestera_router_fini() argument [all...] |
| H A D | prestera_hw.h | 140 (struct prestera_switch *sw, struct prestera_event *evt, void *arg); 152 int prestera_hw_switch_init(struct prestera_switch *sw); 153 void prestera_hw_switch_fini(struct prestera_switch *sw); 154 int prestera_hw_switch_ageing_set(struct prestera_switch *sw, u32 ageing_ms); 155 int prestera_hw_switch_mac_set(struct prestera_switch *sw, const char *mac); 192 int prestera_hw_vlan_create(struct prestera_switch *sw, u16 vid); 193 int prestera_hw_vlan_delete(struct prestera_switch *sw, u16 vid); 205 int prestera_hw_fdb_flush_vlan(struct prestera_switch *sw, u16 vid, u32 mode); 210 int prestera_hw_bridge_create(struct prestera_switch *sw, u16 *bridge_id); 211 int prestera_hw_bridge_delete(struct prestera_switch *sw, u16 bridge_id); [all …]
|
| H A D | prestera_span.c | 21 struct prestera_switch *sw; member 37 list_add_tail(&entry->list, &port->sw->span->entries); in prestera_span_entry_create() 78 struct prestera_switch *sw = port->sw; in prestera_span_get() local 82 entry = prestera_span_entry_find_by_port(sw->span, port); in prestera_span_get() 95 prestera_hw_span_release(sw, new_span_id); in prestera_span_get() 103 static int prestera_span_put(struct prestera_switch *sw, u8 span_id) in prestera_span_put() argument 108 entry = prestera_span_entry_find_by_id(sw->span, span_id); in prestera_span_put() 115 err = prestera_hw_span_release(sw, span_id); in prestera_span_put() 127 struct prestera_switch *sw = binding->port->sw; in prestera_span_rule_add() local 141 prestera_span_put(sw, span_id); in prestera_span_rule_add() [all …]
|
| H A D | prestera_hw.c | 813 static int __prestera_cmd_ret(struct prestera_switch *sw, in __prestera_cmd_ret() argument 819 struct prestera_device *dev = sw->dev; in __prestera_cmd_ret() 836 static int prestera_cmd_ret(struct prestera_switch *sw, in prestera_cmd_ret() argument 841 return __prestera_cmd_ret(sw, type, cmd, clen, ret, rlen, 0); in prestera_cmd_ret() 844 static int prestera_cmd_ret_wait(struct prestera_switch *sw, in prestera_cmd_ret_wait() argument 850 return __prestera_cmd_ret(sw, type, cmd, clen, ret, rlen, waitms); in prestera_cmd_ret_wait() 853 static int prestera_cmd(struct prestera_switch *sw, in prestera_cmd() argument 859 return prestera_cmd_ret(sw, type, cmd, clen, &resp.ret, sizeof(resp)); in prestera_cmd() 918 __find_event_handler(const struct prestera_switch *sw, in __find_event_handler() argument 923 list_for_each_entry_rcu(eh, &sw->event_handlers, list) { in __find_event_handler() [all …]
|
| H A D | prestera_devlink.c | 127 struct prestera_switch *sw; member 356 struct prestera_switch *sw = devlink_priv(dl); in prestera_dl_info_get() local 360 sw->dev->fw_rev.maj, in prestera_dl_info_get() 361 sw->dev->fw_rev.min, in prestera_dl_info_get() 362 sw->dev->fw_rev.sub); in prestera_dl_info_get() 396 void prestera_devlink_free(struct prestera_switch *sw) in prestera_devlink_free() argument 398 struct devlink *dl = priv_to_devlink(sw); in prestera_devlink_free() 403 void prestera_devlink_register(struct prestera_switch *sw) in prestera_devlink_register() argument 405 struct devlink *dl = priv_to_devlink(sw); in prestera_devlink_register() 410 void prestera_devlink_unregister(struct prestera_switch *sw) in prestera_devlink_unregister() argument [all …]
|
| /linux/drivers/input/joystick/ |
| H A D | sidewinder.c | 96 struct sw { struct 197 #define GB(pos,num) sw_get_bits(buf, pos, num, sw->bits) 283 static int sw_parse(unsigned char *buf, struct sw *sw) in sw_parse() argument 288 switch (sw->type) { in sw_parse() 295 dev = sw->dev[0]; in sw_parse() 317 for (i = 0; i < sw->number; i ++) { in sw_parse() 322 input_report_abs(sw->dev[i], ABS_X, GB(i*15+3,1) - GB(i*15+2,1)); in sw_parse() 323 input_report_abs(sw->dev[i], ABS_Y, GB(i*15+0,1) - GB(i*15+1,1)); in sw_parse() 326 input_report_key(sw->dev[i], sw_btn[SW_ID_GP][j], !GB(i*15+j+4,1)); in sw_parse() 328 input_sync(sw->dev[i]); in sw_parse() [all …]
|
| /linux/arch/mips/alchemy/common/ |
| H A D | sleeper.S | 25 sw $1, PT_R1(sp) 26 sw $2, PT_R2(sp) 27 sw $3, PT_R3(sp) 28 sw $4, PT_R4(sp) 29 sw $5, PT_R5(sp) 30 sw $6, PT_R6(sp) 31 sw $7, PT_R7(sp) 32 sw $16, PT_R16(sp) 33 sw $17, PT_R17(sp) 34 sw $18, PT_R18(sp) [all …]
|
| /linux/drivers/gpu/drm/nouveau/nvkm/engine/sw/ |
| H A D | base.c | 30 nvkm_sw_mthd(struct nvkm_sw *sw, int chid, int subc, u32 mthd, u32 data) in nvkm_sw_mthd() argument 36 spin_lock_irqsave(&sw->engine.lock, flags); in nvkm_sw_mthd() 37 list_for_each_entry(chan, &sw->chan, head) { in nvkm_sw_mthd() 41 list_add(&chan->head, &sw->chan); in nvkm_sw_mthd() 45 spin_unlock_irqrestore(&sw->engine.lock, flags); in nvkm_sw_mthd() 61 struct nvkm_sw *sw = nvkm_sw(oclass->engine); in nvkm_sw_oclass_get() local 64 while (sw->func->sclass[c].ctor) { in nvkm_sw_oclass_get() 66 oclass->engn = &sw->func->sclass[index]; in nvkm_sw_oclass_get() 67 oclass->base = sw->func->sclass[index].base; in nvkm_sw_oclass_get() 80 struct nvkm_sw *sw = nvkm_sw(oclass->engine); in nvkm_sw_cclass_get() local [all …]
|
| /linux/arch/openrisc/kernel/ |
| H A D | entry.S | 46 l.sw -8(r1),r2 /* store frame pointer */ ;\ 47 l.sw -4(r1),r9 /* store return address */ ;\ 59 l.sw -12(r1),t1 /* save extra reg */ ;\ 60 l.sw -8(r1),r2 /* store frame pointer */ ;\ 61 l.sw -4(r1),r9 /* store return address */ ;\ 147 l.sw PT_GPR2(r1),r2 ;\ 148 l.sw PT_GPR3(r1),r3 ;\ 150 l.sw PT_GPR5(r1),r5 ;\ 151 l.sw PT_GPR6(r1),r6 ;\ 152 l.sw PT_GPR7(r1),r7 ;\ [all …]
|
| /linux/include/linux/usb/ |
| H A D | role.h | 16 typedef int (*usb_role_switch_set_t)(struct usb_role_switch *sw, 18 typedef enum usb_role (*usb_role_switch_get_t)(struct usb_role_switch *sw); 52 int usb_role_switch_set_role(struct usb_role_switch *sw, enum usb_role role); 53 enum usb_role usb_role_switch_get_role(struct usb_role_switch *sw); 56 void usb_role_switch_put(struct usb_role_switch *sw); 64 void usb_role_switch_unregister(struct usb_role_switch *sw); 66 void usb_role_switch_set_drvdata(struct usb_role_switch *sw, void *data); 67 void *usb_role_switch_get_drvdata(struct usb_role_switch *sw); 70 static inline int usb_role_switch_set_role(struct usb_role_switch *sw, in usb_role_switch_set_role() argument 76 static inline enum usb_role usb_role_switch_get_role(struct usb_role_switch *sw) in usb_role_switch_get_role() argument [all …]
|
| /linux/drivers/block/ |
| H A D | swim3.c | 274 struct swim3 __iomem *sw = fs->swim3; in swim3_select() local 276 out_8(&sw->select, RELAX); in swim3_select() 278 out_8(&sw->control_bis, SELECT); in swim3_select() 280 out_8(&sw->control_bic, SELECT); in swim3_select() 281 out_8(&sw->select, sel & CA_MASK); in swim3_select() 286 struct swim3 __iomem *sw = fs->swim3; in swim3_action() local 290 out_8(&sw->select, sw->select | LSTRB); in swim3_action() 292 out_8(&sw->select, sw in swim3_action() 298 struct swim3 __iomem *sw = fs->swim3; swim3_readbit() local 374 struct swim3 __iomem *sw = fs->swim3; scan_track() local 387 struct swim3 __iomem *sw = fs->swim3; seek_track() local 434 struct swim3 __iomem *sw = fs->swim3; setup_transfer() local 559 struct swim3 __iomem *sw = fs->swim3; scan_timeout() local 583 struct swim3 __iomem *sw = fs->swim3; seek_timeout() local 602 struct swim3 __iomem *sw = fs->swim3; settle_timeout() local 631 struct swim3 __iomem *sw = fs->swim3; xfer_timeout() local 658 struct swim3 __iomem *sw = fs->swim3; swim3_interrupt() local 929 struct swim3 __iomem *sw = fs->swim3; floppy_open() local 1010 struct swim3 __iomem *sw = fs->swim3; floppy_release() local 1035 struct swim3 __iomem *sw; floppy_revalidate() local 1086 struct swim3 __iomem *sw; swim3_mb_event() local [all...] |
| /linux/drivers/soc/bcm/brcmstb/pm/ |
| H A D | s3-mips.S | 26 sw ra, 0(t0) 27 sw s0, 4(t0) 28 sw s1, 8(t0) 29 sw s2, 12(t0) 30 sw s3, 16(t0) 31 sw s4, 20(t0) 32 sw s5, 24(t0) 33 sw s6, 28(t0) 34 sw s7, 32(t0) 35 sw gp, 36(t0) [all …]
|
| /linux/tools/testing/selftests/drivers/net/bonding/ |
| H A D | bond-lladdr-target.sh | 25 sw="sw-$(mktemp -u XXXXXX)" 30 ip netns del $sw 46 ip netns add $sw 49 ip -n $host link add veth0 type veth peer name veth0 netns $sw 50 ip -n $host link add veth1 type veth peer name veth1 netns $sw 52 ip -n $sw link add br0 type bridge 53 ip -n $sw link set br0 up 54 sw_lladdr=$(ip -n $sw addr show br0 | awk '/fe80/{print $2}' | cut -d'/' -f1) 56 slowwait 2 wait_lladdr_dad ip -n $sw addr show br0 66 ip -n $sw link set veth0 master br0 [all …]
|