diff options
author | Peter Wang <peter.wang@mediatek.com> | 2025-08-11 21:11:23 +0800 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2025-08-14 22:49:13 -0400 |
commit | f1617ecf18aaf222482f683f44ab4b155976539d (patch) | |
tree | ee310d05daaabdd2c926f40b376e6c4a4b2926fe | |
parent | 979feee0cf43b32d288931649d7c6d9a5524ea55 (diff) |
scsi: ufs: host: mediatek: Optimize power mode change handling
Optimize the power mode change process by skipping the adaptation
setting toggle if the requested power mode configuration is already
applied. This enhancement reduces unnecessary operations, improving
efficiency during power mode transitions.
Signed-off-by: Peter Wang <peter.wang@mediatek.com>
Link: https://lore.kernel.org/r/20250811131423.3444014-8-peter.wang@mediatek.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
-rw-r--r-- | drivers/ufs/host/ufs-mediatek.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/ufs/host/ufs-mediatek.c b/drivers/ufs/host/ufs-mediatek.c index bd6616598c33..1fb8a094d2af 100644 --- a/drivers/ufs/host/ufs-mediatek.c +++ b/drivers/ufs/host/ufs-mediatek.c @@ -1398,6 +1398,17 @@ static int ufs_mtk_pre_pwr_change(struct ufs_hba *hba, } } + /* if already configured to the requested pwr_mode, skip adapt */ + if (dev_req_params->gear_rx == hba->pwr_info.gear_rx && + dev_req_params->gear_tx == hba->pwr_info.gear_tx && + dev_req_params->lane_rx == hba->pwr_info.lane_rx && + dev_req_params->lane_tx == hba->pwr_info.lane_tx && + dev_req_params->pwr_rx == hba->pwr_info.pwr_rx && + dev_req_params->pwr_tx == hba->pwr_info.pwr_tx && + dev_req_params->hs_rate == hba->pwr_info.hs_rate) { + return ret; + } + if (dev_req_params->pwr_rx == FAST_MODE || dev_req_params->pwr_rx == FASTAUTO_MODE) { if (host->hw_ver.major >= 3) { |