From: Mohammad Rahimi <rahimi.mhmmd@gmail.com>
To: mika.westerberg@linux.intel.com
Cc: andreas.noever@gmail.com, michael.jamet@intel.com,
YehezkelShB@gmail.com, linux-usb@vger.kernel.org,
linux-kernel@vger.kernel.org,
Mohammad Rahimi <rahimi.mhmmd@gmail.com>
Subject: [PATCH v2 Cover Letter] thunderbolt: Disable Gen 4 Recovery on Asymmetric Transitions
Date: Thu, 30 Jan 2025 09:51:06 +0000 [thread overview]
Message-ID: <20250130095704.10779-1-rahimi.mhmmd@gmail.com> (raw)
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
next reply other threads:[~2025-01-30 9:57 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-30 9:51 Mohammad Rahimi [this message]
2025-01-30 9:51 ` [PATCH v2] thunderbolt: Disable Gen 4 Recovery on Asymmetric Transitions Mohammad Rahimi
2025-01-30 12:47 ` Mika Westerberg
2025-01-31 1:11 ` Mohammad Rahimi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250130095704.10779-1-rahimi.mhmmd@gmail.com \
--to=rahimi.mhmmd@gmail.com \
--cc=YehezkelShB@gmail.com \
--cc=andreas.noever@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=michael.jamet@intel.com \
--cc=mika.westerberg@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox