Fix TM cmd timeout issue in MCQ mode using the default resume call
ufshcd_make_hba_operational() to set TM cmd DMA address.
This flow is the same as UFS initialization after link startup and then
setting MCQ related registers if using MCQ mode.
Signed-off-by: Peter Wang <peter.wang@mediatek.com>
Link: https://lore.kernel.org/r/20231221110416.16176-3-peter.wang@mediatek.com
Reviewed-by: Chun-Hung Wu <chun-hung.wu@mediatek.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
}
ufshcd_set_link_active(hba);
- if (!hba->mcq_enabled) {
- err = ufshcd_make_hba_operational(hba);
- } else {
+ err = ufshcd_make_hba_operational(hba);
+ if (err)
+ return err;
+
+ if (is_mcq_enabled(hba)) {
ufs_mtk_config_mcq(hba, false);
ufshcd_mcq_make_queues_operational(hba);
ufshcd_mcq_config_mac(hba, hba->nutrs);
REG_UFS_MEM_CFG);
}
- if (err)
- return err;
-
return 0;
}