[PATCH 0/2] Fix problems fetching TBT3 DROM from AMD USB4 routers

From: Mario Limonciello
Date: Tue Feb 14 2023 - 10:47:17 EST


TBT3 devices when connected to an AMD USB4 router occasionally fail to
properly respond to requests for the DROM via bit banging.

Depending upon which part of the request failed will impact the severity.
A number of workarounds have been put in place to let the driver handle
the failed requests:

e87491a9fd4e3 ("thunderbolt: Retry DROM reads for more failure scenarios")
a283de3ec646f ("thunderbolt: Do not resume routers if UID is not set")
6915812bbd109 ("thunderbolt: Do not make DROM read success compulsory")

Still even with these changes the failures do make it through. In comparing
other CM implementations, they all access the DROM directly from the NVM.

To avoid triggering this issue, try to get the DROM directly from the NVM
in Linux as well before resorting to bitbanging.

Mario Limonciello (2):
thunderbolt: Read DROM directly from NVM before trying bit banging
thunderbolt: use `tb_eeprom_get_drom_offset` to discover DROM offset

drivers/thunderbolt/eeprom.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)

--
2.25.1