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>
This commit is contained in:
parent
85d6d3c189
commit
fc85a74e28
@ -3587,6 +3587,22 @@ static int ufshcd_dme_reset(struct ufs_hba *hba)
|
|||||||
return ret;
|
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
|
* ufshcd_dme_enable - UIC command for DME_ENABLE
|
||||||
* @hba: per adapter instance
|
* @hba: per adapter instance
|
||||||
|
@ -956,6 +956,9 @@ extern int ufshcd_runtime_idle(struct ufs_hba *hba);
|
|||||||
extern int ufshcd_system_suspend(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_system_resume(struct ufs_hba *hba);
|
||||||
extern int ufshcd_shutdown(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,
|
extern int ufshcd_dme_set_attr(struct ufs_hba *hba, u32 attr_sel,
|
||||||
u8 attr_set, u32 mib_val, u8 peer);
|
u8 attr_set, u32 mib_val, u8 peer);
|
||||||
extern int ufshcd_dme_get_attr(struct ufs_hba *hba, u32 attr_sel,
|
extern int ufshcd_dme_get_attr(struct ufs_hba *hba, u32 attr_sel,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user