diff options
Diffstat (limited to 'src/dev/arm/ufs_device.cc')
-rw-r--r-- | src/dev/arm/ufs_device.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/dev/arm/ufs_device.cc b/src/dev/arm/ufs_device.cc index 61b125ef5..fbc3bd394 100644 --- a/src/dev/arm/ufs_device.cc +++ b/src/dev/arm/ufs_device.cc @@ -1822,6 +1822,8 @@ UFSHostDevice::generateInterrupt() pendingDoorbells = 0; DPRINTF(UFSHostDevice, "Clear doorbell %X\n", UFSHCIMem.TRUTRLDBR); + checkDrain(); + /**step6 raise interrupt*/ gic->sendInt(intNum); DPRINTF(UFSHostDevice, "Send interrupt @ transaction: 0x%8x!\n", @@ -1838,6 +1840,8 @@ UFSHostDevice::clearInterrupt() gic->clearInt(intNum); DPRINTF(UFSHostDevice, "Clear interrupt: 0x%8x!\n", countInt); + checkDrain(); + if (!(UFSHCIMem.TRUTRLDBR)) { idlePhaseStart = curTick(); } |