/linux-3.4.99/kernel/irq/ |
D | irqdomain.c | 69 irq_hw_number_t hwirq) in irq_domain_legacy_revmap() argument 74 if (WARN_ON(hwirq < first_hwirq || hwirq >= first_hwirq + size)) in irq_domain_legacy_revmap() 76 return hwirq - first_hwirq + domain->revmap_data.legacy.first_irq; in irq_domain_legacy_revmap() 129 irq_data->hwirq = first_hwirq + i; in irq_domain_add_legacy() 136 int hwirq = first_hwirq + i; in irq_domain_add_legacy() local 146 ops->map(domain, irq, hwirq); in irq_domain_add_legacy() 268 irq_hw_number_t hwirq) in irq_setup_virq() argument 272 irq_data->hwirq = hwirq; in irq_setup_virq() 274 if (domain->ops->map(domain, virq, hwirq)) { in irq_setup_virq() 277 irq_data->hwirq = 0; in irq_setup_virq() [all …]
|
/linux-3.4.99/arch/powerpc/sysdev/ |
D | mpic_u3msi.c | 67 static u64 find_ht_magic_addr(struct pci_dev *pdev, unsigned int hwirq) in find_ht_magic_addr() argument 81 static u64 find_u4_magic_addr(struct pci_dev *pdev, unsigned int hwirq) in find_u4_magic_addr() argument 103 return 0xf8004000 | (hwirq << 4); in find_u4_magic_addr() 147 int hwirq; in u3msi_setup_msi_irqs() local 150 hwirq = msi_bitmap_alloc_hwirqs(&msi_mpic->msi_bitmap, 1); in u3msi_setup_msi_irqs() 151 if (hwirq < 0) { in u3msi_setup_msi_irqs() 153 return hwirq; in u3msi_setup_msi_irqs() 156 addr = find_ht_magic_addr(pdev, hwirq); in u3msi_setup_msi_irqs() 158 addr = find_u4_magic_addr(pdev, hwirq); in u3msi_setup_msi_irqs() 162 virq = irq_create_mapping(msi_mpic->irqhost, hwirq); in u3msi_setup_msi_irqs() [all …]
|
D | mpic_pasemi_msi.c | 98 int hwirq; in pasemi_msi_setup_msi_irqs() local 112 hwirq = msi_bitmap_alloc_hwirqs(&msi_mpic->msi_bitmap, in pasemi_msi_setup_msi_irqs() 114 if (hwirq < 0) { in pasemi_msi_setup_msi_irqs() 116 return hwirq; in pasemi_msi_setup_msi_irqs() 119 virq = irq_create_mapping(msi_mpic->irqhost, hwirq); in pasemi_msi_setup_msi_irqs() 122 hwirq); in pasemi_msi_setup_msi_irqs() 123 msi_bitmap_free_hwirqs(&msi_mpic->msi_bitmap, hwirq, in pasemi_msi_setup_msi_irqs() 139 "addr 0x%x\n", virq, hwirq, msg.address_lo); in pasemi_msi_setup_msi_irqs() 144 msg.data = hwirq-0x200; in pasemi_msi_setup_msi_irqs()
|
D | mpic_msi.c | 22 void mpic_msi_reserve_hwirq(struct mpic *mpic, irq_hw_number_t hwirq) in mpic_msi_reserve_hwirq() argument 28 msi_bitmap_reserve_hwirq(&mpic->msi_bitmap, hwirq); in mpic_msi_reserve_hwirq() 34 irq_hw_number_t hwirq; in mpic_msi_reserve_u3_hwirqs() local 68 oirq.size, &hwirq, &flags); in mpic_msi_reserve_u3_hwirqs() 69 msi_bitmap_reserve_hwirq(&mpic->msi_bitmap, hwirq); in mpic_msi_reserve_u3_hwirqs()
|
D | fsl_msi.c | 125 static void fsl_compose_msi_msg(struct pci_dev *pdev, int hwirq, in fsl_compose_msi_msg() argument 145 msg->data = hwirq; in fsl_compose_msi_msg() 148 __func__, hwirq / IRQS_PER_MSI_REG, hwirq % IRQS_PER_MSI_REG); in fsl_compose_msi_msg() 156 int rc, hwirq = -ENOMEM; in fsl_setup_msi_irqs() local 196 hwirq = msi_bitmap_alloc_hwirqs(&msi_data->bitmap, 1); in fsl_setup_msi_irqs() 197 if (hwirq >= 0) in fsl_setup_msi_irqs() 201 if (hwirq < 0) { in fsl_setup_msi_irqs() 202 rc = hwirq; in fsl_setup_msi_irqs() 207 virq = irq_create_mapping(msi_data->irqhost, hwirq); in fsl_setup_msi_irqs() 210 dev_err(&pdev->dev, "fail mapping hwirq %i\n", hwirq); in fsl_setup_msi_irqs() [all …]
|
D | mv64x60_pic.c | 212 irq_hw_number_t hwirq) in mv64x60_host_map() argument 218 level1 = (hwirq & MV64x60_LEVEL1_MASK) >> MV64x60_LEVEL1_OFFSET; in mv64x60_host_map() 274 irq_hw_number_t hwirq; in mv64x60_get_irq() local 292 hwirq = (level1 << MV64x60_LEVEL1_OFFSET) | __ilog2(cause); in mv64x60_get_irq() 293 virq = irq_linear_revmap(mv64x60_irq_host, hwirq); in mv64x60_get_irq()
|
D | mpic.h | 15 extern void mpic_msi_reserve_hwirq(struct mpic *mpic, irq_hw_number_t hwirq); 21 irq_hw_number_t hwirq) in mpic_msi_reserve_hwirq() argument
|
D | msi_bitmap.c | 50 void msi_bitmap_reserve_hwirq(struct msi_bitmap *bmp, unsigned int hwirq) in msi_bitmap_reserve_hwirq() argument 54 pr_debug("msi_bitmap: reserving hwirq 0x%x\n", hwirq); in msi_bitmap_reserve_hwirq() 57 bitmap_allocate_region(bmp->bitmap, hwirq, 0); in msi_bitmap_reserve_hwirq()
|
/linux-3.4.99/arch/powerpc/platforms/85xx/ |
D | socrates_fpga_pic.c | 111 unsigned int irq_line, hwirq = irqd_to_hwirq(d); in socrates_fpga_pic_ack() local 114 irq_line = fpga_irqs[hwirq].irq_line; in socrates_fpga_pic_ack() 118 mask |= (1 << (hwirq + 16)); in socrates_fpga_pic_ack() 126 unsigned int hwirq = irqd_to_hwirq(d); in socrates_fpga_pic_mask() local 130 irq_line = fpga_irqs[hwirq].irq_line; in socrates_fpga_pic_mask() 134 mask &= ~(1 << hwirq); in socrates_fpga_pic_mask() 142 unsigned int hwirq = irqd_to_hwirq(d); in socrates_fpga_pic_mask_ack() local 146 irq_line = fpga_irqs[hwirq].irq_line; in socrates_fpga_pic_mask_ack() 150 mask &= ~(1 << hwirq); in socrates_fpga_pic_mask_ack() 151 mask |= (1 << (hwirq + 16)); in socrates_fpga_pic_mask_ack() [all …]
|
/linux-3.4.99/arch/microblaze/kernel/ |
D | intc.c | 44 unsigned long mask = 1 << d->hwirq; in intc_enable_or_unmask() 46 pr_debug("enable_or_unmask: %ld\n", d->hwirq); in intc_enable_or_unmask() 59 pr_debug("disable: %ld\n", d->hwirq); in intc_disable_or_mask() 60 out_be32(INTC_BASE + CIE, 1 << d->hwirq); in intc_disable_or_mask() 65 pr_debug("ack: %ld\n", d->hwirq); in intc_ack() 66 out_be32(INTC_BASE + IAR, 1 << d->hwirq); in intc_ack() 71 unsigned long mask = 1 << d->hwirq; in intc_mask_ack() 73 pr_debug("disable_and_ack: %ld\n", d->hwirq); in intc_mask_ack() 90 unsigned int hwirq, irq = -1; in get_irq() local 92 hwirq = in_be32(INTC_BASE + IVR); in get_irq() [all …]
|
/linux-3.4.99/arch/arm/mach-at91/ |
D | irq.c | 49 at91_aic_write(AT91_AIC_IDCR, 1 << d->hwirq); in at91_aic_mask_irq() 55 at91_aic_write(AT91_AIC_IECR, 1 << d->hwirq); in at91_aic_unmask_irq() 60 #define is_extern_irq(hwirq) ((1 << (hwirq)) & at91_extern_irq) argument 74 …if ((d->hwirq == AT91_ID_FIQ) || is_extern_irq(d->hwirq)) /* only supported on external interrupt… in at91_aic_set_type() 80 …if ((d->hwirq == AT91_ID_FIQ) || is_extern_irq(d->hwirq)) /* only supported on external interrupt… in at91_aic_set_type() 89 smr = at91_aic_read(AT91_AIC_SMR(d->hwirq)) & ~AT91_AIC_SRCTYPE; in at91_aic_set_type() 90 at91_aic_write(AT91_AIC_SMR(d->hwirq), smr | srctype); in at91_aic_set_type() 101 if (unlikely(d->hwirq >= NR_AIC_IRQS)) in at91_aic_set_wake() 105 wakeups |= (1 << d->hwirq); in at91_aic_set_wake() 107 wakeups &= ~(1 << d->hwirq); in at91_aic_set_wake()
|
/linux-3.4.99/arch/powerpc/platforms/wsp/ |
D | msi.c | 30 int hwirq; in wsp_setup_msi_irqs() local 46 hwirq = wsp_ics_alloc_irq(phb->dn, 1); in wsp_setup_msi_irqs() 47 if (hwirq < 0) { in wsp_setup_msi_irqs() 49 return hwirq; in wsp_setup_msi_irqs() 52 virq = irq_create_mapping(NULL, hwirq); in wsp_setup_msi_irqs() 59 hwirq, virq); in wsp_setup_msi_irqs() 63 msg.data = hwirq & XIVE_ADDR_MASK; in wsp_setup_msi_irqs() 74 int hwirq; in wsp_teardown_msi_irqs() local 87 hwirq = virq_to_hw(entry->irq); in wsp_teardown_msi_irqs() 90 wsp_ics_free_irq(phb->dn, hwirq); in wsp_teardown_msi_irqs()
|
D | ics.c | 162 static int cache_hwirq_map(struct wsp_ics *ics, unsigned int hwirq, in cache_hwirq_map() argument 167 int index = hwirq - ics->hwirq_start; in cache_hwirq_map() 176 ics->hwirq_cpu_map[hwirq - ics->hwirq_start] = xics_default_server; in cache_hwirq_map() 187 nodeid = (hwirq >> WSP_ICS_CHIP_SHIFT) & 0x3; /* 12:14 */ in cache_hwirq_map() 208 target = hwirq % cpumask_weight(newmask); in cache_hwirq_map() 228 hwirq, ics->hwirq_cpu_map[index]); in cache_hwirq_map() 248 static int get_irq_server(struct wsp_ics *ics, unsigned int hwirq) in get_irq_server() argument 250 int index = hwirq - ics->hwirq_start; in get_irq_server() 260 static int cache_hwirq_map(struct wsp_ics *ics, unsigned int hwirq, in cache_hwirq_map() argument 266 static int get_irq_server(struct wsp_ics *ics, unsigned int hwirq) in get_irq_server() argument [all …]
|
/linux-3.4.99/arch/powerpc/sysdev/ge/ |
D | ge_pic.c | 114 unsigned int hwirq = irqd_to_hwirq(d); in gef_pic_mask() local 119 mask &= ~(1 << hwirq); in gef_pic_mask() 135 unsigned int hwirq = irqd_to_hwirq(d); in gef_pic_unmask() local 140 mask |= (1 << hwirq); in gef_pic_unmask() 157 irq_hw_number_t hwirq) in gef_pic_host_map() argument 232 int hwirq; in gef_pic_get_irq() local 241 for (hwirq = GEF_PIC_NUM_IRQS - 1; hwirq > -1; hwirq--) { in gef_pic_get_irq() 242 if (active & (0x1 << hwirq)) in gef_pic_get_irq() 246 (irq_hw_number_t)hwirq); in gef_pic_get_irq()
|
/linux-3.4.99/Documentation/ |
D | IRQ-domain.txt | 12 the controller-local IRQ (hwirq) number into the Linux IRQ number 15 The irq_domain library adds mapping between hwirq and IRQ numbers on 21 specifiers to hwirq numbers, and can be easily extended to support 33 between hwirq and IRQ numbers. Mappings are added to the irq_domain 35 hwirq number as arguments. If a mapping for the hwirq doesn't already 37 the hwirq, and call the .map() callback so the driver can perform any 41 be used to find the Linux IRQ number from the hwirq number. 44 needs to know the associated hwirq number (such as in the irq_chip 45 callbacks) then it can be directly obtained from irq_data->hwirq. 48 There are several mechanisms available for reverse mapping from hwirq [all …]
|
/linux-3.4.99/include/linux/ |
D | irqdomain.h | 149 irq_hw_number_t hwirq); 152 irq_hw_number_t hwirq); 155 irq_hw_number_t hwirq); 157 irq_hw_number_t hwirq); 159 irq_hw_number_t hwirq);
|
/linux-3.4.99/arch/powerpc/platforms/powernv/ |
D | pci.c | 75 static void pnv_put_msi(struct pnv_phb *phb, unsigned int hwirq) in pnv_put_msi() argument 80 if (WARN_ON(hwirq < phb->msi_base || in pnv_put_msi() 81 hwirq >= (phb->msi_base + phb->msi_count))) in pnv_put_msi() 83 id = hwirq - phb->msi_base; in pnv_put_msi() 96 unsigned int hwirq, virq; in pnv_setup_msi_irqs() local 108 hwirq = pnv_get_one_msi(phb); in pnv_setup_msi_irqs() 109 if (!hwirq) { in pnv_setup_msi_irqs() 114 virq = irq_create_mapping(NULL, hwirq); in pnv_setup_msi_irqs() 118 pnv_put_msi(phb, hwirq); in pnv_setup_msi_irqs() 121 rc = phb->msi_setup(phb, pdev, hwirq, entry->msi_attrib.is_64, in pnv_setup_msi_irqs() [all …]
|
D | opal.c | 309 unsigned int hwirq = be32_to_cpup(irqs); in opal_init() local 310 unsigned int irq = irq_create_mapping(NULL, hwirq); in opal_init() 312 pr_warning("opal: Failed to map irq 0x%x\n", hwirq); in opal_init() 318 " (0x%x)\n", rc, irq, hwirq); in opal_init()
|
D | pci-p5ioc2.c | 45 unsigned int hwirq, unsigned int is_64, in pnv_pci_p5ioc2_msi_setup() argument 50 msg->data = hwirq - phb->msi_base; in pnv_pci_p5ioc2_msi_setup()
|
/linux-3.4.99/arch/powerpc/platforms/pseries/ |
D | msi.c | 393 int hwirq, virq, i, rc; in rtas_setup_msi_irqs() local 426 hwirq = rtas_query_irq_number(pdn, i++); in rtas_setup_msi_irqs() 427 if (hwirq < 0) { in rtas_setup_msi_irqs() 429 return hwirq; in rtas_setup_msi_irqs() 432 virq = irq_create_mapping(NULL, hwirq); in rtas_setup_msi_irqs() 435 pr_debug("rtas_msi: Failed mapping hwirq %d\n", hwirq); in rtas_setup_msi_irqs()
|
/linux-3.4.99/drivers/gpio/ |
D | gpio-mpc8xxx.c | 325 unsigned hwirq; in mpc8xxx_add_controller() local 353 hwirq = irq_of_parse_and_map(np, 0); in mpc8xxx_add_controller() 354 if (hwirq == NO_IRQ) in mpc8xxx_add_controller() 370 irq_set_handler_data(hwirq, mpc8xxx_gc); in mpc8xxx_add_controller() 371 irq_set_chained_handler(hwirq, mpc8xxx_gpio_irq_cascade); in mpc8xxx_add_controller()
|
D | gpio-sodaville.c | 56 if (d->hwirq < 8) in sdv_gpio_pub_set_type() 65 reg &= ~BIT(4 * (d->hwirq % 8)); in sdv_gpio_pub_set_type() 69 reg |= BIT(4 * (d->hwirq % 8)); in sdv_gpio_pub_set_type()
|
/linux-3.4.99/drivers/pcmcia/ |
D | m8xx_pcmcia.c | 220 int hwirq; member 886 mk_int_int_mask(s->hwirq) << 24); in m8xx_set_socket() 1153 unsigned int i, m, hwirq; in m8xx_probe() local 1165 hwirq = irq_map[pcmcia_schlvl].hwirq; in m8xx_probe() 1175 " with IRQ %u (%d). \n", pcmcia_schlvl, hwirq); in m8xx_probe() 1195 M8XX_PGCRX_CXOE | (mk_int_int_mask(hwirq) << 16)); in m8xx_probe() 1197 M8XX_PGCRX_CXOE | (mk_int_int_mask(hwirq) << 16)); in m8xx_probe() 1236 socket[i].hwirq = hwirq; in m8xx_probe()
|
/linux-3.4.99/arch/arm/common/ |
D | vic.c | 202 unsigned int irq = d->hwirq; in vic_ack_irq() 211 unsigned int irq = d->hwirq; in vic_mask_irq() 218 unsigned int irq = d->hwirq; in vic_unmask_irq() 240 unsigned int off = d->hwirq; in vic_set_wake()
|
/linux-3.4.99/arch/powerpc/include/asm/ |
D | msi_bitmap.h | 27 void msi_bitmap_reserve_hwirq(struct msi_bitmap *bmp, unsigned int hwirq);
|