man pages section 9: DDI and DKI Kernel Functions

Exit Print View

Updated: July 2014
 
 

ddi_intr_get_pending(9F)

Name

ddi_intr_get_pending - get pending bit for a given interrupt

Synopsis

#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);

Interface Level

Solaris DDI specific (Solaris DDI).

Parameters

h

DDI interrupt handle

pendingp

Pointer to the pending capability returned for this handle

Description

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 enabled. 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.

Return Values

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.

Context

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

Attributes

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

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed

See Also

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

Writing Device Drivers for Oracle Solaris 11.2

Notes

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.