Lines Matching refs:hwirq
146 static inline u32 hwirq_to_group(struct iproc_msi *msi, unsigned long hwirq) in hwirq_to_group() argument
148 return (hwirq % msi->nr_irqs); in hwirq_to_group()
152 unsigned long hwirq) in iproc_msi_addr_offset() argument
155 return hwirq_to_group(msi, hwirq) * MSI_MEM_REGION_SIZE; in iproc_msi_addr_offset()
157 return hwirq_to_group(msi, hwirq) * sizeof(u32); in iproc_msi_addr_offset()
195 static inline int hwirq_to_cpu(struct iproc_msi *msi, unsigned long hwirq) in hwirq_to_cpu() argument
197 return (hwirq % msi->nr_cpus); in hwirq_to_cpu()
201 unsigned long hwirq) in hwirq_to_canonical_hwirq()
203 return (hwirq - hwirq_to_cpu(msi, hwirq)); in hwirq_to_canonical_hwirq()
213 curr_cpu = hwirq_to_cpu(msi, data->hwirq); in iproc_msi_irq_set_affinity()
218 data->hwirq = hwirq_to_canonical_hwirq(msi, data->hwirq) + target_cpu; in iproc_msi_irq_set_affinity()
229 addr = msi->msi_addr + iproc_msi_addr_offset(msi, data->hwirq); in iproc_msi_irq_compose_msi_msg()
232 msg->data = data->hwirq << 5; in iproc_msi_irq_compose_msi_msg()
246 int hwirq, i; in iproc_msi_irq_domain_alloc() local
251 hwirq = bitmap_find_next_zero_area(msi->bitmap, msi->nr_msi_vecs, 0, in iproc_msi_irq_domain_alloc()
253 if (hwirq < msi->nr_msi_vecs) { in iproc_msi_irq_domain_alloc()
254 bitmap_set(msi->bitmap, hwirq, msi->nr_cpus); in iproc_msi_irq_domain_alloc()
263 irq_domain_set_info(domain, virq + i, hwirq + i, in iproc_msi_irq_domain_alloc()
269 return hwirq; in iproc_msi_irq_domain_alloc()
277 unsigned int hwirq; in iproc_msi_irq_domain_free() local
281 hwirq = hwirq_to_canonical_hwirq(msi, data->hwirq); in iproc_msi_irq_domain_free()
282 bitmap_clear(msi->bitmap, hwirq, msi->nr_cpus); in iproc_msi_irq_domain_free()
296 u32 *msg, hwirq; in decode_msi_hwirq() local
301 hwirq = readl(msg); in decode_msi_hwirq()
302 hwirq = (hwirq >> 5) + (hwirq & 0x1f); in decode_msi_hwirq()
309 return hwirq_to_canonical_hwirq(msi, hwirq); in decode_msi_hwirq()
318 unsigned long hwirq; in iproc_msi_handler() local
354 hwirq = decode_msi_hwirq(msi, eq, head); in iproc_msi_handler()
355 virq = irq_find_mapping(msi->inner_domain, hwirq); in iproc_msi_handler()