FROMGIT: scsi: ufs: ufs-mediatek: Fix HCI version in some platforms
Some MediaTek SoC platforms with UFSHCI version below 3.0 have incorrect
UFSHCI versions showed in register map.
Fix the version by referring to UniPro version which is always correct.
Bug: 191731858
Change-Id: Ieecc7ceae57682a0a698e668b4d1a2c386e11860
(cherry picked from commit 2c89e41326
git://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git 5.13/scsi-fixes)
Link: https://lore.kernel.org/r/20210531062642.12642-1-stanley.chu@mediatek.com
Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com>
Signed-off-by: Stanley Chu <stanley.chu@mediatek.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Stanley Chu <stanley.chu@mediatek.com>
This commit is contained in:
parent
bb105230c4
commit
142bc470cd
1 changed files with 14 additions and 1 deletions
|
|
@ -595,11 +595,23 @@ static void ufs_mtk_get_controller_version(struct ufs_hba *hba)
|
|||
|
||||
ret = ufshcd_dme_get(hba, UIC_ARG_MIB(PA_LOCALVERINFO), &ver);
|
||||
if (!ret) {
|
||||
if (ver >= UFS_UNIPRO_VER_1_8)
|
||||
if (ver >= UFS_UNIPRO_VER_1_8) {
|
||||
host->hw_ver.major = 3;
|
||||
/*
|
||||
* Fix HCI version for some platforms with
|
||||
* incorrect version
|
||||
*/
|
||||
if (hba->ufs_version < ufshci_version(3, 0))
|
||||
hba->ufs_version = ufshci_version(3, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static u32 ufs_mtk_get_ufs_hci_version(struct ufs_hba *hba)
|
||||
{
|
||||
return hba->ufs_version;
|
||||
}
|
||||
|
||||
/**
|
||||
* ufs_mtk_init - find other essential mmio bases
|
||||
* @hba: host controller instance
|
||||
|
|
@ -1058,6 +1070,7 @@ static void ufs_mtk_event_notify(struct ufs_hba *hba,
|
|||
static const struct ufs_hba_variant_ops ufs_hba_mtk_vops = {
|
||||
.name = "mediatek.ufshci",
|
||||
.init = ufs_mtk_init,
|
||||
.get_ufs_hci_version = ufs_mtk_get_ufs_hci_version,
|
||||
.setup_clocks = ufs_mtk_setup_clocks,
|
||||
.hce_enable_notify = ufs_mtk_hce_enable_notify,
|
||||
.link_startup_notify = ufs_mtk_link_startup_notify,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue