Re: [PATCH v2 00/11] scsi: ufs: Add TX Equalization support for UFS 5.0
From: Can Guo <hidden>
Date: 2026-03-06 14:14:18
Also in:
linux-mediatek, linux-scsi, lkml
On 3/5/2026 11:04 PM, Bean Huo wrote:
Can, On Wed, 2026-03-04 at 05:53 -0800, Can Guo wrote:quoted
Hi, The UFS 5.0 standard was published today,Myabe replace time sensitive wording “published today” with stable wording?
That is also my plan for next version, thanks!
quoted
introducing support for HS-G6 (23.2 Gbps per lane) through the new UniPro V3.0 interconnect layer and M-PHY V6.0 physical layer specifications. To achieve reliable operation at these higher speeds, UniPro V3.0 introduces TX Equalization and Pre-Coding mechanisms that are essential for signal integrity. This patch series implements TX Equalization support in the UFS core driver as specified in UFSHCI v5.0, along with the necessary vendor operations and a reference implementation for Qualcomm UFS host controllers. Background ========== TX Equalization is a signal conditioning technique that compensates for channel impairments at high data rates (HS-G4 through HS-G6). It works by adjusting two key parameters: - PreShoot: Pre-emphasis applied before the main signal transition - DeEmphasis: De-emphasis applied after the main signal transition UniPro V3.0 defines TX Equalization Training (EQTR) procedure to automatically discover optimal TX Equalization settings. The EQTR procedure: 1. Starts from the most reliable link state (HS-G1) 2. Iterates through all possible PreShoot and DeEmphasis combinations 3. Evaluates signal quality using Figure of Merit (FOM) measurements 4. Selects the best settings for both host and device TX laneswhat happens when EQTR fails, mabye you have this comments in the patch.
This is a good question. In this version, once TX EQTR fails, ufshcd_config_pwr_mode() would bail with error before calling ufshcd_change_power_mode(). But I am planning to loosen it in next version, that is, if TX EQTR fails the TX Equalization settings will remain unchanged and ufshcd_config_pwr_mode() would anyways go ahead change power mode. Thanks, Can Guo.
Kind regards, Bean