// Deliver function (ex-DSR) handles the ethernet [logical] processing static void fec_eth_deliver(struct eth_drv_sc * sc) { fec_eth_int(sc); #ifdef _FEC_USE_INTS // Allow interrupts to happen again cyg_drv_interrupt_acknowledge(FEC_ETH_INT); cyg_drv_interrupt_unmask(FEC_ETH_INT); #endif }
// Deliver function (ex-DSR) handles the ethernet [logical] processing static void fec_eth_deliver(struct eth_drv_sc * sc) { fec_eth_int(sc); #ifdef CYGPKG_NET // Clearing the event register acknowledges FCC2 interrupt ... // cyg_drv_interrupt_acknowledge(FEC_ETH_INT); cyg_drv_interrupt_unmask(FEC_ETH_INT); #endif }
void fec_fake_int(cyg_addrword_t param) { struct eth_drv_sc *sc = (struct eth_drv_sc *) param; int int_state; while (true) { cyg_thread_delay(1); // 10ms HAL_DISABLE_INTERRUPTS(int_state); fec_eth_int(sc); HAL_RESTORE_INTERRUPTS(int_state); } }