/kernel/linux/linux-6.6/drivers/irqchip/ |
H A D | irq-sp7021-intc.c | 81 static void sp_intc_assign_bit(u32 hwirq, void __iomem *base, bool value) in sp_intc_assign_bit() argument 87 offset = (hwirq / 32) * 4; in sp_intc_assign_bit() 93 mask |= BIT(hwirq % 32); in sp_intc_assign_bit() 95 mask &= ~BIT(hwirq % 32); in sp_intc_assign_bit() 102 u32 hwirq = d->hwirq; in sp_intc_ack_irq() local 104 if (unlikely(IS_GPIO_INT(hwirq) && TEST_STATE(hwirq, _IS_EDGE))) { // WORKAROUND in sp_intc_ack_irq() 105 sp_intc_assign_bit(hwirq, REG_INTR_POLARITY, !TEST_STATE(hwirq, _IS_LO in sp_intc_ack_irq() 124 u32 hwirq = d->hwirq; sp_intc_set_type() local 171 int hwirq; sp_intc_handle_ext_cascaded() local 195 sp_intc_irq_domain_map(struct irq_domain *domain, unsigned int irq, irq_hw_number_t hwirq) sp_intc_irq_domain_map() argument [all...] |
H A D | irq-mchp-eic.c | 51 tmp = readl_relaxed(eic->base + MCHP_EIC_SCFG(d->hwirq)); in mchp_eic_irq_mask() 53 writel_relaxed(tmp, eic->base + MCHP_EIC_SCFG(d->hwirq)); in mchp_eic_irq_mask() 62 tmp = readl_relaxed(eic->base + MCHP_EIC_SCFG(d->hwirq)); in mchp_eic_irq_unmask() 64 writel_relaxed(tmp, eic->base + MCHP_EIC_SCFG(d->hwirq)); in mchp_eic_irq_unmask() 74 tmp = readl_relaxed(eic->base + MCHP_EIC_SCFG(d->hwirq)); in mchp_eic_irq_set_type() 96 writel_relaxed(tmp, eic->base + MCHP_EIC_SCFG(d->hwirq)); in mchp_eic_irq_set_type() 103 irq_set_irq_wake(eic->irqs[d->hwirq], on); in mchp_eic_irq_set_wake() 105 eic->wakeup_source |= BIT(d->hwirq); in mchp_eic_irq_set_wake() 107 eic->wakeup_source &= ~BIT(d->hwirq); in mchp_eic_irq_set_wake() 114 unsigned int hwirq; in mchp_eic_irq_suspend() local 128 unsigned int hwirq; mchp_eic_irq_resume() local 160 irq_hw_number_t hwirq; mchp_eic_domain_alloc() local [all...] |
H A D | irq-pruss-intc.c | 173 * @hwirq: the system event number 178 static void pruss_intc_map(struct pruss_intc *intc, unsigned long hwirq) in pruss_intc_map() argument 186 intc->event_channel[hwirq].ref_count++; in pruss_intc_map() 188 ch = intc->event_channel[hwirq].value; in pruss_intc_map() 191 pruss_intc_update_cmr(intc, hwirq, ch); in pruss_intc_map() 193 reg_idx = hwirq / 32; in pruss_intc_map() 194 val = BIT(hwirq % 32); in pruss_intc_map() 208 hwirq, ch, host); in pruss_intc_map() 216 * @hwirq: the system event number 222 static void pruss_intc_unmap(struct pruss_intc *intc, unsigned long hwirq) in pruss_intc_unmap() argument 293 unsigned int hwirq = data->hwirq; pruss_intc_irq_ack() local 301 unsigned int hwirq = data->hwirq; pruss_intc_irq_mask() local 309 unsigned int hwirq = data->hwirq; pruss_intc_irq_unmask() local 466 unsigned long hwirq = irqd_to_hwirq(irq_get_irq_data(virq)); pruss_intc_irq_domain_unmap() local 491 int hwirq, err; pruss_intc_irq_handler() local 606 unsigned int hwirq; pruss_intc_remove() local [all...] |
H A D | irq-or1k-pic.c | 28 mtspr(SPR_PICMR, mfspr(SPR_PICMR) & ~(1UL << data->hwirq)); in or1k_pic_mask() 33 mtspr(SPR_PICMR, mfspr(SPR_PICMR) | (1UL << data->hwirq)); in or1k_pic_unmask() 38 mtspr(SPR_PICSR, (1UL << data->hwirq)); in or1k_pic_ack() 43 mtspr(SPR_PICMR, mfspr(SPR_PICMR) & ~(1UL << data->hwirq)); in or1k_pic_mask_ack() 44 mtspr(SPR_PICSR, (1UL << data->hwirq)); in or1k_pic_mask_ack() 55 mtspr(SPR_PICSR, mfspr(SPR_PICSR) & ~(1UL << data->hwirq)); in or1k_pic_or1200_ack() 60 mtspr(SPR_PICMR, mfspr(SPR_PICMR) & ~(1UL << data->hwirq)); in or1k_pic_or1200_mask_ack() 61 mtspr(SPR_PICSR, mfspr(SPR_PICSR) & ~(1UL << data->hwirq)); in or1k_pic_or1200_mask_ack() 102 int hwirq; in pic_get_irq() local 104 hwirq in pic_get_irq() [all...] |
H A D | irq-sifive-plic.c | 93 static void __plic_toggle(void __iomem *enable_base, int hwirq, int enable) in __plic_toggle() argument 95 u32 __iomem *reg = enable_base + (hwirq / 32) * sizeof(u32); in __plic_toggle() 96 u32 hwirq_mask = 1 << (hwirq % 32); in __plic_toggle() 104 static void plic_toggle(struct plic_handler *handler, int hwirq, int enable) in plic_toggle() argument 107 __plic_toggle(handler->enable_base, hwirq, enable); in plic_toggle() 119 plic_toggle(handler, d->hwirq, enable); in plic_irq_toggle() 137 writel(1, priv->regs + PRIORITY_BASE + d->hwirq * PRIORITY_PER_ID); in plic_irq_unmask() 144 writel(0, priv->regs + PRIORITY_BASE + d->hwirq * PRIORITY_PER_ID); in plic_irq_mask() 152 plic_toggle(handler, d->hwirq, 1); in plic_irq_eoi() 153 writel(d->hwirq, handle in plic_irq_eoi() 307 plic_irqdomain_map(struct irq_domain *d, unsigned int irq, irq_hw_number_t hwirq) plic_irqdomain_map() argument 319 plic_irq_domain_translate(struct irq_domain *d, struct irq_fwspec *fwspec, unsigned long *hwirq, unsigned int *type) plic_irq_domain_translate() argument 336 irq_hw_number_t hwirq; plic_irq_domain_alloc() local 370 irq_hw_number_t hwirq; plic_handle_irq() local 460 irq_hw_number_t hwirq; __plic_init() local [all...] |
H A D | irq-mvebu-sei.c | 59 u32 reg_idx = SEI_IRQ_REG_IDX(d->hwirq); in mvebu_sei_ack_irq() 61 writel_relaxed(BIT(SEI_IRQ_REG_BIT(d->hwirq)), in mvebu_sei_ack_irq() 68 u32 reg, reg_idx = SEI_IRQ_REG_IDX(d->hwirq); in mvebu_sei_mask_irq() 74 reg |= BIT(SEI_IRQ_REG_BIT(d->hwirq)); in mvebu_sei_mask_irq() 82 u32 reg, reg_idx = SEI_IRQ_REG_IDX(d->hwirq); in mvebu_sei_unmask_irq() 88 reg &= ~BIT(SEI_IRQ_REG_BIT(d->hwirq)); in mvebu_sei_unmask_irq() 144 msg->data = data->hwirq + sei->caps->cp_range.first; in mvebu_sei_cp_compose_msi_msg() 199 unsigned long *hwirq, in mvebu_sei_ap_translate() 202 *hwirq = fwspec->param[0]; in mvebu_sei_ap_translate() 213 unsigned long hwirq; in mvebu_sei_ap_alloc() local 197 mvebu_sei_ap_translate(struct irq_domain *domain, struct irq_fwspec *fwspec, unsigned long *hwirq, unsigned int *type) mvebu_sei_ap_translate() argument 241 mvebu_sei_cp_release_irq(struct mvebu_sei *sei, unsigned long hwirq) mvebu_sei_cp_release_irq() argument 254 unsigned long hwirq; mvebu_sei_cp_domain_alloc() local 339 unsigned long hwirq; mvebu_sei_handle_cascade_irq() local [all...] |
/kernel/linux/linux-5.10/arch/powerpc/sysdev/ |
H A D | mpic_u3msi.c | 61 static u64 find_ht_magic_addr(struct pci_dev *pdev, unsigned int hwirq) in find_ht_magic_addr() argument 75 static u64 find_u4_magic_addr(struct pci_dev *pdev, unsigned int hwirq) in find_u4_magic_addr() argument 97 return 0xf8004000 | (hwirq << 4); in find_u4_magic_addr() 105 irq_hw_number_t hwirq; in u3msi_teardown_msi_irqs() local 111 hwirq = virq_to_hw(entry->irq); in u3msi_teardown_msi_irqs() 114 msi_bitmap_free_hwirqs(&msi_mpic->msi_bitmap, hwirq, 1); in u3msi_teardown_msi_irqs() 126 int hwirq; in u3msi_setup_msi_irqs() local 140 hwirq = msi_bitmap_alloc_hwirqs(&msi_mpic->msi_bitmap, 1); in u3msi_setup_msi_irqs() 141 if (hwirq < 0) { in u3msi_setup_msi_irqs() 142 pr_debug("u3msi: failed allocating hwirq\ in u3msi_setup_msi_irqs() [all...] |
/kernel/linux/linux-6.6/arch/powerpc/sysdev/ |
H A D | mpic_u3msi.c | 61 static u64 find_ht_magic_addr(struct pci_dev *pdev, unsigned int hwirq) in find_ht_magic_addr() argument 75 static u64 find_u4_magic_addr(struct pci_dev *pdev, unsigned int hwirq) in find_u4_magic_addr() argument 97 return 0xf8004000 | (hwirq << 4); in find_u4_magic_addr() 105 irq_hw_number_t hwirq; in u3msi_teardown_msi_irqs() local 108 hwirq = virq_to_hw(entry->irq); in u3msi_teardown_msi_irqs() 112 msi_bitmap_free_hwirqs(&msi_mpic->msi_bitmap, hwirq, 1); in u3msi_teardown_msi_irqs() 122 int hwirq; in u3msi_setup_msi_irqs() local 136 hwirq = msi_bitmap_alloc_hwirqs(&msi_mpic->msi_bitmap, 1); in u3msi_setup_msi_irqs() 137 if (hwirq < 0) { in u3msi_setup_msi_irqs() 138 pr_debug("u3msi: failed allocating hwirq\ in u3msi_setup_msi_irqs() [all...] |
/kernel/linux/linux-5.10/drivers/irqchip/ |
H A D | irq-pruss-intc.c | 173 * @hwirq: the system event number 178 static void pruss_intc_map(struct pruss_intc *intc, unsigned long hwirq) in pruss_intc_map() argument 186 intc->event_channel[hwirq].ref_count++; in pruss_intc_map() 188 ch = intc->event_channel[hwirq].value; in pruss_intc_map() 191 pruss_intc_update_cmr(intc, hwirq, ch); in pruss_intc_map() 193 reg_idx = hwirq / 32; in pruss_intc_map() 194 val = BIT(hwirq % 32); in pruss_intc_map() 208 hwirq, ch, host); in pruss_intc_map() 216 * @hwirq: the system event number 222 static void pruss_intc_unmap(struct pruss_intc *intc, unsigned long hwirq) in pruss_intc_unmap() argument 293 unsigned int hwirq = data->hwirq; pruss_intc_irq_ack() local 301 unsigned int hwirq = data->hwirq; pruss_intc_irq_mask() local 309 unsigned int hwirq = data->hwirq; pruss_intc_irq_unmask() local 466 unsigned long hwirq = irqd_to_hwirq(irq_get_irq_data(virq)); pruss_intc_irq_domain_unmap() local 492 int hwirq; pruss_intc_irq_handler() local 609 unsigned int hwirq; pruss_intc_remove() local [all...] |
H A D | irq-or1k-pic.c | 28 mtspr(SPR_PICMR, mfspr(SPR_PICMR) & ~(1UL << data->hwirq)); in or1k_pic_mask() 33 mtspr(SPR_PICMR, mfspr(SPR_PICMR) | (1UL << data->hwirq)); in or1k_pic_unmask() 38 mtspr(SPR_PICSR, (1UL << data->hwirq)); in or1k_pic_ack() 43 mtspr(SPR_PICMR, mfspr(SPR_PICMR) & ~(1UL << data->hwirq)); in or1k_pic_mask_ack() 44 mtspr(SPR_PICSR, (1UL << data->hwirq)); in or1k_pic_mask_ack() 55 mtspr(SPR_PICSR, mfspr(SPR_PICSR) & ~(1UL << data->hwirq)); in or1k_pic_or1200_ack() 60 mtspr(SPR_PICMR, mfspr(SPR_PICMR) & ~(1UL << data->hwirq)); in or1k_pic_or1200_mask_ack() 61 mtspr(SPR_PICSR, mfspr(SPR_PICSR) & ~(1UL << data->hwirq)); in or1k_pic_or1200_mask_ack() 102 int hwirq; in pic_get_irq() local 104 hwirq in pic_get_irq() [all...] |
H A D | irq-ls-extirq.c | 30 irq_hw_number_t hwirq = data->hwirq; in ls_extirq_set_type() local 34 mask = 1U << (31 - hwirq); in ls_extirq_set_type() 36 mask = 1U << hwirq; in ls_extirq_set_type() 76 irq_hw_number_t hwirq; in ls_extirq_domain_alloc() local 81 hwirq = fwspec->param[0]; in ls_extirq_domain_alloc() 82 if (hwirq >= priv->nirq) in ls_extirq_domain_alloc() 85 irq_domain_set_hwirq_and_chip(domain, virq, hwirq, &ls_extirq_chip, in ls_extirq_domain_alloc() 88 return irq_domain_alloc_irqs_parent(domain, virq, 1, &priv->map[hwirq]); in ls_extirq_domain_alloc() 113 u32 hwirq, intsiz in ls_extirq_parse_map() local [all...] |
H A D | irq-ativic32.c | 17 __nds32__mtsr_dsb(BIT(data->hwirq), NDS32_SR_INT_PEND2); in ativic32_ack_irq() 23 __nds32__mtsr_dsb(int_mask2 & (~(BIT(data->hwirq))), NDS32_SR_INT_MASK2); in ativic32_mask_irq() 29 __nds32__mtsr_dsb(int_mask2 | (BIT(data->hwirq)), NDS32_SR_INT_MASK2); in ativic32_unmask_irq() 36 u32 bit = 1 << data->hwirq; in nointc_set_wake() 40 __assign_bit(data->hwirq, &irq_orig_bit, true); in nointc_set_wake() 42 __assign_bit(data->hwirq, &irq_orig_bit, false); in nointc_set_wake() 44 __assign_bit(data->hwirq, &int_mask, true); in nointc_set_wake() 45 __assign_bit(data->hwirq, &wake_mask, true); in nointc_set_wake() 49 __assign_bit(data->hwirq, &int_mask, false); in nointc_set_wake() 51 __assign_bit(data->hwirq, in nointc_set_wake() 108 irq_hw_number_t hwirq = get_intr_src(); asm_do_IRQ() local [all...] |
H A D | irq-xilinx-intc.c | 65 unsigned long mask = BIT(d->hwirq); in intc_enable_or_unmask() 67 pr_debug("irq-xilinx: enable_or_unmask: %ld\n", d->hwirq); in intc_enable_or_unmask() 83 pr_debug("irq-xilinx: disable: %ld\n", d->hwirq); in intc_disable_or_mask() 84 xintc_write(irqc, CIE, BIT(d->hwirq)); in intc_disable_or_mask() 91 pr_debug("irq-xilinx: ack: %ld\n", d->hwirq); in intc_ack() 92 xintc_write(irqc, IAR, BIT(d->hwirq)); in intc_ack() 98 unsigned long mask = BIT(d->hwirq); in intc_mask_ack() 100 pr_debug("irq-xilinx: disable_and_ack: %ld\n", d->hwirq); in intc_mask_ack() 116 u32 hwirq; in xintc_get_irq_local() local 118 hwirq in xintc_get_irq_local() 130 u32 hwirq; xintc_get_irq() local [all...] |
H A D | irq-mvebu-sei.c | 59 u32 reg_idx = SEI_IRQ_REG_IDX(d->hwirq); in mvebu_sei_ack_irq() 61 writel_relaxed(BIT(SEI_IRQ_REG_BIT(d->hwirq)), in mvebu_sei_ack_irq() 68 u32 reg, reg_idx = SEI_IRQ_REG_IDX(d->hwirq); in mvebu_sei_mask_irq() 74 reg |= BIT(SEI_IRQ_REG_BIT(d->hwirq)); in mvebu_sei_mask_irq() 82 u32 reg, reg_idx = SEI_IRQ_REG_IDX(d->hwirq); in mvebu_sei_unmask_irq() 88 reg &= ~BIT(SEI_IRQ_REG_BIT(d->hwirq)); in mvebu_sei_unmask_irq() 144 msg->data = data->hwirq + sei->caps->cp_range.first; in mvebu_sei_cp_compose_msi_msg() 199 unsigned long *hwirq, in mvebu_sei_ap_translate() 202 *hwirq = fwspec->param[0]; in mvebu_sei_ap_translate() 213 unsigned long hwirq; in mvebu_sei_ap_alloc() local 197 mvebu_sei_ap_translate(struct irq_domain *domain, struct irq_fwspec *fwspec, unsigned long *hwirq, unsigned int *type) mvebu_sei_ap_translate() argument 241 mvebu_sei_cp_release_irq(struct mvebu_sei *sei, unsigned long hwirq) mvebu_sei_cp_release_irq() argument 254 unsigned long hwirq; mvebu_sei_cp_domain_alloc() local 339 unsigned long hwirq; mvebu_sei_handle_cascade_irq() local [all...] |
H A D | irq-sifive-plic.c | 85 int hwirq, int enable) in plic_toggle() 87 u32 __iomem *reg = handler->enable_base + (hwirq / 32) * sizeof(u32); in plic_toggle() 88 u32 hwirq_mask = 1 << (hwirq % 32); in plic_toggle() 104 writel(enable, priv->regs + PRIORITY_BASE + d->hwirq * PRIORITY_PER_ID); in plic_irq_toggle() 110 plic_toggle(handler, d->hwirq, enable); in plic_irq_toggle() 168 writel(d->hwirq, handler->hart_base + CONTEXT_CLAIM); in plic_irq_eoi() 171 writel(d->hwirq, handler->hart_base + CONTEXT_CLAIM); in plic_irq_eoi() 186 irq_hw_number_t hwirq) in plic_irqdomain_map() 190 irq_domain_set_info(d, irq, hwirq, &plic_chip, d->host_data, in plic_irqdomain_map() 201 irq_hw_number_t hwirq; in plic_irq_domain_alloc() local 84 plic_toggle(struct plic_handler *handler, int hwirq, int enable) plic_toggle() argument 185 plic_irqdomain_map(struct irq_domain *d, unsigned int irq, irq_hw_number_t hwirq) plic_irqdomain_map() argument 235 irq_hw_number_t hwirq; plic_handle_irq() local 317 irq_hw_number_t hwirq; plic_init() local [all...] |
/kernel/linux/linux-5.10/arch/powerpc/platforms/85xx/ |
H A D | socrates_fpga_pic.c | 109 unsigned int irq_line, hwirq = irqd_to_hwirq(d); in socrates_fpga_pic_ack() local 112 irq_line = fpga_irqs[hwirq].irq_line; in socrates_fpga_pic_ack() 116 mask |= (1 << (hwirq + 16)); in socrates_fpga_pic_ack() 124 unsigned int hwirq = irqd_to_hwirq(d); in socrates_fpga_pic_mask() local 128 irq_line = fpga_irqs[hwirq].irq_line; in socrates_fpga_pic_mask() 132 mask &= ~(1 << hwirq); in socrates_fpga_pic_mask() 140 unsigned int hwirq = irqd_to_hwirq(d); in socrates_fpga_pic_mask_ack() local 144 irq_line = fpga_irqs[hwirq].irq_line; in socrates_fpga_pic_mask_ack() 148 mask &= ~(1 << hwirq); in socrates_fpga_pic_mask_ack() 149 mask |= (1 << (hwirq in socrates_fpga_pic_mask_ack() 157 unsigned int hwirq = irqd_to_hwirq(d); socrates_fpga_pic_unmask() local 173 unsigned int hwirq = irqd_to_hwirq(d); socrates_fpga_pic_eoi() local 190 unsigned int hwirq = irqd_to_hwirq(d); socrates_fpga_pic_set_type() local 228 socrates_fpga_pic_host_map(struct irq_domain *h, unsigned int virq, irq_hw_number_t hwirq) socrates_fpga_pic_host_map() argument [all...] |
/kernel/linux/linux-6.6/arch/powerpc/platforms/85xx/ |
H A D | socrates_fpga_pic.c | 108 unsigned int irq_line, hwirq = irqd_to_hwirq(d); in socrates_fpga_pic_ack() local 111 irq_line = fpga_irqs[hwirq].irq_line; in socrates_fpga_pic_ack() 115 mask |= (1 << (hwirq + 16)); in socrates_fpga_pic_ack() 123 unsigned int hwirq = irqd_to_hwirq(d); in socrates_fpga_pic_mask() local 127 irq_line = fpga_irqs[hwirq].irq_line; in socrates_fpga_pic_mask() 131 mask &= ~(1 << hwirq); in socrates_fpga_pic_mask() 139 unsigned int hwirq = irqd_to_hwirq(d); in socrates_fpga_pic_mask_ack() local 143 irq_line = fpga_irqs[hwirq].irq_line; in socrates_fpga_pic_mask_ack() 147 mask &= ~(1 << hwirq); in socrates_fpga_pic_mask_ack() 148 mask |= (1 << (hwirq in socrates_fpga_pic_mask_ack() 156 unsigned int hwirq = irqd_to_hwirq(d); socrates_fpga_pic_unmask() local 172 unsigned int hwirq = irqd_to_hwirq(d); socrates_fpga_pic_eoi() local 189 unsigned int hwirq = irqd_to_hwirq(d); socrates_fpga_pic_set_type() local 227 socrates_fpga_pic_host_map(struct irq_domain *h, unsigned int virq, irq_hw_number_t hwirq) socrates_fpga_pic_host_map() argument [all...] |
/kernel/linux/linux-5.10/arch/powerpc/platforms/powernv/ |
H A D | pci-cxl.c | 42 int hwirq = msi_bitmap_alloc_hwirqs(&phb->msi_bmp, num); in pnv_cxl_alloc_hwirqs() local 44 if (hwirq < 0) { in pnv_cxl_alloc_hwirqs() 49 return phb->msi_base + hwirq; in pnv_cxl_alloc_hwirqs() 53 void pnv_cxl_release_hwirqs(struct pci_dev *dev, int hwirq, int num) in pnv_cxl_release_hwirqs() argument 58 msi_bitmap_free_hwirqs(&phb->msi_bmp, hwirq - phb->msi_base, num); in pnv_cxl_release_hwirqs() 67 int i, hwirq; in pnv_cxl_release_hwirq_ranges() local 75 hwirq = irqs->offset[i] - phb->msi_base; in pnv_cxl_release_hwirq_ranges() 76 msi_bitmap_free_hwirqs(&phb->msi_bmp, hwirq, in pnv_cxl_release_hwirq_ranges() 87 int i, hwirq, try; in pnv_cxl_alloc_hwirq_ranges() local 95 hwirq in pnv_cxl_alloc_hwirq_ranges() 128 pnv_cxl_ioda_msi_setup(struct pci_dev *dev, unsigned int hwirq, unsigned int virq) pnv_cxl_ioda_msi_setup() argument [all...] |
/kernel/linux/linux-6.6/arch/powerpc/platforms/powernv/ |
H A D | pci-cxl.c | 43 int hwirq = msi_bitmap_alloc_hwirqs(&phb->msi_bmp, num); in pnv_cxl_alloc_hwirqs() local 45 if (hwirq < 0) { in pnv_cxl_alloc_hwirqs() 50 return phb->msi_base + hwirq; in pnv_cxl_alloc_hwirqs() 54 void pnv_cxl_release_hwirqs(struct pci_dev *dev, int hwirq, int num) in pnv_cxl_release_hwirqs() argument 59 msi_bitmap_free_hwirqs(&phb->msi_bmp, hwirq - phb->msi_base, num); in pnv_cxl_release_hwirqs() 68 int i, hwirq; in pnv_cxl_release_hwirq_ranges() local 76 hwirq = irqs->offset[i] - phb->msi_base; in pnv_cxl_release_hwirq_ranges() 77 msi_bitmap_free_hwirqs(&phb->msi_bmp, hwirq, in pnv_cxl_release_hwirq_ranges() 88 int i, hwirq, try; in pnv_cxl_alloc_hwirq_ranges() local 96 hwirq in pnv_cxl_alloc_hwirq_ranges() 129 pnv_cxl_ioda_msi_setup(struct pci_dev *dev, unsigned int hwirq, unsigned int virq) pnv_cxl_ioda_msi_setup() argument [all...] |
/kernel/linux/linux-6.6/kernel/irq/ |
H A D | irqdomain.c | 389 * @first_hwirq: first hwirq number to use for the translation. Should normally 509 irq_hw_number_t hwirq) in irq_domain_clear_mapping() 516 if (hwirq < domain->revmap_size) in irq_domain_clear_mapping() 517 rcu_assign_pointer(domain->revmap[hwirq], NULL); in irq_domain_clear_mapping() 519 radix_tree_delete(&domain->revmap_tree, hwirq); in irq_domain_clear_mapping() 523 irq_hw_number_t hwirq, in irq_domain_set_mapping() 535 if (hwirq < domain->revmap_size) in irq_domain_set_mapping() 536 rcu_assign_pointer(domain->revmap[hwirq], irq_data); in irq_domain_set_mapping() 538 radix_tree_insert(&domain->revmap_tree, hwirq, irq_data); in irq_domain_set_mapping() 544 irq_hw_number_t hwirq; in irq_domain_disassociate() local 508 irq_domain_clear_mapping(struct irq_domain *domain, irq_hw_number_t hwirq) irq_domain_clear_mapping() argument 522 irq_domain_set_mapping(struct irq_domain *domain, irq_hw_number_t hwirq, struct irq_data *irq_data) irq_domain_set_mapping() argument 577 irq_domain_associate_locked(struct irq_domain *domain, unsigned int virq, irq_hw_number_t hwirq) irq_domain_associate_locked() argument 619 irq_domain_associate(struct irq_domain *domain, unsigned int virq, irq_hw_number_t hwirq) irq_domain_associate() argument 690 irq_create_mapping_affinity_locked(struct irq_domain *domain, irq_hw_number_t hwirq, const struct irq_affinity_desc *affinity) irq_create_mapping_affinity_locked() argument 729 irq_create_mapping_affinity(struct irq_domain *domain, irq_hw_number_t hwirq, const struct irq_affinity_desc *affinity) irq_create_mapping_affinity() argument 760 irq_domain_translate(struct irq_domain *d, struct irq_fwspec *fwspec, irq_hw_number_t *hwirq, unsigned int *type) irq_domain_translate() argument 795 irq_hw_number_t hwirq; irq_create_fwspec_mapping() local 933 __irq_resolve_mapping(struct irq_domain *domain, irq_hw_number_t hwirq, unsigned int *irq) __irq_resolve_mapping() argument 1082 irq_domain_alloc_descs(int virq, unsigned int cnt, irq_hw_number_t hwirq, int node, const struct irq_affinity_desc *affinity) irq_domain_alloc_descs() argument 1185 irq_hw_number_t hwirq = data->hwirq; irq_domain_remove_irq() local 1362 irq_domain_set_hwirq_and_chip(struct irq_domain *domain, unsigned int virq, irq_hw_number_t hwirq, const struct irq_chip *chip, void *chip_data) irq_domain_set_hwirq_and_chip() argument 1391 irq_domain_set_info(struct irq_domain *domain, unsigned int virq, irq_hw_number_t hwirq, const struct irq_chip *chip, void *chip_data, irq_flow_handler_t handler, void *handler_data, const char *handler_name) irq_domain_set_info() argument 1893 irq_domain_set_info(struct irq_domain *domain, unsigned int virq, irq_hw_number_t hwirq, const struct irq_chip *chip, void *chip_data, irq_flow_handler_t handler, void *handler_data, const char *handler_name) irq_domain_set_info() argument [all...] |
/kernel/linux/linux-5.10/kernel/irq/ |
H A D | irqdomain.c | 361 * @first_hwirq: first hwirq number to use for the translation. Should normally 488 irq_hw_number_t hwirq) in irq_domain_clear_mapping() 490 if (hwirq < domain->revmap_size) { in irq_domain_clear_mapping() 491 domain->linear_revmap[hwirq] = 0; in irq_domain_clear_mapping() 494 radix_tree_delete(&domain->revmap_tree, hwirq); in irq_domain_clear_mapping() 500 irq_hw_number_t hwirq, in irq_domain_set_mapping() 503 if (hwirq < domain->revmap_size) { in irq_domain_set_mapping() 504 domain->linear_revmap[hwirq] = irq_data->irq; in irq_domain_set_mapping() 507 radix_tree_insert(&domain->revmap_tree, hwirq, irq_data); in irq_domain_set_mapping() 515 irq_hw_number_t hwirq; in irq_domain_disassociate() local 487 irq_domain_clear_mapping(struct irq_domain *domain, irq_hw_number_t hwirq) irq_domain_clear_mapping() argument 499 irq_domain_set_mapping(struct irq_domain *domain, irq_hw_number_t hwirq, struct irq_data *irq_data) irq_domain_set_mapping() argument 548 irq_domain_associate_locked(struct irq_domain *domain, unsigned int virq, irq_hw_number_t hwirq) irq_domain_associate_locked() argument 594 irq_domain_associate(struct irq_domain *domain, unsigned int virq, irq_hw_number_t hwirq) irq_domain_associate() argument 664 irq_create_mapping_affinity_locked(struct irq_domain *domain, irq_hw_number_t hwirq, const struct irq_affinity_desc *affinity) irq_create_mapping_affinity_locked() argument 703 irq_create_mapping_affinity(struct irq_domain *domain, irq_hw_number_t hwirq, const struct irq_affinity_desc *affinity) irq_create_mapping_affinity() argument 769 irq_domain_translate(struct irq_domain *d, struct irq_fwspec *fwspec, irq_hw_number_t *hwirq, unsigned int *type) irq_domain_translate() argument 804 irq_hw_number_t hwirq; irq_create_fwspec_mapping() local 939 irq_find_mapping(struct irq_domain *domain, irq_hw_number_t hwirq) irq_find_mapping() argument 1073 irq_domain_alloc_descs(int virq, unsigned int cnt, irq_hw_number_t hwirq, int node, const struct irq_affinity_desc *affinity) irq_domain_alloc_descs() argument 1178 irq_hw_number_t hwirq = data->hwirq; irq_domain_remove_irq() local 1354 irq_domain_set_hwirq_and_chip(struct irq_domain *domain, unsigned int virq, irq_hw_number_t hwirq, struct irq_chip *chip, void *chip_data) irq_domain_set_hwirq_and_chip() argument 1382 irq_domain_set_info(struct irq_domain *domain, unsigned int virq, irq_hw_number_t hwirq, struct irq_chip *chip, void *chip_data, irq_flow_handler_t handler, void *handler_data, const char *handler_name) irq_domain_set_info() argument 1894 irq_domain_set_info(struct irq_domain *domain, unsigned int virq, irq_hw_number_t hwirq, struct irq_chip *chip, void *chip_data, irq_flow_handler_t handler, void *handler_data, const char *handler_name) irq_domain_set_info() argument [all...] |
/kernel/linux/linux-5.10/drivers/pinctrl/mediatek/ |
H A D | mtk-eint.c | 85 static int mtk_eint_flip_edge(struct mtk_eint *eint, int hwirq) in mtk_eint_flip_edge() argument 89 u32 mask = BIT(hwirq & 0x1f); in mtk_eint_flip_edge() 90 u32 port = (hwirq >> 5) & eint->hw->port_mask; in mtk_eint_flip_edge() 93 curr_level = eint->gpio_xlate->get_gpio_state(eint->pctl, hwirq); in mtk_eint_flip_edge() 104 hwirq); in mtk_eint_flip_edge() 113 u32 mask = BIT(d->hwirq & 0x1f); in mtk_eint_mask() 114 void __iomem *reg = mtk_eint_get_offset(eint, d->hwirq, in mtk_eint_mask() 117 eint->cur_mask[d->hwirq >> 5] &= ~mask; in mtk_eint_mask() 125 u32 mask = BIT(d->hwirq & 0x1f); in mtk_eint_unmask() 126 void __iomem *reg = mtk_eint_get_offset(eint, d->hwirq, in mtk_eint_unmask() [all...] |
/kernel/linux/linux-5.10/arch/powerpc/platforms/pasemi/ |
H A D | msi.c | 61 irq_hw_number_t hwirq; in pasemi_msi_teardown_msi_irqs() local 69 hwirq = virq_to_hw(entry->irq); in pasemi_msi_teardown_msi_irqs() 72 msi_bitmap_free_hwirqs(&msi_mpic->msi_bitmap, hwirq, ALLOC_CHUNK); in pasemi_msi_teardown_msi_irqs() 83 int hwirq; in pasemi_msi_setup_msi_irqs() local 99 hwirq = msi_bitmap_alloc_hwirqs(&msi_mpic->msi_bitmap, in pasemi_msi_setup_msi_irqs() 101 if (hwirq < 0) { in pasemi_msi_setup_msi_irqs() 102 pr_debug("pasemi_msi: failed allocating hwirq\n"); in pasemi_msi_setup_msi_irqs() 103 return hwirq; in pasemi_msi_setup_msi_irqs() 106 virq = irq_create_mapping(msi_mpic->irqhost, hwirq); in pasemi_msi_setup_msi_irqs() 108 pr_debug("pasemi_msi: failed mapping hwirq in pasemi_msi_setup_msi_irqs() [all...] |
/kernel/linux/linux-6.6/arch/powerpc/platforms/pasemi/ |
H A D | msi.c | 61 irq_hw_number_t hwirq; in pasemi_msi_teardown_msi_irqs() local 66 hwirq = virq_to_hw(entry->irq); in pasemi_msi_teardown_msi_irqs() 70 msi_bitmap_free_hwirqs(&msi_mpic->msi_bitmap, hwirq, ALLOC_CHUNK); in pasemi_msi_teardown_msi_irqs() 79 int hwirq; in pasemi_msi_setup_msi_irqs() local 95 hwirq = msi_bitmap_alloc_hwirqs(&msi_mpic->msi_bitmap, in pasemi_msi_setup_msi_irqs() 97 if (hwirq < 0) { in pasemi_msi_setup_msi_irqs() 98 pr_debug("pasemi_msi: failed allocating hwirq\n"); in pasemi_msi_setup_msi_irqs() 99 return hwirq; in pasemi_msi_setup_msi_irqs() 102 virq = irq_create_mapping(msi_mpic->irqhost, hwirq); in pasemi_msi_setup_msi_irqs() 104 pr_debug("pasemi_msi: failed mapping hwirq in pasemi_msi_setup_msi_irqs() [all...] |
/kernel/linux/linux-6.6/drivers/pinctrl/mediatek/ |
H A D | mtk-eint.c | 101 static int mtk_eint_flip_edge(struct mtk_eint *eint, int hwirq) in mtk_eint_flip_edge() argument 105 u32 mask = BIT(hwirq & 0x1f); in mtk_eint_flip_edge() 106 u32 port = (hwirq >> 5) & eint->hw->port_mask; in mtk_eint_flip_edge() 109 curr_level = eint->gpio_xlate->get_gpio_state(eint->pctl, hwirq); in mtk_eint_flip_edge() 120 hwirq); in mtk_eint_flip_edge() 129 u32 mask = BIT(d->hwirq & 0x1f); in mtk_eint_mask() 130 void __iomem *reg = mtk_eint_get_offset(eint, d->hwirq, in mtk_eint_mask() 133 eint->cur_mask[d->hwirq >> 5] &= ~mask; in mtk_eint_mask() 141 u32 mask = BIT(d->hwirq & 0x1f); in mtk_eint_unmask() 142 void __iomem *reg = mtk_eint_get_offset(eint, d->hwirq, in mtk_eint_unmask() [all...] |