Loading drivers/thunderbolt/switch.c +11 −10 Original line number Diff line number Diff line Loading @@ -1233,23 +1233,24 @@ static void tb_dump_switch(const struct tb *tb, const struct tb_switch *sw) /** * reset_switch() - reconfigure route, enable and send TB_CFG_PKG_RESET * @sw: Switch to reset * * Return: Returns 0 on success or an error code on failure. */ int tb_switch_reset(struct tb *tb, u64 route) int tb_switch_reset(struct tb_switch *sw) { struct tb_cfg_result res; struct tb_regs_switch_header header = { header.route_hi = route >> 32, header.route_lo = route, header.enabled = true, }; tb_dbg(tb, "resetting switch at %llx\n", route); res.err = tb_cfg_write(tb->ctl, ((u32 *) &header) + 2, route, 0, 2, 2, 2); if (sw->generation > 1) return 0; tb_sw_dbg(sw, "resetting switch\n"); res.err = tb_sw_write(sw, ((u32 *) &sw->config) + 2, TB_CFG_SWITCH, 2, 2); if (res.err) return res.err; res = tb_cfg_reset(tb->ctl, route, TB_CFG_DEFAULT_TIMEOUT); res = tb_cfg_reset(sw->tb->ctl, tb_route(sw), TB_CFG_DEFAULT_TIMEOUT); if (res.err > 0) return -EIO; return res.err; Loading drivers/thunderbolt/tb.c +1 −1 Original line number Diff line number Diff line Loading @@ -1258,7 +1258,7 @@ static int tb_resume_noirq(struct tb *tb) tb_dbg(tb, "resuming...\n"); /* remove any pci devices the firmware might have setup */ tb_switch_reset(tb, 0); tb_switch_reset(tb->root_switch); tb_switch_resume(tb->root_switch); tb_free_invalid_tunnels(tb); Loading drivers/thunderbolt/tb.h +1 −1 Original line number Diff line number Diff line Loading @@ -634,7 +634,7 @@ int tb_switch_add(struct tb_switch *sw); void tb_switch_remove(struct tb_switch *sw); void tb_switch_suspend(struct tb_switch *sw); int tb_switch_resume(struct tb_switch *sw); int tb_switch_reset(struct tb *tb, u64 route); int tb_switch_reset(struct tb_switch *sw); void tb_sw_set_unplugged(struct tb_switch *sw); struct tb_port *tb_switch_find_port(struct tb_switch *sw, enum tb_port_type type); Loading Loading
drivers/thunderbolt/switch.c +11 −10 Original line number Diff line number Diff line Loading @@ -1233,23 +1233,24 @@ static void tb_dump_switch(const struct tb *tb, const struct tb_switch *sw) /** * reset_switch() - reconfigure route, enable and send TB_CFG_PKG_RESET * @sw: Switch to reset * * Return: Returns 0 on success or an error code on failure. */ int tb_switch_reset(struct tb *tb, u64 route) int tb_switch_reset(struct tb_switch *sw) { struct tb_cfg_result res; struct tb_regs_switch_header header = { header.route_hi = route >> 32, header.route_lo = route, header.enabled = true, }; tb_dbg(tb, "resetting switch at %llx\n", route); res.err = tb_cfg_write(tb->ctl, ((u32 *) &header) + 2, route, 0, 2, 2, 2); if (sw->generation > 1) return 0; tb_sw_dbg(sw, "resetting switch\n"); res.err = tb_sw_write(sw, ((u32 *) &sw->config) + 2, TB_CFG_SWITCH, 2, 2); if (res.err) return res.err; res = tb_cfg_reset(tb->ctl, route, TB_CFG_DEFAULT_TIMEOUT); res = tb_cfg_reset(sw->tb->ctl, tb_route(sw), TB_CFG_DEFAULT_TIMEOUT); if (res.err > 0) return -EIO; return res.err; Loading
drivers/thunderbolt/tb.c +1 −1 Original line number Diff line number Diff line Loading @@ -1258,7 +1258,7 @@ static int tb_resume_noirq(struct tb *tb) tb_dbg(tb, "resuming...\n"); /* remove any pci devices the firmware might have setup */ tb_switch_reset(tb, 0); tb_switch_reset(tb->root_switch); tb_switch_resume(tb->root_switch); tb_free_invalid_tunnels(tb); Loading
drivers/thunderbolt/tb.h +1 −1 Original line number Diff line number Diff line Loading @@ -634,7 +634,7 @@ int tb_switch_add(struct tb_switch *sw); void tb_switch_remove(struct tb_switch *sw); void tb_switch_suspend(struct tb_switch *sw); int tb_switch_resume(struct tb_switch *sw); int tb_switch_reset(struct tb *tb, u64 route); int tb_switch_reset(struct tb_switch *sw); void tb_sw_set_unplugged(struct tb_switch *sw); struct tb_port *tb_switch_find_port(struct tb_switch *sw, enum tb_port_type type); Loading