ddi_intr_set_nreq man page on OpenIndiana

Man page or keyword search:  
man Server   20441 pages
apropos Keyword Search (all sections)
Output format
OpenIndiana logo
[printable version]

ddi_intr_set_nreq(9F)	 Kernel Functions for Drivers	 ddi_intr_set_nreq(9F)

NAME
       ddi_intr_set_nreq - set the number of interrupts requested for a device
       driver instance

SYNOPSIS
       #include <sys/ddi_intr.h>

       int ddi_intr_set_nreq(dev_info_t *dip, int nreq);

INTERFACE LEVEL
       Solaris DDI specific (Solaris DDI).

PARAMETERS
       dip     Pointer to the dev_info structure.

       nreq    Number of interrupts requested.

DESCRIPTION
       The ddi_intr_set_nreq()	function  changes  the	number	of  interrupts
       requested by a device driver instance.

       The nreq parameter is the total number of interrupt resources that this
       instance of the device driver would like to have	 available.  The  nreq
       parameter  includes  any	 interrupt  resources already allocated by the
       driver. For example, if the driver instance already has two MSI-X  vec‐
       tors  and  it wants two more, it should call this function with an nreq
       parameter set to four.

       The nreq parameter can be any value between one and the maximum	number
       of  interrupts  supported by the device hardware, as reported by a call
       to the ddi_intr_get_nintrs(9F) function. The driver receives a callback
       notifying  it  in  cases	 when it must release any previously allocated
       interrupts, or when it is allowed to  allocate  more  interrupts	 as  a
       result of its new nreq parameter.

       The  ddi_intr_set_nreq()function	 is  not  supported unless a driver is
       already consuming interrupts, and if it has a registered callback  han‐
       dler  that  can	process actions related to changes in interrupt avail‐
       ability. See ddi_cb_register(9F) for an explanation on  how  to	enable
       this functionality.

RETURN VALUES
       The ddi_intr_set_nreq() function returns:

       DDI_SUCCESS    on success

       DDI_EINVAL     The  operation  is invalid because the nreq parameter is
		      not a legal value

       DDI_ENOTSUP    The operation is not supported. The driver must  have  a
		      registered  callback, and the system must have interrupt
		      pools implemented.

       DDI_FAILURE    Implementation specific failure

CONTEXT
       These functions can be called from kernel, non-interrupt context.

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

       ┌─────────────────────────────┬─────────────────────────────┐
       │      ATTRIBUTE TYPE	     │	    ATTRIBUTE VALUE	   │
       ├─────────────────────────────┼─────────────────────────────┤
       │Interface Stability	     │Private			   │
       ├─────────────────────────────┼─────────────────────────────┤
       │MT-Level		     │MT-Safe			   │
       └─────────────────────────────┴─────────────────────────────┘

SEE ALSO
       attributes(5),  attach(9E),  ddi_cb_register(9F),   ddi_intr_alloc(9F),
       ddi_intr_get_nintrs(9F)

NOTES
       The  Interrupt  Resource Management feature is limited to device driver
       instances   that	  are	using	MSI-X	interrupts   (interrupt	  type
       DDI_INTR_TYPE_MSIX).  Attempts  to use this function for any other type
       of interrupts fails with DDI_ENOTSUP.

       The total number of interrupts requested by  the	 driver	 is  initially
       defined	by  the count parameter provided by the driver's first call to
       the  ddi_intr_alloc(9F)	function,  specifically	 during	  the	driver
       instance's attach(9E) routine. The ddi_intr_set_nreq() function is only
       used if the driver instance experiences changes in  its	I/O  load.  In
       response	 to  increased	I/O load, the driver may want to request addi‐
       tional interrupt resources. In response to  diminished  I/O  load.  the
       driver  may  volunteer  to return extra interrupt resources back to the
       system.

SunOS 5.11			  5 Jan 2009		 ddi_intr_set_nreq(9F)
[top]

List of man pages available for OpenIndiana

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net