src/dev/arm/ufs_device.cc
/**
 * set interrupt and sort out the doorbell register.
 */
set interrupt and sort out the doorbell register.
set interrupt and sort out the doorbell register .
void
UFSHostDevice::generateInterrupt()
{
    countInt++;
    UFSHCIMem.TRUTRLDBR &= transferTrack;
    pendingDoorbells = 0;
    DPRINTF(UFSHostDevice, "Clear doorbell %X\n", UFSHCIMem.TRUTRLDBR);
    checkDrain();
    gic->sendInt(intNum);
    DPRINTF(UFSHostDevice, "Send interrupt @ transaction: 0x%8x!\n",
            countInt);
}
void UFSHostDevice :: generateInterrupt ( ) { countInt ++ ; UFSHCIMem . TRUTRLDBR &= transferTrack ; pendingDoorbells = 0 ; DPRINTF ( UFSHostDevice , " \n " , UFSHCIMem . TRUTRLDBR ) ; checkDrain ( ) ; gic -> sendInt ( intNum ) ; DPRINTF ( UFSHostDevice , " \n " , countInt ) ; }
set interrupt and sort out the doorbell register.
set interrupt and sort out the doorbell register .
/**just to keep track of the transactions*/ /**step5 clear doorbell*/ /**step6 raise interrupt*/