ddi_intr_set_mask(9F) Kernel Functions for Drivers ddi_intr_set_mask(9F)NAME
ddi_intr_set_mask, ddi_intr_clr_mask - set or clear mask for a given
interrupt
SYNOPSIS
#include <sys/types.h>
#include <sys/conf.h>
#include <sys/ddi.h>
#include <sys/sunddi.h>
int ddi_intr_set_mask(ddi_intr_handle_t h);
int ddi_intr_clr_mask(ddi_intr_handle_t h);
INTERFACE LEVEL
Solaris DDI specific (Solaris DDI).
PARAMETERS
h DDI interrupt handle
DESCRIPTION
The ddi_intr_set_mask() function masks the given interrupt pointed to
by the device's interrupt handle h if the device or host bridge sup‐
ports the masking operation. The ddi_intr_get_cap() function returns
the RO flag DDI_INTR_FLAG_MASKABLE if the device or host bridge sup‐
ports interrupt mask bits for the given interrupt type. In flight
interrupts can still be taken and delivered to the driver.
The ddi_intr_clr_mask() function unmasks the given interrupt pointed by
the device's interrupt handle h if the device or host bridge supports
the masking operation.
The ddi_intr_set_mask() and ddi_intr_clr_mask() functions should be
called only if an interrupt is enabled. Otherwise the framework will
return DDI_EINVAL to such calls.
The mask cannot be cleared directly if the OS implementation has also
temporarily masked the interrupt. A call to ddi_intr_clr_mask() must be
preceded by a call to ddi_intr_set_mask(). It is not necessary to call
ddi_intr_clr_mask() when adding and enabling the interrupt.
RETURN VALUES
The ddi_intr_set_mask() and ddi_intr_clr_mask() functions return:
DDI_SUCCESS On success.
DDI_EINVAL On encountering invalid input parameters or
when an interrupt is not enabled.
DDI_FAILURE On any implementation specific failure.
DDI_ENOTSUP On device not supporting operation.
CONTEXT
The ddi_intr_set_mask() and ddi_intr_clr_mask() functions can be called
from any context.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
┌─────────────────────────────┬─────────────────────────────┐
│ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
├─────────────────────────────┼─────────────────────────────┤
│Interface Stability │Evolving │
└─────────────────────────────┴─────────────────────────────┘
SEE ALSOattributes(5), ddi_intr_block_disable(9F), ddi_intr_block_enable(9F),
ddi_intr_disable(9F), ddi_intr_enable(9F), ddi_intr_get_pending(9F)
Writing Device Drivers
NOTES
Consumers of these interfaces should verify that the return value is
not equal to DDI_SUCCESS. Incomplete checking for failure codes could
result in inconsistent behavior among platforms.
SunOS 5.10 05 Apri 2006 ddi_intr_set_mask(9F)