src/dev/arm/ufs_device.cc
/**
 * Read done handling function, is only initiated at the end of a transaction
 */
Read done handling function, is only initiated at the end of a transaction
Read done handling function is only initiated at the end of a transaction
void
UFSHostDevice::readDone()
{
    DPRINTF(UFSHostDevice, "Read done start\n");
    --readPendingNum;
    if (garbage.size() > 0) {
        delete garbage.front();
        garbage.pop_front();
        }
    if (!(UFSHCIMem.ORInterruptStatus & 0x01)) {
        UFSHCIMem.ORInterruptStatus |= UTPTransferREQCOMPL;
        generateInterrupt();
    }
    if (!readDoneEvent.empty()) {
        readDoneEvent.pop_front();
    }
}
void UFSHostDevice :: readDone ( ) { DPRINTF ( UFSHostDevice , " \n " ) ; -- readPendingNum ; if ( garbage . size ( ) > 0 ) { delete garbage . front ( ) ; garbage . pop_front ( ) ; } if ( ! ( UFSHCIMem . ORInterruptStatus & 0x01 ) ) { UFSHCIMem . ORInterruptStatus |= UTPTransferREQCOMPL ; generateInterrupt ( ) ; } if ( ! readDoneEvent . empty ( ) ) { readDoneEvent . pop_front ( ) ; } }
Read done handling function, is only initiated at the end of a transaction
Read done handling function is only initiated at the end of a transaction
/**Garbage collection; sort out the allocated UTP descriptor*/ /**done, generate interrupt if we havent got one already*/