Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

bus_bind_intr(9) [debian man page]

BUS_BIND_INTR(9)					   BSD Kernel Developer's Manual					  BUS_BIND_INTR(9)

NAME
BUS_BIND_INTR, bus_bind_intr -- bind an interrupt resource to a specific CPU SYNOPSIS
#include <sys/param.h> #include <sys/bus.h> int BUS_BIND_INTR(device_t dev, device_t child, struct resource *irq, int cpu); int bus_bind_intr(device_t dev, struct resource *irq, int cpu); DESCRIPTION
The BUS_BIND_INTR() method allows an interrupt resource to be pinned to a specific CPU. The interrupt resource must have an interrupt han- dler attached via BUS_SETUP_INTR(9). The cpu parameter corresponds to the ID of a valid CPU in the system. Binding an interrupt restricts the cpuset(2) of any associated interrupt threads to only include the specified CPU. It may also direct the low-level interrupt handling of the interrupt to the specified CPU as well, but this behavior is platform-dependent. If the value NOCPU is used for cpu, then the interrupt will be ``unbound'' which restores any associated interrupt threads back to the default cpuset. Non-sleepable locks such as mutexes should not be held across calls to these functions. The bus_bind_intr() function is a simple wrapper around BUS_BIND_INTR(). Note that currently there is no attempt made to arbitrate between multiple bind requests for the same interrupt from either the same device or multiple devices. There is also no arbitration between interrupt binding requests submitted by userland via cpuset(2) and BUS_BIND_INTR(). The most recent binding request is the one that will be in effect. SEE ALSO
BUS_SETUP_INTR(9), cpuset(2), device(9) HISTORY
The BUS_BIND_INTR() method and bus_bind_intr() functions first appeared in FreeBSD 7.2. BSD
October 14, 2009 BSD

Check Out this Related Man Page

BUS_CONFIG_INTR(9)					   BSD Kernel Developer's Manual					BUS_CONFIG_INTR(9)

NAME
BUS_CONFIG_INTR -- configure interrupt polarity and trigger mode SYNOPSIS
#include <sys/param.h> #include <sys/bus.h> int BUS_CONFIG_INTR(device_t dev, int irq, enum intr_trigger trig, enum intr_polarity pol); DESCRIPTION
The BUS_CONFIG_INTR() method allows bus or device drivers to provide interrupt polarity and trigger mode to parent busses. This typically bubbles all the way up to the root bus (e.g. nexus) where the necessary actions are taken to actually program the hardware. Since the BUS_CONFIG_INTR() method takes an interrupt number, it is assumed but not necessarily required that it is called prior to BUS_SETUP_INTR(9). The trig argument can be one of: INTR_TRIGGER_CONFORM The interrupt trigger mode is standard for the bus to which the device is attached. INTR_TRIGGER_EDGE The interrupt is edge triggered. This means that the interrupt is raised by the rising edge of the signal on the interrupt line. The signal typically reverts to the original state so as to cause a spike. INTR_TRIGGER_LEVEL The interrupt is level triggered. This means that the interrupt is raised when the signal on the interrupt line tran- sitions and remains unchanged after that until the interrupt has been serviced, after which the signal transitions back. The pol argument can be any one of: INTR_POLARITY_CONFORM The interrupt polarity is standard for the bus to which the device is attached. INTR_POLARITY_HIGH The interrupt is activated by a high voltage on the interrupt line. INTR_POLARITY_LOW The interrupt is activated by a low voltage on the interrupt line. RETURN VALUES
Zero is returned on success, otherwise an appropriate error is returned. SEE ALSO
BUS_SETUP_INTR(9), BUS_TEARDOWN_INTR(9), device(9), driver(9) HISTORY
The BUS_CONFIG_INTR() method first appeared in FreeBSD 5.2. AUTHORS
This manual page was written by Marcel Moolenaar <marcel@xcllnt.net>. BSD
January 6, 2005 BSD
Man Page