Lines Matching refs:via
35 static volatile unsigned char __iomem *via;
111 out_8(&via[B], in_8(&via[B]) | TIP);
113 out_8(&via[B], in_8(&via[B]) & ~TIP);
120 out_8(&via[B], in_8(&via[B]) | TIP | TACK);
122 out_8(&via[B], in_8(&via[B]) & ~(TIP | TACK));
129 out_8(&via[B], in_8(&via[B]) | TACK);
131 out_8(&via[B], in_8(&via[B]) & ~TACK);
136 out_8(&via[B], in_8(&via[B]) ^ TACK);
143 out_8(&via[B], in_8(&via[B]) & ~TACK);
145 out_8(&via[B], in_8(&via[B]) | TACK);
152 out_8(&via[B], in_8(&via[B]) & ~(TIP | TACK));
154 out_8(&via[B], in_8(&via[B]) | TIP | TACK);
216 via = via1;
223 via = NULL;
243 vias = of_find_node_by_name(NULL, "via-cuda");
249 printk(KERN_ERR "via-cuda: Error getting \"reg\" property !\n");
252 via = ioremap(res.start, 0x2000);
253 if (via == NULL) {
254 printk(KERN_ERR "via-cuda: Can't map address !\n");
264 via = NULL;
269 /* for us by the main VIA driver in arch/m68k/mac/via.c */
271 out_8(&via[IFR], 0x7f); /* clear interrupts by writing 1s */
272 out_8(&via[IER], IER_SET|SR_INT); /* enable interrupt from SR */
290 if (via == NULL)
298 printk(KERN_ERR "via-cuda: can't map interrupts for %pOF\n",
305 printk(KERN_ERR "via-cuda: can't request irq %d\n", cuda_irq);
329 if (via == NULL)
337 if (TREQ_asserted(in_8(&via[B]))) {
343 (void)in_8(&via[SR]);
345 if (!TREQ_asserted(in_8(&via[B])))
349 } else if (in_8(&via[B]) & TIP) {
357 if (in_8(&via[IFR]) & SR_INT)
358 (void)in_8(&via[SR]);
378 out_8(&via[IER], 0x7f); /* disable interrupts from VIA */
379 (void)in_8(&via[IER]);
381 out_8(&via[IER], SR_INT); /* disable SR interrupt from VIA */
384 out_8(&via[DIRB], (in_8(&via[DIRB]) | TACK | TIP) & ~TREQ); /* TACK & TIP out */
385 out_8(&via[ACR], (in_8(&via[ACR]) & ~SR_CTRL) | SR_EXT); /* SR data in */
386 (void)in_8(&via[SR]); /* clear any left-over data */
395 (void)in_8(&via[SR]);
396 out_8(&via[IFR], SR_INT);
402 WAIT_FOR(TREQ_asserted(in_8(&via[B])), "CUDA response to sync");
405 WAIT_FOR(in_8(&via[IFR]) & SR_INT, "CUDA response to sync (2)");
406 (void)in_8(&via[SR]);
407 out_8(&via[IFR], SR_INT);
413 WAIT_FOR(!TREQ_asserted(in_8(&via[B])), "CUDA response to sync (3)");
414 WAIT_FOR(in_8(&via[IFR]) & SR_INT, "CUDA response to sync (4)");
415 (void)in_8(&via[SR]);
416 out_8(&via[IFR], SR_INT);
428 if ((via == NULL) || !cuda_fully_inited) {
453 if ((via == NULL) || !cuda_fully_inited)
468 if ((via == NULL) || !cuda_fully_inited)
486 if (via == NULL) {
538 if (TREQ_asserted(in_8(&via[B])))
542 out_8(&via[ACR], in_8(&via[ACR]) | SR_OUT);
543 out_8(&via[SR], current_req->data[data_index++]);
583 if ((in_8(&via[IFR]) & SR_INT) == 0) {
587 out_8(&via[IFR], SR_INT);
591 status = in_8(&via[B]) & (TIP | TACK | TREQ);
596 (void)in_8(&via[SR]);
606 (void)in_8(&via[SR]);
616 out_8(&via[ACR], in_8(&via[ACR]) & ~SR_OUT);
617 (void)in_8(&via[SR]);
624 out_8(&via[SR], current_req->data[data_index++]);
635 out_8(&via[ACR], in_8(&via[ACR]) & ~SR_OUT);
636 (void)in_8(&via[SR]);
649 out_8(&via[SR], req->data[data_index++]);
660 (void)in_8(&via[SR]);
662 *reply_ptr++ = in_8(&via[SR]);
680 (void)in_8(&via[SR]);
713 if (cuda_state == idle && TREQ_asserted(in_8(&via[B]))) {