Hi John,
On 2024/2/27 17:06, John Garry wrote:
On 27/02/2024 07:16, Jason Yan wrote:
Can we directly set phy->negotiated_linkrate = SAS_PHY_DISABLED
here? For an empty PHY the other variables means nothing, so why
bother get and update them?
The value of the negotiated link rate has two possible values in
the current processing branch: SAS_LINK_RATE_UNKNOWN and
SAS_PHY_DISABLED, and both come from disc_resp. If we do not use
disc_resp, but set a fixed value SAS_PHY_DISABLED for it, it may not
be appropriate.
But we know that the phy is disabled, right? It's our phy, isn't it?
Yes, just like the previous submission, if we disable phy ourselves
through the sysfs node, we can configure the negotiation rate to
SAS_PHY_DISABLED by setting phy->phy->enable to 0. It might be better to
use sas_set_ex_phy() as you described before, it will refresh other phy
information synchronously, such as sas_address, device_type,
target_protocols, etc. If we only update the negotiation rate and
maintain the old information, is it because it is special? Is it better
to update phy information uniformly?
Thanks,
Xingui