Hi Stanley, > -----Original Message----- > From: Stanley Chu <stanley.chu@xxxxxxxxxxxx> > Sent: 31 May 2021 10:48 > To: linux-scsi@xxxxxxxxxxxxxxx; martin.petersen@xxxxxxxxxx; > avri.altman@xxxxxxx; alim.akhtar@xxxxxxxxxxx; jejb@xxxxxxxxxxxxx > Cc: peter.wang@xxxxxxxxxxxx; chun-hung.wu@xxxxxxxxxxxx; > alice.chao@xxxxxxxxxxxx; jonathan.hsu@xxxxxxxxxxxx; > powen.kao@xxxxxxxxxxxx; cc.chou@xxxxxxxxxxxx; > chaotian.jing@xxxxxxxxxxxx; jiajie.hao@xxxxxxxxxxxx; Stanley Chu > <stanley.chu@xxxxxxxxxxxx> > Subject: [PATCH v1] scsi: ufs-mediatek: Fix HCI version in some platforms > > Some MediaTek platforms have incorrect UFSHCI versions showed in register > map. Fix the version by referring to UniPro version which is always correct. > A bit of extra details will help here, like say HCI version below 3.0 is broken on some MediaTek SoC etc. That will also help to understand if this was a deviation from HCI spec. > Signed-off-by: Stanley Chu <stanley.chu@xxxxxxxxxxxx> > --- With the updated commit message, feel free to add Reviewed-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> > drivers/scsi/ufs/ufs-mediatek.c | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/drivers/scsi/ufs/ufs-mediatek.c b/drivers/scsi/ufs/ufs-mediatek.c > index 9912e208c2a1..3d3605fd05b2 100644 > --- a/drivers/scsi/ufs/ufs-mediatek.c > +++ b/drivers/scsi/ufs/ufs-mediatek.c > @@ -606,6 +606,16 @@ static void ufs_mtk_get_controller_version(struct > ufs_hba *hba) > 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) && > + host->hw_ver.major == 3) > + hba->ufs_version = ufshci_version(3, 0); } > + > +static u32 ufs_mtk_get_ufs_hci_version(struct ufs_hba *hba) { > + return hba->ufs_version; > } > > /** > @@ -1042,6 +1052,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, > -- > 2.18.0