/kernel/linux/linux-5.10/include/linux/ |
H A D | irqdesc.h | 164 int __handle_domain_irq(struct irq_domain *domain, unsigned int hwirq, 168 unsigned int hwirq, struct pt_regs *regs) in handle_domain_irq() 170 return __handle_domain_irq(domain, hwirq, true, regs); in handle_domain_irq() 174 int handle_domain_nmi(struct irq_domain *domain, unsigned int hwirq, 167 handle_domain_irq(struct irq_domain *domain, unsigned int hwirq, struct pt_regs *regs) handle_domain_irq() argument
|
/kernel/linux/linux-6.6/drivers/irqchip/ |
H A D | irq-digicolor.c | 39 u32 status, hwirq; in digicolor_handle_irq() local 44 hwirq = ffs(status) - 1; in digicolor_handle_irq() 48 hwirq = ffs(status) - 1 + 32; in digicolor_handle_irq() 53 generic_handle_domain_irq(digicolor_irq_domain, hwirq); in digicolor_handle_irq()
|
H A D | irq-sa11x0.c | 39 reg &= ~BIT(d->hwirq); in sa1100_mask_irq() 48 reg |= BIT(d->hwirq); in sa1100_unmask_irq() 54 return sa11x0_sc_set_wake(d->hwirq, on); in sa1100_set_wake() 66 unsigned int irq, irq_hw_number_t hwirq) in sa1100_normal_irqdomain_map() 65 sa1100_normal_irqdomain_map(struct irq_domain *d, unsigned int irq, irq_hw_number_t hwirq) sa1100_normal_irqdomain_map() argument
|
H A D | irq-goldfish-pic.c | 37 u32 pending, hwirq; in goldfish_pic_cascade() local 43 hwirq = __fls(pending); in goldfish_pic_cascade() 44 generic_handle_domain_irq(gfpic->irq_domain, hwirq); in goldfish_pic_cascade() 45 pending &= ~(1 << hwirq); in goldfish_pic_cascade()
|
H A D | irq-idt3243x.c | 31 u32 pending, hwirq; in idt_irq_dispatch() local 38 hwirq = __fls(pending); in idt_irq_dispatch() 39 generic_handle_domain_irq(idtpic->irq_domain, hwirq); in idt_irq_dispatch() 40 pending &= ~(1 << hwirq); in idt_irq_dispatch()
|
H A D | irq-apple-aic.c | 36 * - FIQ hwirq numbers are assigned after true hwirqs, and are per-cpu. 38 * - <0 nr flags> - hwirq #nr 216 * FIQ hwirq index definitions: FIQ sources use the DT binding defines 335 irq_hw_number_t hwirq = irqd_to_hwirq(d); in aic_irq_mask() local 338 u32 off = AIC_HWIRQ_DIE(hwirq) * ic->info.die_stride; in aic_irq_mask() 339 u32 irq = AIC_HWIRQ_IRQ(hwirq); in aic_irq_mask() 346 irq_hw_number_t hwirq = irqd_to_hwirq(d); in aic_irq_unmask() local 349 u32 off = AIC_HWIRQ_DIE(hwirq) * ic->info.die_stride; in aic_irq_unmask() 350 u32 irq = AIC_HWIRQ_IRQ(hwirq); in aic_irq_unmask() 409 irq_hw_number_t hwirq in aic_irq_set_affinity() local 638 aic_irq_domain_translate(struct irq_domain *id, struct irq_fwspec *fwspec, unsigned long *hwirq, unsigned int *type) aic_irq_domain_translate() argument 707 irq_hw_number_t hwirq; aic_irq_domain_alloc() local [all...] |
H A D | irq-stm32-exti.c | 334 u32 mask = BIT(d->hwirq % IRQS_PER_BANK); in stm32_exti_set_type() 442 irq_hw_number_t hwirq; in stm32_exti_alloc() local 444 hwirq = fwspec->param[0]; in stm32_exti_alloc() 446 irq_map_generic_chip(d, virq, hwirq); in stm32_exti_alloc() 486 u32 val = BIT(d->hwirq % IRQS_PER_BANK); in stm32_exti_write_bit() 498 val |= BIT(d->hwirq % IRQS_PER_BANK); in stm32_exti_set_bit() 511 val &= ~BIT(d->hwirq % IRQS_PER_BANK); in stm32_exti_clr_bit() 601 u32 mask = BIT(d->hwirq % IRQS_PER_BANK); in stm32_exti_h_set_wake() 675 u32 mask = BIT(d->hwirq % IRQS_PER_BANK); in stm32_exti_h_retrigger() 716 irq_hw_number_t hwirq; in stm32_exti_h_domain_alloc() local [all...] |
H A D | irq-pic32-evic.c | 45 unsigned int hwirq; in plat_irq_dispatch() local 47 hwirq = readl(evic_base + REG_INTSTAT) & 0xFF; in plat_irq_dispatch() 48 do_domain_IRQ(evic_irq_domain, hwirq); in plat_irq_dispatch() 88 if (priv->ext_irqs[i] == data->hwirq) { in pic32_set_type_edge() 195 u32 hwirq; in pic32_ext_irq_of_init() local 199 of_property_for_each_u32(node, pname, prop, p, hwirq) { in pic32_ext_irq_of_init() 206 priv->ext_irqs[i] = hwirq; in pic32_ext_irq_of_init()
|
H A D | irq-gic.c | 167 return d->hwirq; in gic_irq() 223 u32 hwirq = gic_irq(d); in gic_eoi_irq() local 225 if (hwirq < 16) in gic_eoi_irq() 226 hwirq = this_cpu_read(sgi_intid); in gic_eoi_irq() 228 writel_relaxed(hwirq, gic_cpu_base(d) + GIC_CPU_EOI); in gic_eoi_irq() 233 u32 hwirq = gic_irq(d); in gic_eoimode1_eoi_irq() local 239 if (hwirq < 16) in gic_eoimode1_eoi_irq() 240 hwirq = this_cpu_read(sgi_intid); in gic_eoimode1_eoi_irq() 242 writel_relaxed(hwirq, gic_cpu_base(d) + GIC_CPU_DEACTIVATE); in gic_eoimode1_eoi_irq() 830 writel_relaxed(2 << 24 | d->hwirq, in gic_ipi_send_mask() 1084 gic_irq_domain_translate(struct irq_domain *d, struct irq_fwspec *fwspec, unsigned long *hwirq, unsigned int *type) gic_irq_domain_translate() argument 1143 irq_hw_number_t hwirq; gic_irq_domain_alloc() local [all...] |
H A D | irq-vic.c | 185 irq_hw_number_t hwirq) in vic_irqdomain_map() 190 if (!(v->valid_sources & (1 << hwirq))) in vic_irqdomain_map() 220 u32 stat, hwirq; in vic_handle_irq_cascaded() local 227 hwirq = ffs(stat) - 1; in vic_handle_irq_cascaded() 228 generic_handle_domain_irq(vic->domain, hwirq); in vic_handle_irq_cascaded() 309 unsigned int irq = d->hwirq; in vic_ack_irq() 318 unsigned int irq = d->hwirq; in vic_mask_irq() 325 unsigned int irq = d->hwirq; in vic_unmask_irq() 347 unsigned int off = d->hwirq; in vic_set_wake() 184 vic_irqdomain_map(struct irq_domain *d, unsigned int irq, irq_hw_number_t hwirq) vic_irqdomain_map() argument
|
/kernel/linux/linux-5.10/drivers/irqchip/ |
H A D | irq-stm32-exti.c | 219 irq_hw_number_t hwirq) in stm32_exti_get_desc() 229 if (desc->exti == hwirq) in stm32_exti_get_desc() 277 u32 mask = BIT(d->hwirq % IRQS_PER_BANK); in stm32_exti_set_type() 385 irq_hw_number_t hwirq; in stm32_exti_alloc() local 387 hwirq = fwspec->param[0]; in stm32_exti_alloc() 389 irq_map_generic_chip(d, virq, hwirq); in stm32_exti_alloc() 429 u32 val = BIT(d->hwirq % IRQS_PER_BANK); in stm32_exti_write_bit() 441 val |= BIT(d->hwirq % IRQS_PER_BANK); in stm32_exti_set_bit() 454 val &= ~BIT(d->hwirq % IRQS_PER_BANK); in stm32_exti_clr_bit() 544 u32 mask = BIT(d->hwirq in stm32_exti_h_set_wake() 218 stm32_exti_get_desc(const struct stm32_exti_drv_data *drv_data, irq_hw_number_t hwirq) stm32_exti_get_desc() argument 659 irq_hw_number_t hwirq; stm32_exti_h_domain_alloc() local [all...] |
H A D | irq-pic32-evic.c | 45 unsigned int irq, hwirq; in plat_irq_dispatch() local 47 hwirq = readl(evic_base + REG_INTSTAT) & 0xFF; in plat_irq_dispatch() 48 irq = irq_linear_revmap(evic_irq_domain, hwirq); in plat_irq_dispatch() 89 if (priv->ext_irqs[i] == data->hwirq) { in pic32_set_type_edge() 196 u32 hwirq; in pic32_ext_irq_of_init() local 200 of_property_for_each_u32(node, pname, prop, p, hwirq) { in pic32_ext_irq_of_init() 207 priv->ext_irqs[i] = hwirq; in pic32_ext_irq_of_init()
|
H A D | irq-vic.c | 185 irq_hw_number_t hwirq) in vic_irqdomain_map() 190 if (!(v->valid_sources & (1 << hwirq))) in vic_irqdomain_map() 220 u32 stat, hwirq; in vic_handle_irq_cascaded() local 227 hwirq = ffs(stat) - 1; in vic_handle_irq_cascaded() 228 generic_handle_irq(irq_find_mapping(vic->domain, hwirq)); in vic_handle_irq_cascaded() 309 unsigned int irq = d->hwirq; in vic_ack_irq() 318 unsigned int irq = d->hwirq; in vic_mask_irq() 325 unsigned int irq = d->hwirq; in vic_unmask_irq() 347 unsigned int off = d->hwirq; in vic_set_wake() 184 vic_irqdomain_map(struct irq_domain *d, unsigned int irq, irq_hw_number_t hwirq) vic_irqdomain_map() argument
|
/kernel/linux/linux-6.6/drivers/gpio/ |
H A D | gpio-dwapb.c | 207 irq_hw_number_t hwirq; in dwapb_do_irq() local 210 for_each_set_bit(hwirq, &irq_status, DWAPB_MAX_GPIOS) { in dwapb_do_irq() 211 int gpio_irq = irq_find_mapping(gc->irq.domain, hwirq); in dwapb_do_irq() 217 dwapb_toggle_trigger(gpio, hwirq); in dwapb_do_irq() 254 irq_hw_number_t hwirq = irqd_to_hwirq(d); in dwapb_irq_mask() local 259 val = dwapb_read(gpio, GPIO_INTMASK) | BIT(hwirq); in dwapb_irq_mask() 263 gpiochip_disable_irq(gc, hwirq); in dwapb_irq_mask() 270 irq_hw_number_t hwirq = irqd_to_hwirq(d); in dwapb_irq_unmask() local 274 gpiochip_enable_irq(gc, hwirq); in dwapb_irq_unmask() 277 val = dwapb_read(gpio, GPIO_INTMASK) & ~BIT(hwirq); in dwapb_irq_unmask() 286 irq_hw_number_t hwirq = irqd_to_hwirq(d); dwapb_irq_enable() local 302 irq_hw_number_t hwirq = irqd_to_hwirq(d); dwapb_irq_disable() local [all...] |
/kernel/linux/linux-6.6/drivers/input/keyboard/ |
H A D | adp5588-keys.c | 386 irq_hw_number_t hwirq = irqd_to_hwirq(d); in adp5588_irq_mask() local 387 unsigned long real_irq = kpad->gpiomap[hwirq]; in adp5588_irq_mask() 390 gpiochip_disable_irq(gc, hwirq); in adp5588_irq_mask() 397 irq_hw_number_t hwirq = irqd_to_hwirq(d); in adp5588_irq_unmask() local 398 unsigned long real_irq = kpad->gpiomap[hwirq]; in adp5588_irq_unmask() 400 gpiochip_enable_irq(gc, hwirq); in adp5588_irq_unmask() 476 unsigned int hwirq; in adp5588_gpiomap_get_hwirq() local 478 for (hwirq = 0; hwirq < ngpios; hwirq in adp5588_gpiomap_get_hwirq() 494 unsigned long hwirq; adp5588_gpio_irq_handle() local [all...] |
/kernel/linux/linux-5.10/drivers/pci/controller/ |
H A D | pcie-altera-msi.c | 94 phys_addr_t addr = msi->vector_phy + (data->hwirq * sizeof(u32)); in altera_compose_msi_msg() 98 msg->data = data->hwirq; in altera_compose_msi_msg() 101 (int)data->hwirq, msg->address_hi, msg->address_lo); in altera_compose_msi_msg() 156 if (!test_bit(d->hwirq, msi->used)) { in altera_irq_domain_free() 158 d->hwirq); in altera_irq_domain_free() 160 __clear_bit(d->hwirq, msi->used); in altera_irq_domain_free() 162 mask &= ~(1 << d->hwirq); in altera_irq_domain_free()
|
/kernel/linux/linux-6.6/drivers/mfd/ |
H A D | mt6358-irq.c | 77 unsigned int hwirq = irqd_to_hwirq(data); in pmic_irq_enable() local 81 irqd->enable_hwirq[hwirq] = true; in pmic_irq_enable() 86 unsigned int hwirq = irqd_to_hwirq(data); in pmic_irq_disable() local 90 irqd->enable_hwirq[hwirq] = false; in pmic_irq_disable() 144 unsigned int hwirq, virq; in mt6358_irq_sp_handler() local 166 hwirq = irqd->pmic_ints[top_gp].hwirq_base + in mt6358_irq_sp_handler() 169 virq = irq_find_mapping(chip->irq_domain, hwirq); in mt6358_irq_sp_handler()
|
/kernel/linux/linux-6.6/drivers/pci/controller/ |
H A D | pcie-altera-msi.c | 92 phys_addr_t addr = msi->vector_phy + (data->hwirq * sizeof(u32)); in altera_compose_msi_msg() 96 msg->data = data->hwirq; in altera_compose_msi_msg() 99 (int)data->hwirq, msg->address_hi, msg->address_lo); in altera_compose_msi_msg() 154 if (!test_bit(d->hwirq, msi->used)) { in altera_irq_domain_free() 156 d->hwirq); in altera_irq_domain_free() 158 __clear_bit(d->hwirq, msi->used); in altera_irq_domain_free() 160 mask &= ~(1 << d->hwirq); in altera_irq_domain_free()
|
/kernel/linux/linux-6.6/drivers/pinctrl/intel/ |
H A D | pinctrl-lynxpoint.c | 597 irq_hw_number_t hwirq = irqd_to_hwirq(d); in lp_irq_ack() local 598 void __iomem *reg = lp_gpio_reg(&lg->chip, hwirq, LP_INT_STAT); in lp_irq_ack() 602 iowrite32(BIT(hwirq % 32), reg); in lp_irq_ack() 618 irq_hw_number_t hwirq = irqd_to_hwirq(d); in lp_irq_enable() local 619 void __iomem *reg = lp_gpio_reg(&lg->chip, hwirq, LP_INT_ENABLE); in lp_irq_enable() 622 gpiochip_enable_irq(gc, hwirq); in lp_irq_enable() 625 iowrite32(ioread32(reg) | BIT(hwirq % 32), reg); in lp_irq_enable() 633 irq_hw_number_t hwirq = irqd_to_hwirq(d); in lp_irq_disable() local 634 void __iomem *reg = lp_gpio_reg(&lg->chip, hwirq, LP_INT_ENABLE); in lp_irq_disable() 638 iowrite32(ioread32(reg) & ~BIT(hwirq in lp_irq_disable() 648 irq_hw_number_t hwirq = irqd_to_hwirq(d); lp_irq_set_type() local [all...] |
/kernel/linux/linux-6.6/drivers/spmi/ |
H A D | spmi-pmic-arb.c | 115 #define hwirq_to_sid(hwirq) (((hwirq) >> 28) & 0xF) 116 #define hwirq_to_per(hwirq) (((hwirq) >> 20) & 0xFF) 117 #define hwirq_to_irq(hwirq) (((hwirq) >> 16) & 0x7) 118 #define hwirq_to_apid(hwirq) (((hwirq) >> 0) & 0x3FF) 568 u8 sid = hwirq_to_sid(d->hwirq); in qpnpint_spmi_write() 569 u8 per = hwirq_to_per(d->hwirq); in qpnpint_spmi_write() 903 qpnpint_irq_domain_map(struct spmi_pmic_arb *pmic_arb, struct irq_domain *domain, unsigned int virq, irq_hw_number_t hwirq, unsigned int type) qpnpint_irq_domain_map() argument 930 irq_hw_number_t hwirq; qpnpint_irq_domain_alloc() local [all...] |
/kernel/linux/linux-5.10/drivers/gpio/ |
H A D | gpio-xlp.c | 129 xlp_gpio_set_reg(priv->gpio_intr_en, d->hwirq, 0x0); in xlp_gpio_irq_disable() 130 __clear_bit(d->hwirq, priv->gpio_enabled_mask); in xlp_gpio_irq_disable() 141 xlp_gpio_set_reg(priv->gpio_intr_en, d->hwirq, 0x0); in xlp_gpio_irq_mask_ack() 142 xlp_gpio_set_reg(priv->gpio_intr_stat, d->hwirq, 0x1); in xlp_gpio_irq_mask_ack() 143 __clear_bit(d->hwirq, priv->gpio_enabled_mask); in xlp_gpio_irq_mask_ack() 154 xlp_gpio_set_reg(priv->gpio_intr_en, d->hwirq, 0x1); in xlp_gpio_irq_unmask() 155 __set_bit(d->hwirq, priv->gpio_enabled_mask); in xlp_gpio_irq_unmask() 186 xlp_gpio_set_reg(priv->gpio_intr_type, d->hwirq, irq_type); in xlp_gpio_set_irq_type() 187 xlp_gpio_set_reg(priv->gpio_intr_pol, d->hwirq, pol); in xlp_gpio_set_irq_type()
|
/kernel/linux/linux-5.10/drivers/pci/controller/mobiveil/ |
H A D | pcie-mobiveil-host.c | 317 mask = 1 << ((data->hwirq + PAB_INTX_START) - 1); in mobiveil_mask_intx_irq() 335 mask = 1 << ((data->hwirq + PAB_INTX_START) - 1); in mobiveil_unmask_intx_irq() 353 irq_hw_number_t hwirq) in mobiveil_pcie_intx_map() 381 phys_addr_t addr = pcie->pcie_reg_base + (data->hwirq * sizeof(int)); in mobiveil_compose_msi_msg() 385 msg->data = data->hwirq; in mobiveil_compose_msi_msg() 388 (int)data->hwirq, msg->address_hi, msg->address_lo); in mobiveil_compose_msi_msg() 439 if (!test_bit(d->hwirq, msi->msi_irq_in_use)) in mobiveil_irq_msi_domain_free() 441 d->hwirq); in mobiveil_irq_msi_domain_free() 443 __clear_bit(d->hwirq, msi->msi_irq_in_use); in mobiveil_irq_msi_domain_free() 352 mobiveil_pcie_intx_map(struct irq_domain *domain, unsigned int irq, irq_hw_number_t hwirq) mobiveil_pcie_intx_map() argument
|
/kernel/linux/linux-6.6/drivers/pci/controller/mobiveil/ |
H A D | pcie-mobiveil-host.c | 309 mask = 1 << ((data->hwirq + PAB_INTX_START) - 1); in mobiveil_mask_intx_irq() 325 mask = 1 << ((data->hwirq + PAB_INTX_START) - 1); in mobiveil_unmask_intx_irq() 343 irq_hw_number_t hwirq) in mobiveil_pcie_intx_map() 371 phys_addr_t addr = pcie->pcie_reg_base + (data->hwirq * sizeof(int)); in mobiveil_compose_msi_msg() 375 msg->data = data->hwirq; in mobiveil_compose_msi_msg() 378 (int)data->hwirq, msg->address_hi, msg->address_lo); in mobiveil_compose_msi_msg() 429 if (!test_bit(d->hwirq, msi->msi_irq_in_use)) in mobiveil_irq_msi_domain_free() 431 d->hwirq); in mobiveil_irq_msi_domain_free() 433 __clear_bit(d->hwirq, msi->msi_irq_in_use); in mobiveil_irq_msi_domain_free() 342 mobiveil_pcie_intx_map(struct irq_domain *domain, unsigned int irq, irq_hw_number_t hwirq) mobiveil_pcie_intx_map() argument
|
/kernel/linux/linux-5.10/drivers/clocksource/ |
H A D | jcore-pit.c | 140 unsigned long hwirq; in jcore_pit_init() local 212 hwirq = irq_get_irq_data(pit_irq)->hwirq; in jcore_pit_init() 213 irqprio = (hwirq >> 2) & PIT_PRIO_MASK; in jcore_pit_init() 215 | (hwirq << PIT_IRQ_SHIFT) in jcore_pit_init()
|
/kernel/linux/linux-5.10/arch/arm/mach-imx/ |
H A D | tzic.c | 52 static int tzic_set_irq_fiq(unsigned int hwirq, unsigned int type) in tzic_set_irq_fiq() argument 56 index = hwirq >> 5; in tzic_set_irq_fiq() 59 mask = 1U << (hwirq & 0x1F); in tzic_set_irq_fiq() 76 int idx = d->hwirq >> 5; in tzic_irq_suspend() 83 int idx = d->hwirq >> 5; in tzic_irq_resume()
|