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:24
Last Modify:2020-03-16 21:24:45 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name: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.

Proto:static int __add_pin_to_irq_node(struct mp_chip_data *data, int node, int apic, int pin)

Type:int

Parameter:

TypeParameterName
struct mp_chip_data *data
intnode
intapic
intpin
380  for_each_irq_pin(entry, irq_2_pin)
381  If apic == apic && pin == pin Then Return 0
384  entry = kzalloc_node - allocate zeroed memory from a particular memory node.*@size: how many bytes of memory are required.*@flags: the type of memory to allocate (see kmalloc).*@node: memory node from which to allocate
385  If Not entry Then
386  pr_err("can not alloc irq_pin_list (%d,%d,%d)\n", node, apic, pin)
388  Return -ENOMEM
390  apic = apic
391  pin = pin
392  list_add_tail - add a new entry*@new: new entry to be added*@head: list head to add it before* Insert a new entry before the specified head.* This is useful for implementing queues.
394  Return 0
Caller
NameDescribe
add_pin_to_irq_node
alloc_isa_irq_from_domainNeed 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