Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

NetDev_ISR_Handler()

A device’s ISR_Handler() function is used to handle each device’s interrupts. See section 7-5-5 “NetDev_ISR_Handler()” for more details on how to handle each device’s interrupts.

Files

Every device driver’s net_dev.c

Prototype

 

 

Note that since every device driver’s ISR_Handler() function is accessed only by function pointer via the device driver’s API structure, it doesn’t need to be globally available and should therefore be declared as ‘static’.

Arguments

pif

Pointer to the interface to handle network device interrupts.

type

Device’s interrupt type:

NET_DEV_ISR_TYPE_UNKNOWN

NET_DEV_ISR_TYPE_RX

NET_DEV_ISR_TYPE_RX_RUNT

NET_DEV_ISR_TYPE_RX_OVERRUN

NET_DEV_ISR_TYPE_TX_RDY

NET_DEV_ISR_TYPE_TX_COMPLETE

NET_DEV_ISR_TYPE_TX_COLLISION_LATE

NET_DEV_ISR_TYPE_TX_COLLISION_EXCESS

NET_DEV_ISR_TYPE_JABBER

NET_DEV_ISR_TYPE_BABBLE

NET_DEV_ISR_TYPE_PHY

Returned Value

None.

Required Configuration

None.

Notes / Warnings

Each device’s NetDev_ISR_Handler() should never return early but check all applicable interrupt sources to see if they are active. This additional checking is necessary because multiple interrupt sources may be set within the interrupt response time and will reduce the number and overhead of handling interrupts.

  • No labels