UPSTREAM: scsi: ufs: Refactor ADAPT configuration function

Several vendors are using same code to configure ADAPT settings for
HS-G4. Simply refactor it as common function.

Link: https://lore.kernel.org/r/20201116065054.7658-8-stanley.chu@mediatek.com
Reviewed-by: Bean Huo <beanhuo@micron.com>
Signed-off-by: Stanley Chu <stanley.chu@mediatek.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
(cherry picked from commit fc85a74e28)
Bug: 204438323
Change-Id: Ic2d373f9eb5e500fd0186c159f6e676723a97758
Signed-off-by: Bart Van Assche <bvanassche@google.com>
This commit is contained in:
Stanley Chu
2020-11-16 14:50:52 +08:00
committed by Bart Van Assche
parent 04c6c4249a
commit 6582f7c0aa
2 changed files with 19 additions and 0 deletions

View File

@@ -3756,6 +3756,22 @@ static int ufshcd_dme_reset(struct ufs_hba *hba)
return ret;
}
int ufshcd_dme_configure_adapt(struct ufs_hba *hba,
int agreed_gear,
int adapt_val)
{
int ret;
if (agreed_gear != UFS_HS_G4)
adapt_val = PA_INITIAL_ADAPT;
ret = ufshcd_dme_set(hba,
UIC_ARG_MIB(PA_TXHSADAPTTYPE),
adapt_val);
return ret;
}
EXPORT_SYMBOL_GPL(ufshcd_dme_configure_adapt);
/**
* ufshcd_dme_enable - UIC command for DME_ENABLE
* @hba: per adapter instance

View File

@@ -1095,6 +1095,9 @@ extern int ufshcd_runtime_idle(struct ufs_hba *hba);
extern int ufshcd_system_suspend(struct ufs_hba *hba);
extern int ufshcd_system_resume(struct ufs_hba *hba);
extern int ufshcd_shutdown(struct ufs_hba *hba);
extern int ufshcd_dme_configure_adapt(struct ufs_hba *hba,
int agreed_gear,
int adapt_val);
extern int ufshcd_dme_set_attr(struct ufs_hba *hba, u32 attr_sel,
u8 attr_set, u32 mib_val, u8 peer);
extern int ufshcd_dme_get_attr(struct ufs_hba *hba, u32 attr_sel,