Scroll to navigation

STRUCT IRQ_DESC(9) Structures STRUCT IRQ_DESC(9)

NAME

struct_irq_desc - interrupt descriptor

SYNOPSIS

struct irq_desc {

unsigned int irq;
struct timer_rand_state * timer_rand_state;
unsigned int * kstat_irqs; #ifdef CONFIG_INTR_REMAP
struct irq_2_iommu * irq_2_iommu; #endif
irq_flow_handler_t handle_irq;
struct irq_chip * chip;
struct msi_desc * msi_desc;
void * handler_data;
void * chip_data;
struct irqaction * action;
unsigned int status;
unsigned int depth;
unsigned int wake_depth;
unsigned int irq_count;
unsigned long last_unhandled;
unsigned int irqs_unhandled;
spinlock_t lock; #ifdef CONFIG_SMP
cpumask_var_t affinity;
struct irq_affinity_notify * affinity_notify;
unsigned int node; #ifdef CONFIG_GENERIC_PENDING_IRQ
cpumask_var_t pending_mask; #endif #endif
atomic_t threads_active;
wait_queue_head_t wait_for_threads; #ifdef CONFIG_PROC_FS
struct proc_dir_entry * dir; #endif
const char * name; };

MEMBERS

irq

interrupt number for this descriptor

timer_rand_state

pointer to timer rand state struct

kstat_irqs

irq stats per cpu

irq_2_iommu

iommu with this irq

handle_irq

highlevel irq-events handler [if NULL, __do_IRQ]

chip

low level interrupt hardware access

msi_desc

MSI descriptor

handler_data

per-IRQ data for the irq_chip methods

chip_data

platform-specific per-chip private data for the chip methods, to allow shared chip implementations

action

the irq action chain

status

status information

depth

disable-depth, for nested irq_disable calls

wake_depth

enable depth, for multiple set_irq_wake callers

irq_count

stats field to detect stalled irqs

last_unhandled

aging timer for unhandled count

irqs_unhandled

stats field for spurious unhandled interrupts

lock

locking for SMP

affinity

IRQ affinity on SMP

affinity_notify

context for notification of affinity changes

node

node index useful for balancing

pending_mask

pending rebalanced interrupts

threads_active

number of irqaction threads currently running

wait_for_threads

wait queue for sync_irq to wait for threaded handlers

dir

/proc/irq/ procfs entry

name

flow handler name for /proc/interrupts output

AUTHORS

Thomas Gleixner <tglx@linutronix.de>

Author.

Ingo Molnar <mingo@elte.hu>

Author.

COPYRIGHT

April 2023 Kernel Hackers Manual 2.6.