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
illumos DDI specific (illumos 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
supports the masking operation. The
ddi_intr_get_cap() function
returns the
RO flag
DDI_INTR_FLAG_MASKABLE if the device or host
bridge supports 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(7) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Committed |
+--------------------+-----------------+
SEE ALSO
attributes(7),
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 DriversNOTES
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.
April 5, 2006 DDI_INTR_SET_MASK(9F)