scsi: ufs: Adjust logic in common ADAPT helper
authorBjorn Andersson <bjorn.andersson@linaro.org>
Sat, 21 Nov 2020 04:48:10 +0000 (20:48 -0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 24 Nov 2020 03:07:54 +0000 (22:07 -0500)
The introduction of ufshcd_dme_configure_adapt() refactored out duplication
from the Mediatek and Qualcomm drivers.

Both these implementations had the logic of:

    gear_tx == UFS_HS_G4 => PA_INITIAL_ADAPT
    gear_tx != UFS_HS_G4 => PA_NO_ADAPT

but now both implementations pass PA_INITIAL_ADAPT as "adapt_val" and if
gear_tx is not UFS_HS_G4 that is replaced with PA_INITIAL_ADAPT. In other
words, it's PA_INITIAL_ADAPT in both above cases.

The result is that e.g. Qualcomm SM8150 has no longer functional UFS, so
adjust the logic to match the previous implementation.

Link: https://lore.kernel.org/r/20201121044810.507288-1-bjorn.andersson@linaro.org
Fixes: fc85a74e28fe ("scsi: ufs: Refactor ADAPT configuration function")
Reviewed-by: Can Guo <cang@codeaurora.org>
Reviewed-by: Stanley Chu <stanley.chu@mediatek.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/ufs/ufshcd.c

index 0e5473d..92d433d 100644 (file)
@@ -3602,7 +3602,7 @@ int ufshcd_dme_configure_adapt(struct ufs_hba *hba,
        int ret;
 
        if (agreed_gear != UFS_HS_G4)
-               adapt_val = PA_INITIAL_ADAPT;
+               adapt_val = PA_NO_ADAPT;
 
        ret = ufshcd_dme_set(hba,
                             UIC_ARG_MIB(PA_TXHSADAPTTYPE),