Lines Matching full: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()
214 curr_cpu = hwirq_to_cpu(msi, data->hwirq); in iproc_msi_irq_set_affinity()
219 data->hwirq = hwirq_to_canonical_hwirq(msi, data->hwirq) + target_cpu; in iproc_msi_irq_set_affinity()
234 addr = msi->msi_addr + iproc_msi_addr_offset(msi, data->hwirq); in iproc_msi_irq_compose_msi_msg()
237 msg->data = data->hwirq << 5; in iproc_msi_irq_compose_msi_msg()
251 int hwirq, i; in iproc_msi_irq_domain_alloc() local
262 hwirq = bitmap_find_free_region(msi->bitmap, msi->nr_msi_vecs, in iproc_msi_irq_domain_alloc()
267 if (hwirq < 0) in iproc_msi_irq_domain_alloc()
271 irq_domain_set_info(domain, virq + i, hwirq + i, in iproc_msi_irq_domain_alloc()
285 unsigned int hwirq; in iproc_msi_irq_domain_free() local
289 hwirq = hwirq_to_canonical_hwirq(msi, data->hwirq); in iproc_msi_irq_domain_free()
290 bitmap_release_region(msi->bitmap, hwirq, in iproc_msi_irq_domain_free()
306 u32 hwirq; in decode_msi_hwirq() local
311 hwirq = readl(msg); in decode_msi_hwirq()
312 hwirq = (hwirq >> 5) + (hwirq & 0x1f); in decode_msi_hwirq()
315 * Since we have multiple hwirq mapped to a single MSI vector, in decode_msi_hwirq()
316 * now we need to derive the hwirq at CPU0. It can then be used to in decode_msi_hwirq()
319 return hwirq_to_canonical_hwirq(msi, hwirq); in decode_msi_hwirq()
328 unsigned long hwirq; in iproc_msi_handler() local
363 hwirq = decode_msi_hwirq(msi, eq, head); in iproc_msi_handler()
364 generic_handle_domain_irq(msi->inner_domain, hwirq); in iproc_msi_handler()