[PATCH v2 3/7] ufs: Add UFSHCD_QUIRK_HIBERN_FASTAUTO

Bhupesh Sharma bhupesh.sharma at linaro.org
Tue Aug 22 06:04:34 CEST 2023



On 8/16/23 8:35 PM, Marek Vasut wrote:
> Add UFSHCD_QUIRK_HIBERN_FASTAUTO quirk for host controllers which supports
> auto-hibernate the capability but only FASTAUTO mode.
> 
> Ported from Linux kernel commit
> 2f11bbc2c7f3 ("scsi: ufs: core: Add UFSHCD_QUIRK_HIBERN_FASTAUTO")
> 
> Signed-off-by: Marek Vasut <marek.vasut+renesas at mailbox.org>
> ---
> Cc: Bhupesh Sharma <bhupesh.sharma at linaro.org>
> Cc: Faiz Abbas <faiz_abbas at ti.com>
> ---
> V2: Use BIT() macro
> ---
>   drivers/ufs/ufs.c | 9 +++++++--
>   drivers/ufs/ufs.h | 6 ++++++
>   2 files changed, 13 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/ufs/ufs.c b/drivers/ufs/ufs.c
> index da0550d98c6..261ae2843c2 100644
> --- a/drivers/ufs/ufs.c
> +++ b/drivers/ufs/ufs.c
> @@ -1631,8 +1631,13 @@ static int ufshcd_get_max_pwr_mode(struct ufs_hba *hba)
>   	if (hba->max_pwr_info.is_valid)
>   		return 0;
>   
> -	pwr_info->pwr_tx = FAST_MODE;
> -	pwr_info->pwr_rx = FAST_MODE;
> +	if (hba->quirks & UFSHCD_QUIRK_HIBERN_FASTAUTO) {
> +		pwr_info->pwr_tx = FASTAUTO_MODE;
> +		pwr_info->pwr_rx = FASTAUTO_MODE;
> +	} else {
> +		pwr_info->pwr_tx = FAST_MODE;
> +		pwr_info->pwr_rx = FAST_MODE;
> +	}
>   	pwr_info->hs_rate = PA_HS_MODE_B;
>   
>   	/* Get the connected lane count */
> diff --git a/drivers/ufs/ufs.h b/drivers/ufs/ufs.h
> index e5ddb6f64a9..638c10b5503 100644
> --- a/drivers/ufs/ufs.h
> +++ b/drivers/ufs/ufs.h
> @@ -725,6 +725,12 @@ struct ufs_hba {
>    */
>   #define UFSHCD_QUIRK_BROKEN_64BIT_ADDRESS		BIT(1)
>   
> +/*
> + * This quirk needs to be enabled if the host controller has
> + * auto-hibernate capability but it's FASTAUTO only.
> + */
> +#define UFSHCD_QUIRK_HIBERN_FASTAUTO			BIT(2)
> +
>   	/* Virtual memory reference */
>   	struct utp_transfer_cmd_desc *ucdl;
>   	struct utp_transfer_req_desc *utrdl;

Reviewed-by: Bhupesh Sharma <bhupesh.sharma at linaro.org>
Tested-by: Bhupesh Sharma <bhupesh.sharma at linaro.org>


More information about the U-Boot mailing list