drivers/thunderbolt/domain.c | 5 +-- drivers/thunderbolt/icm.c | 2 +- drivers/thunderbolt/lc.c | 44 +++++++++++++++++++++++++ drivers/thunderbolt/nhi.c | 19 +++++++---- drivers/thunderbolt/path.c | 13 ++++++++ drivers/thunderbolt/switch.c | 61 +++++++++++++++++++++++++++++++++-- drivers/thunderbolt/tb.c | 29 +++++++++++++---- drivers/thunderbolt/tb.h | 7 ++-- drivers/thunderbolt/tb_regs.h | 4 +++ drivers/thunderbolt/usb4.c | 39 ++++++++++++++++++++++ 10 files changed, 202 insertions(+), 21 deletions(-)
Tunnels created by boot firmware results in incorrect PCI resource
allocation, which results in failure of extending daisy chain.
This series aims to resolve inconsistent tunnels or paths created
by boot firmware.
Before:
+-03.1-[04-62]----00.0-[05-07]--+-02.0-[06]----00.0
| \-04.0-[07]--
After:
+-03.1-[04-62]----00.0-[05-62]--+-02.0-[06]----00.0
| \-04.0-[07-62]--
This series also aligns with windows behaviour of performing a teardown
of tunnels and resetting the downstream ports using DPR during the init
sequence.
Changes since V3:
- Remove discover_tunnel() api before resetting DPR.
- Add lane and protocol adapters reset in tb_switch_reset()
- Addition of tb_lc_reset_port() for TBT1, TBT2 and TBT3 routers.
- Addition of tb_path_deactivate_hop() api to help suppport path
reset of given hop index.
- Addition on new patch to store and indicate host router reset
status of USB4 v2
Changes since V2:
- Perform DPR only for USB4 routers.
- Update kernel-doc and return value to -EOPNOTSUPP.
- Limit delay range to 10-15ms.
Sanath S (4):
thunderbolt: Introduce usb4_port_reset() and tb_lc_reset_port()
thunderbolt: Extend tb_switch_reset() to support lane and protocol
adapter reset
thunderbolt: Store host router reset status in nhi_probe()
thunderbolt: Teardown tunnels and reset downstream ports created by
boot firmware
drivers/thunderbolt/domain.c | 5 +--
drivers/thunderbolt/icm.c | 2 +-
drivers/thunderbolt/lc.c | 44 +++++++++++++++++++++++++
drivers/thunderbolt/nhi.c | 19 +++++++----
drivers/thunderbolt/path.c | 13 ++++++++
drivers/thunderbolt/switch.c | 61 +++++++++++++++++++++++++++++++++--
drivers/thunderbolt/tb.c | 29 +++++++++++++----
drivers/thunderbolt/tb.h | 7 ++--
drivers/thunderbolt/tb_regs.h | 4 +++
drivers/thunderbolt/usb4.c | 39 ++++++++++++++++++++++
10 files changed, 202 insertions(+), 21 deletions(-)
--
2.34.1
On Sat, Jan 06, 2024 at 10:27:19PM +0530, Sanath S wrote: > Tunnels created by boot firmware results in incorrect PCI resource > allocation, which results in failure of extending daisy chain. > This series aims to resolve inconsistent tunnels or paths created > by boot firmware. > > Before: > +-03.1-[04-62]----00.0-[05-07]--+-02.0-[06]----00.0 > | \-04.0-[07]-- > After: > +-03.1-[04-62]----00.0-[05-62]--+-02.0-[06]----00.0 > | \-04.0-[07-62]-- > > This series also aligns with windows behaviour of performing a teardown > of tunnels and resetting the downstream ports using DPR during the init > sequence. > > Changes since V3: > - Remove discover_tunnel() api before resetting DPR. > - Add lane and protocol adapters reset in tb_switch_reset() > - Addition of tb_lc_reset_port() for TBT1, TBT2 and TBT3 routers. > - Addition of tb_path_deactivate_hop() api to help suppport path > reset of given hop index. > - Addition on new patch to store and indicate host router reset > status of USB4 v2 > > Changes since V2: > - Perform DPR only for USB4 routers. > - Update kernel-doc and return value to -EOPNOTSUPP. > - Limit delay range to 10-15ms. > > Sanath S (4): > thunderbolt: Introduce usb4_port_reset() and tb_lc_reset_port() > thunderbolt: Extend tb_switch_reset() to support lane and protocol > adapter reset > thunderbolt: Store host router reset status in nhi_probe() > thunderbolt: Teardown tunnels and reset downstream ports created by > boot firmware All applied to thunderbolt.git/next, thanks! I did some tweaking to the code and the changelogs. Please check and make sure your test cases still pass. These have been in our internal validation for a while and no issues have been reported so far.
Hi, On Sat, Jan 06, 2024 at 10:27:19PM +0530, Sanath S wrote: > Tunnels created by boot firmware results in incorrect PCI resource > allocation, which results in failure of extending daisy chain. > This series aims to resolve inconsistent tunnels or paths created > by boot firmware. > > Before: > +-03.1-[04-62]----00.0-[05-07]--+-02.0-[06]----00.0 > | \-04.0-[07]-- > After: > +-03.1-[04-62]----00.0-[05-62]--+-02.0-[06]----00.0 > | \-04.0-[07-62]-- > > This series also aligns with windows behaviour of performing a teardown > of tunnels and resetting the downstream ports using DPR during the init > sequence. > > Changes since V3: > - Remove discover_tunnel() api before resetting DPR. > - Add lane and protocol adapters reset in tb_switch_reset() > - Addition of tb_lc_reset_port() for TBT1, TBT2 and TBT3 routers. > - Addition of tb_path_deactivate_hop() api to help suppport path > reset of given hop index. > - Addition on new patch to store and indicate host router reset > status of USB4 v2 > > Changes since V2: > - Perform DPR only for USB4 routers. > - Update kernel-doc and return value to -EOPNOTSUPP. > - Limit delay range to 10-15ms. > > Sanath S (4): > thunderbolt: Introduce usb4_port_reset() and tb_lc_reset_port() > thunderbolt: Extend tb_switch_reset() to support lane and protocol > adapter reset > thunderbolt: Store host router reset status in nhi_probe() > thunderbolt: Teardown tunnels and reset downstream ports created by > boot firmware Thanks for the series! I will give this a try on our end too to make sure there are no issues. If things look good I will queue these for v6.9 after v6.8-rc1 is released.
On 1/10/2024 8:01 PM, Mika Westerberg wrote: > Hi, > > On Sat, Jan 06, 2024 at 10:27:19PM +0530, Sanath S wrote: >> Tunnels created by boot firmware results in incorrect PCI resource >> allocation, which results in failure of extending daisy chain. >> This series aims to resolve inconsistent tunnels or paths created >> by boot firmware. >> >> Before: >> +-03.1-[04-62]----00.0-[05-07]--+-02.0-[06]----00.0 >> | \-04.0-[07]-- >> After: >> +-03.1-[04-62]----00.0-[05-62]--+-02.0-[06]----00.0 >> | \-04.0-[07-62]-- >> >> This series also aligns with windows behaviour of performing a teardown >> of tunnels and resetting the downstream ports using DPR during the init >> sequence. >> >> Changes since V3: >> - Remove discover_tunnel() api before resetting DPR. >> - Add lane and protocol adapters reset in tb_switch_reset() >> - Addition of tb_lc_reset_port() for TBT1, TBT2 and TBT3 routers. >> - Addition of tb_path_deactivate_hop() api to help suppport path >> reset of given hop index. >> - Addition on new patch to store and indicate host router reset >> status of USB4 v2 >> >> Changes since V2: >> - Perform DPR only for USB4 routers. >> - Update kernel-doc and return value to -EOPNOTSUPP. >> - Limit delay range to 10-15ms. >> >> Sanath S (4): >> thunderbolt: Introduce usb4_port_reset() and tb_lc_reset_port() >> thunderbolt: Extend tb_switch_reset() to support lane and protocol >> adapter reset >> thunderbolt: Store host router reset status in nhi_probe() >> thunderbolt: Teardown tunnels and reset downstream ports created by >> boot firmware > Thanks for the series! > > I will give this a try on our end too to make sure there are no issues. > If things look good I will queue these for v6.9 after v6.8-rc1 is > released. Thanks Mika :) Looking forward for results at your end.
© 2016 - 2025 Red Hat, Inc.