]> www.infradead.org Git - users/hch/misc.git/commitdiff
scsi: ufs: host: mediatek: Optimize power mode change handling
authorPeter Wang <peter.wang@mediatek.com>
Mon, 11 Aug 2025 13:11:23 +0000 (21:11 +0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Fri, 15 Aug 2025 02:49:13 +0000 (22:49 -0400)
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>
drivers/ufs/host/ufs-mediatek.c

index bd6616598c339704669d9858ae1c0016d1b4c84d..1fb8a094d2afd0b8c7b0ed0a9443fc518f2e11dd 100644 (file)
@@ -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) {