public inbox for linux-usb@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 Cover Letter] thunderbolt: Disable Gen 4 Recovery on Asymmetric Transitions
@ 2025-01-30  9:51 Mohammad Rahimi
  2025-01-30  9:51 ` [PATCH v2] " Mohammad Rahimi
  0 siblings, 1 reply; 4+ messages in thread
From: Mohammad Rahimi @ 2025-01-30  9:51 UTC (permalink / raw)
  To: mika.westerberg
  Cc: andreas.noever, michael.jamet, YehezkelShB, linux-usb,
	linux-kernel, Mohammad Rahimi

Dear Mika,

In this revision, I have decided not to define the following functions,
despite our initial agreement in v1:

int tb_enable_link_recovery(struct tb_switch *sw);
int tb_disable_link_recovery(struct tb_switch *sw);

This decision was based on the following considerations:

1. If a write operation fails, there is no clear way to determine which port
the failure occurred on, the upstream port of the switch or its link partner.

2. To restore the exact Link Recovery state after an asymmetric transition, I
would need to track two boolean parameters and pass them to
tb_disable_link_recovery(). This would expose port state logic to
tb_configure_asym(), ending up with the same design we already have.

Additionally, I have chosen to ignore the return value from
usb4_port_link_recovery_enable() in tb_configure_asym(). At that stage, we
cannot take meaningful action based on the return value. Moreover, re-enabling
is performed immediately after tb_switch_set_link_width() to avoid introducing
unnecessary conditional branches.

Please let me know if you have any concerns or suggestions.

Best regards,
Mohammad Rahimi


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2025-01-31  1:11 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-30  9:51 [PATCH v2 Cover Letter] thunderbolt: Disable Gen 4 Recovery on Asymmetric Transitions Mohammad Rahimi
2025-01-30  9:51 ` [PATCH v2] " Mohammad Rahimi
2025-01-30 12:47   ` Mika Westerberg
2025-01-31  1:11     ` Mohammad Rahimi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox