void qifaSet(QIFA *qifa, uint32 val) { if (qifa == NULL || qifa->flag != QIFA_FLAG) { return; } QIFA_VAL qifa_val; qifa_val.qifa = qifa; qifa_val.val = !!val; while (!ringBufPush(&qifaringbuf, &qifa_val)); #if QIFA_USE_MAILBOX == 1 uint32 mbaddr = modulelist[MODULE_ID_MB].baseAddr; MBsendMessage(mbaddr, 0, 0x55555555); #endif }
/* ** Generate Mailbox interrupt to CM3 by writing a dummy vlaue to mailbox reg */ void generateMailboxInt(unsigned int baseAdd) { /* Write to Mailbox register */ MBsendMessage(baseAdd, MAILBOX_QUEUE_0, 0x12345678u); }