• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/macintosh/

Lines Matching refs:via

2  * Device driver for the via-cuda on Apple Powermacs.
32 static volatile unsigned char __iomem *via;
127 via = via1;
133 via = NULL;
154 vias = of_find_node_by_name(NULL, "via-cuda");
160 printk(KERN_ERR "via-cuda: No \"reg\" property !\n");
165 printk(KERN_ERR "via-cuda: Can't translate address !\n");
168 via = ioremap(taddr, 0x2000);
169 if (via == NULL) {
170 printk(KERN_ERR "via-cuda: Can't map address !\n");
180 via = NULL;
185 /* for us by the main VIA driver in arch/m68k/mac/via.c */
187 out_8(&via[IFR], 0x7f); /* clear interrupts by writing 1s */
188 out_8(&via[IER], IER_SET|SR_INT); /* enable interrupt from SR */
206 if (via == NULL)
214 printk(KERN_ERR "via-cuda: can't map interrupts for %s\n",
221 printk(KERN_ERR "via-cuda: can't request irq %d\n", cuda_irq);
244 if (via == NULL)
265 out_8(&via[DIRB], (in_8(&via[DIRB]) | TACK | TIP) & ~TREQ); /* TACK & TIP out */
266 out_8(&via[B], in_8(&via[B]) | TACK | TIP); /* negate them */
267 out_8(&via[ACR] ,(in_8(&via[ACR]) & ~SR_CTRL) | SR_EXT); /* SR data in */
268 (void)in_8(&via[SR]); /* clear any left-over data */
270 out_8(&via[IER], 0x7f); /* disable interrupts from VIA */
271 (void)in_8(&via[IER]);
273 out_8(&via[IER], SR_INT); /* disable SR interrupt from VIA */
278 (void)in_8(&via[SR]);
279 out_8(&via[IFR], SR_INT);
282 out_8(&via[B], in_8(&via[B]) & ~TACK);
285 WAIT_FOR((in_8(&via[B]) & TREQ) == 0, "CUDA response to sync");
288 WAIT_FOR(in_8(&via[IFR]) & SR_INT, "CUDA response to sync (2)");
289 (void)in_8(&via[SR]);
290 out_8(&via[IFR], SR_INT);
293 out_8(&via[B], in_8(&via[B]) | TACK);
296 WAIT_FOR(in_8(&via[B]) & TREQ, "CUDA response to sync (3)");
297 WAIT_FOR(in_8(&via[IFR]) & SR_INT, "CUDA response to sync (4)");
298 (void)in_8(&via[SR]);
299 out_8(&via[IFR], SR_INT);
300 out_8(&via[B], in_8(&via[B]) | TIP); /* should be unnecessary */
312 if ((via == NULL) || !cuda_fully_inited) {
337 if ((via == NULL) || !cuda_fully_inited)
352 if ((via == NULL) || !cuda_fully_inited)
369 if (via == NULL) {
423 if ((in_8(&via[B]) & TREQ) == 0)
427 out_8(&via[ACR], in_8(&via[ACR]) | SR_OUT);
428 out_8(&via[SR], req->data[0]);
429 out_8(&via[B], in_8(&via[B]) & ~TIP);
467 if ((in_8(&via[IFR]) & SR_INT) == 0) {
471 out_8(&via[IFR], SR_INT);
475 status = (~in_8(&via[B]) & (TIP|TREQ)) | (in_8(&via[ACR]) & SR_OUT);
482 (void)in_8(&via[SR]);
483 out_8(&via[B], in_8(&via[B]) & ~TIP);
493 (void)in_8(&via[SR]);
494 out_8(&via[B], in_8(&via[B]) & ~TIP);
503 out_8(&via[ACR], in_8(&via[ACR]) & ~SR_OUT);
504 (void)in_8(&via[SR]);
505 out_8(&via[B], in_8(&via[B]) | TIP | TACK);
511 out_8(&via[SR], current_req->data[1]);
512 out_8(&via[B], in_8(&via[B]) ^ TACK);
521 out_8(&via[ACR], in_8(&via[ACR]) & ~SR_OUT);
522 (void)in_8(&via[SR]);
523 out_8(&via[B], in_8(&via[B]) | TACK | TIP);
535 out_8(&via[SR], req->data[data_index++]);
536 out_8(&via[B], in_8(&via[B]) ^ TACK);
541 *reply_ptr++ = in_8(&via[SR]);
544 out_8(&via[B], in_8(&via[B]) | TACK | TIP);
550 out_8(&via[B], in_8(&via[B]) ^ TACK);
555 (void)in_8(&via[SR]);
584 out_8(&via[B], in_8(&via[B]) & ~TIP);