thunderbolt: Configure lanes when switch is initialized
Thunderbolt 2 devices and beyond need to have additional bits set in link controller specific registers. This includes two bits in LC_SX_CTRL that tell the link controller which lane is connected and whether it is upstream facing or not. Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
此提交包含在:
@@ -1276,6 +1276,10 @@ int tb_switch_configure(struct tb_switch *sw)
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
ret = tb_lc_configure_link(sw);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
return tb_plug_events_active(sw, true);
|
||||
}
|
||||
|
||||
@@ -1486,6 +1490,7 @@ void tb_switch_remove(struct tb_switch *sw)
|
||||
|
||||
if (!sw->is_unplugged)
|
||||
tb_plug_events_active(sw, false);
|
||||
tb_lc_unconfigure_link(sw);
|
||||
|
||||
tb_switch_nvm_remove(sw);
|
||||
|
||||
@@ -1545,6 +1550,10 @@ int tb_switch_resume(struct tb_switch *sw)
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
err = tb_lc_configure_link(sw);
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
err = tb_plug_events_active(sw, true);
|
||||
if (err)
|
||||
return err;
|
||||
|
新增問題並參考
封鎖使用者