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
f6b1ab83f6
commit
399deda7b5
@@ -7186,6 +7186,11 @@ static irqreturn_t ufshcd_intr(int irq, void *__hba)
|
||||
if (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);
|
||||
}
|
||||
|
||||
|
||||
@@ -706,6 +706,9 @@ enum ufshcd_quirks {
|
||||
enum ufshcd_android_quirks {
|
||||
/* Set IID to one. */
|
||||
UFSHCD_ANDROID_QUIRK_SET_IID_TO_ONE = 1 << 0,
|
||||
|
||||
/* Do not read IS after H8 enter */
|
||||
UFSHCD_ANDROID_QUIRK_NO_IS_READ_ON_H8 = 1 << 1,
|
||||
};
|
||||
|
||||
enum ufshcd_caps {
|
||||
|
||||
Reference in New Issue
Block a user