• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/arch/ia64/sn/kernel/

Lines Matching defs:sn_irq_info

27 static void register_intr_pda(struct sn_irq_info *sn_irq_info);
28 static void unregister_intr_pda(struct sn_irq_info *sn_irq_info);
36 struct sn_irq_info *sn_irq_info,
46 (u64) local_widget, __pa(sn_irq_info), (u64) req_irq,
53 struct sn_irq_info *sn_irq_info)
61 (u64) local_widget, (u64) sn_irq_info->irq_irq,
62 (u64) sn_irq_info->irq_cookie, 0, 0);
66 struct sn_irq_info *sn_irq_info,
75 (u64) local_widget, __pa(sn_irq_info),
141 struct sn_irq_info *sn_retarget_vector(struct sn_irq_info *sn_irq_info,
152 struct sn_irq_info *new_irq_info;
155 bridge = (u64) sn_irq_info->irq_bridge;
166 vector = sn_irq_info->irq_irq;
169 status = sn_intr_redirect(local_nasid, local_widget, sn_irq_info, nasid, slice);
171 new_irq_info = sn_irq_info;
179 new_irq_info = kmalloc(sizeof(struct sn_irq_info), GFP_ATOMIC);
183 memcpy(new_irq_info, sn_irq_info, sizeof(struct sn_irq_info));
202 list_replace_rcu(&sn_irq_info->list, &new_irq_info->list);
204 call_rcu(&sn_irq_info->rcu, sn_irq_info_free);
233 struct sn_irq_info *sn_irq_info, *sn_irq_info_safe;
240 list_for_each_entry_safe(sn_irq_info, sn_irq_info_safe,
242 (void)sn_retarget_vector(sn_irq_info, nasid, slice);
311 static void register_intr_pda(struct sn_irq_info *sn_irq_info)
313 int irq = sn_irq_info->irq_irq;
314 int cpu = sn_irq_info->irq_cpuid;
324 static void unregister_intr_pda(struct sn_irq_info *sn_irq_info)
326 int irq = sn_irq_info->irq_irq;
327 int cpu = sn_irq_info->irq_cpuid;
328 struct sn_irq_info *tmp_irq_info;
368 struct sn_irq_info *sn_irq_info;
370 sn_irq_info = container_of(head, struct sn_irq_info, rcu);
371 kfree(sn_irq_info);
374 void sn_irq_fixup(struct pci_dev *pci_dev, struct sn_irq_info *sn_irq_info)
376 nasid_t nasid = sn_irq_info->irq_nasid;
377 int slice = sn_irq_info->irq_slice;
385 sn_irq_info->irq_cpuid = cpu;
386 sn_irq_info->irq_pciioinfo = SN_PCIDEV_INFO(pci_dev);
390 list_add_rcu(&sn_irq_info->list, sn_irq_lh[sn_irq_info->irq_irq]);
391 reserve_irq_vector(sn_irq_info->irq_irq);
394 register_intr_pda(sn_irq_info);
397 set_irq_affinity_info(sn_irq_info->irq_irq, cpuphys, 0);
398 desc = irq_to_desc(sn_irq_info->irq_irq);
409 struct sn_irq_info *sn_irq_info;
415 sn_irq_info = SN_PCIDEV_INFO(pci_dev)->pdi_sn_irq_info;
416 if (!sn_irq_info)
418 if (!sn_irq_info->irq_irq) {
419 kfree(sn_irq_info);
423 unregister_intr_pda(sn_irq_info);
425 list_del_rcu(&sn_irq_info->list);
427 if (list_empty(sn_irq_lh[sn_irq_info->irq_irq]))
428 free_irq_vector(sn_irq_info->irq_irq);
429 call_rcu(&sn_irq_info->rcu, sn_irq_info_free);
435 sn_call_force_intr_provider(struct sn_irq_info *sn_irq_info)
439 pci_provider = sn_pci_provider[sn_irq_info->irq_bridge_type];
442 if (!(irq_desc[sn_irq_info->irq_irq].status & IRQ_DISABLED) &&
444 (*pci_provider->force_interrupt)(sn_irq_info);
449 struct sn_irq_info *sn_irq_info;
455 list_for_each_entry_rcu(sn_irq_info, sn_irq_lh[irq], list)
456 sn_call_force_intr_provider(sn_irq_info);
470 static void sn_check_intr(int irq, struct sn_irq_info *sn_irq_info)
481 if (sn_irq_info->irq_bridge_type != PCIIO_ASIC_TYPE_PIC)
484 pcidev_info = (struct pcidev_info *)sn_irq_info->irq_pciioinfo;
496 if (sn_irq_info->irq_int_bit & regval &
497 sn_irq_info->irq_last_intr) {
498 regval &= ~(sn_irq_info->irq_int_bit & regval);
499 sn_call_force_intr_provider(sn_irq_info);
503 sn_irq_info->irq_last_intr = regval;
508 struct sn_irq_info *sn_irq_info;
516 list_for_each_entry_rcu(sn_irq_info, sn_irq_lh[i], list) {
517 sn_check_intr(i, sn_irq_info);