ANDROID: scsi: ufs: add UFSHCD_ANDROID_QUIRK_NO_IS_READ_ON_H8
Add UFSHCD_ANDROID_QUIRK_NO_IS_READ_ON_H8 for host controllers which break when the Interrupt Status register is re-read after entering hibern8. In such cases after hibern8 entry is reported, no further register access will occur in the interrupt handler. Bug: 350576949 Change-Id: I8e810c96203a97f030216aae39253a2e102c7ebf Signed-off-by: VAMSHI GAJJELA <vamshigajjela@google.com>
This commit is contained in:
committed by
Konstantin Vyshetsky
parent
279274c126
commit
cb35713803
@@ -7006,6 +7006,11 @@ static irqreturn_t ufshcd_intr(int irq, void *__hba)
|
|||||||
if (enabled_intr_status)
|
if (enabled_intr_status)
|
||||||
retval |= ufshcd_sl_intr(hba, enabled_intr_status);
|
retval |= ufshcd_sl_intr(hba, enabled_intr_status);
|
||||||
|
|
||||||
|
if (hba->android_quirks &
|
||||||
|
UFSHCD_ANDROID_QUIRK_NO_IS_READ_ON_H8 &&
|
||||||
|
intr_status & UIC_HIBERNATE_ENTER)
|
||||||
|
break;
|
||||||
|
|
||||||
intr_status = ufshcd_readl(hba, REG_INTERRUPT_STATUS);
|
intr_status = ufshcd_readl(hba, REG_INTERRUPT_STATUS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -704,6 +704,9 @@ enum ufshcd_android_quirks {
|
|||||||
|
|
||||||
/* Set IID to one. */
|
/* Set IID to one. */
|
||||||
UFSHCD_ANDROID_QUIRK_SET_IID_TO_ONE = 1 << 30,
|
UFSHCD_ANDROID_QUIRK_SET_IID_TO_ONE = 1 << 30,
|
||||||
|
|
||||||
|
/* Do not read IS after H8 enter */
|
||||||
|
UFSHCD_ANDROID_QUIRK_NO_IS_READ_ON_H8 = 1 << 31,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum ufshcd_caps {
|
enum ufshcd_caps {
|
||||||
|
Reference in New Issue
Block a user