scsi: ufs-qcom: remove unnecessary quirks for QUniPro

QUniPro doesn't require some of the quirks required for legacy UniPro
controller hence this change disables those quirks.

Change-Id: Ic97ec38d4a9ee7a51d8f336bcbc8fd9533db2f8d
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
This commit is contained in:
Subhash Jadavani 2015-01-02 19:12:44 -08:00 committed by David Keitel
parent a7578e830e
commit bd0b5b8919

View file

@ -835,6 +835,7 @@ static void ufs_qcom_advertise_quirks(struct ufs_hba *hba)
{
u8 major;
u16 minor, step;
struct ufs_qcom_host *host = hba->priv;
ufs_qcom_get_controller_revision(hba, &major, &minor, &step);
@ -847,6 +848,16 @@ static void ufs_qcom_advertise_quirks(struct ufs_hba *hba)
if ((minor == 0x001) && (step == 0x0001))
hba->quirks |= UFSHCD_QUIRK_BROKEN_INTR_AGGR;
}
if (major >= 0x2) {
hba->quirks |= UFSHCD_QUIRK_BROKEN_LCC;
if (!ufs_qcom_cap_qunipro(host))
/* Legacy UniPro mode still need following quirks */
hba->quirks |= (UFSHCD_QUIRK_DELAY_BEFORE_DME_CMDS
| UFSHCD_QUIRK_DME_PEER_ACCESS_AUTO_MODE
| UFSHCD_QUIRK_BROKEN_PA_RXHSUNTERMCAP);
}
}
static void ufs_qcom_set_caps(struct ufs_hba *hba)