| /linux/drivers/thunderbolt/ |
| 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, &ctl); in tb_eeprom_active() 57 res = tb_eeprom_ctl_write(sw, &ctl); in tb_eeprom_active() 61 return tb_eeprom_ctl_write(sw, &ctl); in tb_eeprom_active() [all …]
|
| H A D | switch.c | 37 static struct nvm_auth_status *__nvm_get_auth_status(const struct tb_switch *sw) in __nvm_get_auth_status() argument 42 if (uuid_equal(&st->uuid, sw->uuid)) in __nvm_get_auth_status() 49 static void nvm_get_auth_status(const struct tb_switch *sw, u32 *status) in nvm_get_auth_status() argument 54 st = __nvm_get_auth_status(sw); in nvm_get_auth_status() 60 static void nvm_set_auth_status(const struct tb_switch *sw, u32 status) in nvm_set_auth_status() argument 64 if (WARN_ON(!sw->uuid)) in nvm_set_auth_status() 68 st = __nvm_get_auth_status(sw); in nvm_set_auth_status() 75 memcpy(&st->uuid, sw->uuid, sizeof(st->uuid)); in nvm_set_auth_status() 85 static void nvm_clear_auth_status(const struct tb_switch *sw) in nvm_clear_auth_status() argument 90 st = __nvm_get_auth_status(sw); in nvm_clear_auth_status() [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 | 15 * @sw: Switch whose UUID is read 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() [all …]
|
| H A D | tb.h | 249 * @sw: Switch the port belongs to 282 struct tb_switch *sw; member 519 int (*runtime_suspend_switch)(struct tb_switch *sw); 520 int (*runtime_resume_switch)(struct tb_switch *sw); 525 int (*disapprove_switch)(struct tb *tb, struct tb_switch *sw); 526 int (*approve_switch)(struct tb *tb, struct tb_switch *sw); 527 int (*add_switch_key)(struct tb *tb, struct tb_switch *sw); 528 int (*challenge_switch_key)(struct tb *tb, struct tb_switch *sw, 537 int (*usb4_switch_op)(struct tb_switch *sw, u16 opcode, u32 *metadata, 540 int (*usb4_switch_nvm_authenticate_status)(struct tb_switch *sw, [all …]
|
| H A D | tb.c | 111 static void tb_add_dp_resources(struct tb_switch *sw) in tb_add_dp_resources() argument 113 struct tb_cm *tcm = tb_priv(sw->tb); in tb_add_dp_resources() 116 tb_switch_for_each_port(sw, port) { in tb_add_dp_resources() 120 if (!tb_switch_query_dp_resource(sw, port)) in tb_add_dp_resources() 129 if (tb_route(sw)) in tb_add_dp_resources() 138 static void tb_remove_dp_resources(struct tb_switch *sw) in tb_remove_dp_resources() argument 140 struct tb_cm *tcm = tb_priv(sw->tb); in tb_remove_dp_resources() 144 tb_switch_for_each_port(sw, port) { in tb_remove_dp_resources() 146 tb_remove_dp_resources(port->remote->sw); in tb_remove_dp_resources() 150 if (port->sw == sw) { in tb_remove_dp_resources() [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 26 sw->quirks |= QUIRK_NO_CLX; in quirk_clx_disable() 27 tb_sw_dbg(sw, "disabling CL states\n"); in quirk_clx_disable() [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->route_hi, sw->route_lo); in icm_fr_get_route() [all …]
|
| H A D | usb4.c | 54 static int usb4_native_switch_op(struct tb_switch *sw, u16 opcode, in usb4_native_switch_op() argument 63 ret = tb_sw_write(sw, metadata, TB_CFG_SWITCH, ROUTER_CS_25, 1); in usb4_native_switch_op() 68 ret = tb_sw_write(sw, tx_data, TB_CFG_SWITCH, ROUTER_CS_9, in usb4_native_switch_op() 75 ret = tb_sw_write(sw, &val, TB_CFG_SWITCH, ROUTER_CS_26, 1); in usb4_native_switch_op() 79 ret = tb_switch_wait_for_bit(sw, ROUTER_CS_26, ROUTER_CS_26_OV, 0, 500); in usb4_native_switch_op() 83 ret = tb_sw_read(sw, &val, TB_CFG_SWITCH, ROUTER_CS_26, 1); in usb4_native_switch_op() 95 ret = tb_sw_read(sw, metadata, TB_CFG_SWITCH, ROUTER_CS_25, 1); in usb4_native_switch_op() 100 ret = tb_sw_read(sw, rx_data, TB_CFG_SWITCH, ROUTER_CS_9, in usb4_native_switch_op() 109 static int __usb4_switch_op(struct tb_switch *sw, u16 opcode, u32 *metadata, in __usb4_switch_op() argument 113 const struct tb_cm_ops *cm_ops = sw->tb->cm_ops; in __usb4_switch_op() [all …]
|
| H A D | debugfs.c | 221 static ssize_t regs_write(struct tb_switch *sw, struct tb_port *port, in regs_write() argument 226 struct tb *tb = sw->tb; in regs_write() 234 pm_runtime_get_sync(&sw->dev); in regs_write() 257 ret = tb_sw_write(sw, &val, TB_CFG_SWITCH, offset, 1); in regs_write() 266 pm_runtime_mark_last_busy(&sw->dev); in regs_write() 267 pm_runtime_put_autosuspend(&sw->dev); in regs_write() 279 return regs_write(port->sw, port, TB_CFG_PORT, user_buf, count, ppos); in port_regs_write() 288 return regs_write(port->sw, port, TB_CFG_HOPS, user_buf, count, ppos); in path_write() 295 struct tb_switch *sw = s->private; in switch_regs_write() local 297 return regs_write(sw, NULL, TB_CFG_SWITCH, user_buf, count, ppos); in switch_regs_write() [all …]
|
| /linux/drivers/usb/roles/ |
| H A D | class.c | 70 * @sw: USB role switch 73 * Set USB role @role for @sw. 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() [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_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->router->kern_neigh_cache_ht, in __prestera_kern_neigh_cache_destroy() [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_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_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_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() 394 void prestera_devlink_free(struct prestera_switch *sw) in prestera_devlink_free() argument 396 struct devlink *dl = priv_to_devlink(sw); in prestera_devlink_free() 401 void prestera_devlink_register(struct prestera_switch *sw) in prestera_devlink_register() argument 403 struct devlink *dl = priv_to_devlink(sw); in prestera_devlink_register() 408 void prestera_devlink_unregister(struct prestera_switch *sw) in prestera_devlink_unregister() argument [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/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/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/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 | 9 # | | | sw 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 [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->select & ~LSTRB); in swim3_action() 298 struct swim3 __iomem *sw = fs->swim3; in swim3_readbit() local 303 stat = in_8(&sw->status); in swim3_readbit() [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 …]
|