ddi_intr_get_cap(9f) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

ddi_intr_get_cap(9f)

ddi_intr_get_cap(9F)           Kernel Functions           ddi_intr_get_cap(9F)



NAME
       ddi_intr_get_cap,  ddi_intr_set_cap - get or set interrupt capabilities
       for a given interrupt type

SYNOPSIS
       #include <sys/types.h>
       #include <sys/conf.h>
       #include <sys/ddi.h>
       #include <sys/sunddi.h>

       int ddi_intr_get_cap(ddi_intr_handle_t h, int *flagsp);


       int ddi_intr_set_cap(ddi_intr_handle_t h, int flags);

INTERFACE LEVEL
       Solaris DDI specific (Solaris DDI).

PARAMETERS
       ddi_intr_get_cap()

       h         DDI interrupt handle


       flagsp    Pointer to the capability flags returned for this handle



       ddi_intr_set_cap()

       h        DDI interrupt handle


       flags    Contains the capability flag to be set


DESCRIPTION
       The ddi_intr_get_cap() function returns the interrupt capability  flags
       for  the  interrupt  handle  h. Upon a successful return, the flags are
       returned in the integer pointed to by the flagsp argument.


       These flags are typically combinations of the following:

       DDI_INTR_FLAG_EDGE        For discrete interrupts,  the  host  supports
                                 edge  type  of  trigger.  This  flag  is  not
                                 returned     for     DDI_INTR_TYPE_MSI     or
                                 DDI_INTR_TYPE_MSIX interrupt types. This is a
                                 read-write (RW) flag.


       DDI_INTR_FLAG_LEVEL       For discrete  interrupts  the  host  supports
                                 level,  edge, or both types of triggers. This
                                 flag is not returned for DDI_INTR_TYPE_MSI or
                                 DDI_INTR_TYPE_MSIX interrupt types.


       DDI_INTR_FLAG_MASKABLE    The  interrupt  can  be  masked either by the
                                 device or by the host bridge,  or  optionally
                                 by the host. This is a read-only (RO) flag.


       DDI_INTR_FLAG_PENDING     The  interrupt  supports an interrupt pending
                                 bit. This is a read-only (RO) flag.


       DDI_INTR_FLAG_BLOCK       All interrupts of  the  given  type  must  be
                                 block-enabled  and are not individually mask‐
                                 able. This is a read-only (RO) flag.



       The ddi_intr_set_cap() function allows a driver to specify the capabil‐
       ity  flags  for  the  interrupt  handle h. Only DDI_INTR_FLAG_LEVEL and
       DDI_INTR_FLAG_EDGE flags can be set.  Some  devices  can  support  both
       level  and  edge  capability  and  either  can  be  set  by  using  the
       ddi_intr_set_cap() function. Setting the capability flags is device and
       platform dependent.


       The  ddi_intr_set_cap()  function  can  be  called after interrupts are
       allocated and prior to adding the  interrupt  handler.  For  all  other
       times it returns failure.

RETURN VALUES
       The ddi_intr_get_cap() and ddi_intr_set_cap() functions return:

       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_cap()  and ddi_intr_set_cap() functions can be called
       from either user or kernel non-interrupt context.

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


       tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE  TYPEAT‐
       TRIBUTE VALUE _ Interface StabilityCommitted


SEE ALSO
       attributes(7),        ddi_intr_set_mask(9F),        ddi_intr_alloc(9F),
       ddi_intr_block_enable(9F), ddi_intr_get_nintrs(9F),  ddi_intr_get_pend‐
       ing(9F), ddi_intr_get_supported_types(9F)


       Writing Device Drivers in Oracle Solaris 11.4

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.



Oracle Solaris 11.4               20 Apr 2005             ddi_intr_get_cap(9F)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3