Index Index for
Section 9
Index Alphabetical
listing for V
Bottom of page Bottom of
page

vba_post_irq(9r)

NAME

vba_post_irq - VMEbus: Asserts an interrupt

SYNOPSIS

unsigned int vba_post_irq( struct controller *ctlr, unsigned int irq, unsigned int status_ID, int (*iack_isr) () );

ARGUMENTS

ctlr Specifies a pointer to the VMEbus device's controller data structure. irq Specifies the VMEbus interrupt request line (1 through 7) on which you want to post the interrupt. At any point in time, there must be only one outstanding posted interrupt for each interrupt request line. status_ID Specifies the VMEbus vector to present on acknowledgement of an interrupt request. iack_isr Specifies the interrupt service routine to be called on successful presentation of the interrupt. The common interrupt service routine calls this interrupt handler on completion of the interrupt acknowledgement cycle.

DESCRIPTION

The vba_post_irq() routine asserts an interrupt on the interrupt request line specified in irq. There is a maximum of one posted, unacknowledged interrupt per interrupt request line. If you attempt to post an interrupt on an interrupt request line on which there is a pending interrupt request, vba_post_irq() returns an error. When the interrupt is acknowledged and an interrupt callback service routine is provided through the iack_isr argument, the specified interrupt callback routine is invoked from the VMEbus adapter's common interrupt acknowledge handler. The user-specified interrupt callback routine is passed two arguments. The first argument is struct controller * ctlr, the controller data structure pointer. The second argument is unsigned int irq, the interrupt request (IRQ) corresponding to the IRQ being acknowledged. The user-specified interrupt callback routine executes as an interrupt service routine with the same constraints on execution. After the interrupt request has been acknowledged and the user-specified callback service routine (if provided) is invoked, the interrupt request line is made available for another call to the vba_post_irq() routine.

RETURN VALUES

Upon successful completion, vba_post_irq() returns the value 1. Otherwise, it returns the value zero (0). If the bus adapter is not capable of posting interrupts, vba_post_irq() returns a -1.

SEE ALSO

Kernel Routines: vba_clear_irq(9r)

Index Index for
Section 9
Index Alphabetical
listing for V
Top of page Top of
page