Lines Matching refs:via
32 static volatile unsigned char __iomem *via;
108 out_8(&via[B], in_8(&via[B]) | TIP);
110 out_8(&via[B], in_8(&via[B]) & ~TIP);
117 out_8(&via[B], in_8(&via[B]) | TIP | TACK);
119 out_8(&via[B], in_8(&via[B]) & ~(TIP | TACK));
126 out_8(&via[B], in_8(&via[B]) | TACK);
128 out_8(&via[B], in_8(&via[B]) & ~TACK);
133 out_8(&via[B], in_8(&via[B]) ^ TACK);
140 out_8(&via[B], in_8(&via[B]) & ~TACK);
142 out_8(&via[B], in_8(&via[B]) | TACK);
149 out_8(&via[B], in_8(&via[B]) & ~(TIP | TACK));
151 out_8(&via[B], in_8(&via[B]) | TIP | TACK);
213 via = via1;
220 via = NULL;
241 vias = of_find_node_by_name(NULL, "via-cuda");
247 printk(KERN_ERR "via-cuda: No \"reg\" property !\n");
252 printk(KERN_ERR "via-cuda: Can't translate address !\n");
255 via = ioremap(taddr, 0x2000);
256 if (via == NULL) {
257 printk(KERN_ERR "via-cuda: Can't map address !\n");
267 via = NULL;
272 /* for us by the main VIA driver in arch/m68k/mac/via.c */
274 out_8(&via[IFR], 0x7f); /* clear interrupts by writing 1s */
275 out_8(&via[IER], IER_SET|SR_INT); /* enable interrupt from SR */
293 if (via == NULL)
301 printk(KERN_ERR "via-cuda: can't map interrupts for %pOF\n",
308 printk(KERN_ERR "via-cuda: can't request irq %d\n", cuda_irq);
332 if (via == NULL)
340 if (TREQ_asserted(in_8(&via[B]))) {
346 (void)in_8(&via[SR]);
348 if (!TREQ_asserted(in_8(&via[B])))
352 } else if (in_8(&via[B]) & TIP) {
360 if (in_8(&via[IFR]) & SR_INT)
361 (void)in_8(&via[SR]);
381 out_8(&via[IER], 0x7f); /* disable interrupts from VIA */
382 (void)in_8(&via[IER]);
384 out_8(&via[IER], SR_INT); /* disable SR interrupt from VIA */
387 out_8(&via[DIRB], (in_8(&via[DIRB]) | TACK | TIP) & ~TREQ); /* TACK & TIP out */
388 out_8(&via[ACR], (in_8(&via[ACR]) & ~SR_CTRL) | SR_EXT); /* SR data in */
389 (void)in_8(&via[SR]); /* clear any left-over data */
398 (void)in_8(&via[SR]);
399 out_8(&via[IFR], SR_INT);
405 WAIT_FOR(TREQ_asserted(in_8(&via[B])), "CUDA response to sync");
408 WAIT_FOR(in_8(&via[IFR]) & SR_INT, "CUDA response to sync (2)");
409 (void)in_8(&via[SR]);
410 out_8(&via[IFR], SR_INT);
416 WAIT_FOR(!TREQ_asserted(in_8(&via[B])), "CUDA response to sync (3)");
417 WAIT_FOR(in_8(&via[IFR]) & SR_INT, "CUDA response to sync (4)");
418 (void)in_8(&via[SR]);
419 out_8(&via[IFR], SR_INT);
431 if ((via == NULL) || !cuda_fully_inited) {
456 if ((via == NULL) || !cuda_fully_inited)
471 if ((via == NULL) || !cuda_fully_inited)
489 if (via == NULL) {
541 if (TREQ_asserted(in_8(&via[B])))
545 out_8(&via[ACR], in_8(&via[ACR]) | SR_OUT);
546 out_8(&via[SR], current_req->data[data_index++]);
586 if ((in_8(&via[IFR]) & SR_INT) == 0) {
590 out_8(&via[IFR], SR_INT);
594 status = in_8(&via[B]) & (TIP | TACK | TREQ);
599 (void)in_8(&via[SR]);
609 (void)in_8(&via[SR]);
619 out_8(&via[ACR], in_8(&via[ACR]) & ~SR_OUT);
620 (void)in_8(&via[SR]);
627 out_8(&via[SR], current_req->data[data_index++]);
638 out_8(&via[ACR], in_8(&via[ACR]) & ~SR_OUT);
639 (void)in_8(&via[SR]);
652 out_8(&via[SR], req->data[data_index++]);
663 (void)in_8(&via[SR]);
665 *reply_ptr++ = in_8(&via[SR]);
683 (void)in_8(&via[SR]);
716 if (cuda_state == idle && TREQ_asserted(in_8(&via[B]))) {