DDI_INTR_GET_PENDING(9F) Kernel Functions for Drivers DDI_INTR_GET_PENDING(9F)

ddi_intr_get_pending - get pending bit for a given interrupt

#include <sys/types.h>
#include <sys/conf.h>
#include <sys/ddi.h>
#include <sys/sunddi.h>
int ddi_intr_get_pending(ddi_intr_handle_t h, int *pendingp);

illumos DDI specific (illumos DDI).

h

DDI interrupt handle

pendingp

Pointer to the pending capability returned for this handle

The ddi_intr_get_pending() function returns non-zero as the integer pointed to by the pendingp argument if a corresponding interrupt is pending. The corresponding interrupt handle h must already be allocated. The call succeeds if the device or host bridge supports the ability to read the interrupt pending bits of its interrupts. The driver should use ddi_intr_get_cap() function to see if the DDI_INTR_FLAG_PENDING flag is returned to indicate that interrupts support interrupt pending bits.

If the DDI_INTR_FLAG_PENDING capability is not supported, ddi_intr_get_pending() returns DDI_ENOTSUP and zero in pendingp.

The ddi_intr_get_pending() function returns:

DDI_SUCCESS

On success.

DDI_EINVAL

On encountering invalid input parameters.

DDI_FAILURE

On any implementation specific failure.

DDI_ENOTSUP

On device not supporting operation.

The ddi_intr_get_pending() function can be called from either user or kernel non-interrupt context.

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability Evolving

attributes(7), ddi_intr_block_disable(9F), ddi_intr_block_enable(9F), ddi_intr_clr_mask(9F), ddi_intr_disable(9F), ddi_intr_enable(9F), ddi_intr_set_mask(9F)

Writing Device Drivers

Any consumer of this interface should verify that the return value is not equal to DDI_SUCCESS. Incomplete checking for failure codes could result in inconsistent behavior among platforms.

April 7, 2005 OmniOS