Kernel Functions for Drivers ddi_intr_get_nintrs(9F)
NAME
ddi_intr_get_nintrs, ddi_intr_get_navail - return number of
interrupts supported or available for a given interrupt typeSYNOPSIS
#include
#include
#include
#include
int ddi_intr_get_nintrs(dev_info_t *dip, int type, int *nintrsp);
int ddi_intr_get_navail(dev_info_t *dip, int type, int *navailp);
INTERFACE LEVEL
Solaris DDI specific (Solaris DDI).PARAMETERS
ddi_intr_get_nintrs()
dip Pointer to dev_info structure
type Interrupt type nintrsp Pointer to number of interrupts of the given type that are supported by the systemddi_intr_get_navail()
dip Pointer to dev_info structure
type Interrupt type navailp Pointer to number of interrupts of the given type that are currently available from the systemDESCRIPTION
The ddi_intr_get_nintrs() function returns the number of
interrupts of the given type supported by a particularhardware device. On a successful return, the number of sup-
ported interrupts is returned as an integer pointed to by the nintrsp argument.SunOS 5.11 Last change: 13 November 2006 1
Kernel Functions for Drivers ddi_intr_get_nintrs(9F)
If the hardware device is not found to support any inter-
rupts of the given type, the DDI_INTR_NOTFOUND failure is
returned rather than a zero in nintrsp.The ddi_intr_get_navail() function returns the number of
interrupts of a given type that is available to a particular hardware device. On a successful return, the number of available interrupts is returned as an integer pointed to by navailp. The hardware device may support more than one interrupt and can request that all interrupts be allocated. The hostsoftware can then use policy-based decisions to determine
how many interrupts are made available to the device. Based on the determination, a value is returned that should beused to allocate interrupts with the ddi_int_alloc() func-
tion.The ddi_intr_get_supported_types(9F) function returns a list
of valid supported types for the given hardware device. It must be called prior to calling either theddi_intr_get_nintrs() or ddi_intr_get_navail().
RETURN VALUES
The ddi_intr_get_nintrs() and ddi_intr_get_navail() func-
tions return:DDI_SUCCESS On success.
DDI_EINVAL On encountering invalid input parame-
ters.DDI_INTR_NOTFOUND On not finding any interrupts for the
given interrupt type.DDI_FAILURE On any implementation specific failure.
CONTEXT
The ddi_intr_get_nintrs() and ddi_intr_get_navail() func-
tions can be called from either user or kernel non-interrupt
context.ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:SunOS 5.11 Last change: 13 November 2006 2
Kernel Functions for Drivers ddi_intr_get_nintrs(9F)
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
SEE ALSO
attributes(5), ddi_intr_alloc(9F), ddi_intr_enable(9F),
ddi_intr_get_supported_types(9F)
Writing Device Drivers NOTESThe ddi_intr_get_nintrs() and ddi_intr_get_navail() func-
tions can be called at any time, even if the driver hasadded an interrupt handler for a given interrupt specifica-
tion. On x86 platforms, the number of interrupts returned by theddi_intr_get_navail() function might need to be further
reduced by the number of interrupts available for each interrupt priority on the system. In that case, drivers should use different priorities for some of the interrupts. Consumers of these interfaces should verify that the returnvalue is not equal to DDI_SUCCESS. Incomplete checking for
failure codes could result in inconsistent behavior among platforms.SunOS 5.11 Last change: 13 November 2006 3