• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500-V1.0.1.40_1.0.68/src/linux/linux-2.6/arch/powerpc/sysdev/

Lines Matching refs:uic

2  * arch/powerpc/sysdev/uic.c
45 struct uic *primary_uic;
47 struct uic {
65 struct uic *uic = get_irq_chip_data(virq);
70 spin_lock_irqsave(&uic->lock, flags);
71 er = mfdcr(uic->dcrbase + UIC_ER);
73 mtdcr(uic->dcrbase + UIC_ER, er);
74 spin_unlock_irqrestore(&uic->lock, flags);
79 struct uic *uic = get_irq_chip_data(virq);
84 spin_lock_irqsave(&uic->lock, flags);
85 er = mfdcr(uic->dcrbase + UIC_ER);
87 mtdcr(uic->dcrbase + UIC_ER, er);
88 spin_unlock_irqrestore(&uic->lock, flags);
93 struct uic *uic = get_irq_chip_data(virq);
97 spin_lock_irqsave(&uic->lock, flags);
98 mtdcr(uic->dcrbase + UIC_SR, 1 << (31-src));
99 spin_unlock_irqrestore(&uic->lock, flags);
104 struct uic *uic = get_irq_chip_data(virq);
134 spin_lock_irqsave(&uic->lock, flags);
135 tr = mfdcr(uic->dcrbase + UIC_TR);
136 pr = mfdcr(uic->dcrbase + UIC_PR);
140 mtdcr(uic->dcrbase + UIC_PR, pr);
141 mtdcr(uic->dcrbase + UIC_TR, tr);
148 spin_unlock_irqrestore(&uic->lock, flags);
164 struct uic *uic = h->host_data;
165 return uic->of_node == node;
171 struct uic *uic = h->host_data;
173 set_irq_chip_data(virq, uic);
202 struct uic *uic = data;
207 msr = mfdcr(uic->dcrbase + UIC_MSR);
210 subvirq = irq_linear_revmap(uic->irqhost, src);
216 static struct uic * __init uic_init_one(struct device_node *node)
218 struct uic *uic;
222 BUG_ON(! of_device_is_compatible(node, "ibm,uic"));
224 uic = alloc_bootmem(sizeof(*uic));
225 if (! uic)
228 memset(uic, 0, sizeof(*uic));
229 spin_lock_init(&uic->lock);
230 uic->of_node = of_node_get(node);
233 printk(KERN_ERR "uic: Device node %s has missing or invalid "
237 uic->index = *indexp;
241 printk(KERN_ERR "uic: Device node %s has missing or invalid "
245 uic->dcrbase = *dcrreg;
247 uic->irqhost = irq_alloc_host(IRQ_HOST_MAP_LINEAR, NR_UIC_INTS,
249 if (! uic->irqhost) {
254 uic->irqhost->host_data = uic;
257 mtdcr(uic->dcrbase + UIC_ER, 0);
258 mtdcr(uic->dcrbase + UIC_CR, 0);
259 mtdcr(uic->dcrbase + UIC_TR, 0);
261 mtdcr(uic->dcrbase + UIC_SR, 0xffffffff);
263 printk ("UIC%d (%d IRQ sources) at DCR 0x%x\n", uic->index,
264 NR_UIC_INTS, uic->dcrbase);
266 return uic;
272 struct uic *uic;
277 np = of_find_compatible_node(NULL, NULL, "ibm,uic");
283 np = of_find_compatible_node(np, NULL, "ibm,uic");
296 np = of_find_compatible_node(NULL, NULL, "ibm,uic");
304 uic = uic_init_one(np);
305 if (! uic)
311 uic->cascade.handler = uic_cascade;
312 uic->cascade.name = "UIC cascade";
313 uic->cascade.dev_id = uic;
315 ret = setup_irq(cascade_virq, &uic->cascade);
319 uic->index);
323 np = of_find_compatible_node(np, NULL, "ibm,uic");