Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:arch\x86\kernel\apic\io_apic.c Create Date:2022-07-28 08:29:48
Last Modify:2020-03-16 21:24:45 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:Need special handling for ISA IRQs because there may be multiple IOAPIC pins* sharing the same ISA IRQ number and irqdomain only supports 1:1 mapping* between IOAPIC pin and IRQ number. A typical IOAPIC has 24 pins, pin 0-15 are

Proto:static int alloc_isa_irq_from_domain(struct irq_domain *domain, int irq, int ioapic, int pin, struct irq_alloc_info *info)

Type:int

Parameter:

TypeParameterName
struct irq_domain *domain
intirq
intioapic
intpin
struct irq_alloc_info *info
1006  irq_data = irq_get_irq_data(irq)
1007  node = ioapic_alloc_attr_node(info)
1014  If irq_data && parent_data Then
1015  If Not mp_check_pin_attr(irq, info) Then Return -EBUSY
1017  If The common case is 1:1 IRQ<->pin mappings. Sometimes there are* shared ISA-space IRQs, so we have to support them. We are super* fast in the common case, and fast for shared ISA-space IRQs. Then Return -ENOMEM
1020  Else
1021  flags |= X86_IRQ_ALLOC_LEGACY
1022  irq = __irq_domain_alloc_irqs(domain, irq, 1, node, info, true, NULL)
1024  If irq >= 0 Then
1026  data = chip_data
1027  isa_irq = true
1031  Return irq
Caller
NameDescribe
mp_map_pin_to_irq
mp_alloc_timer_irq