Lines Matching refs:apbs
90 } apbs[MAX_BOARD]; variable
147 if (apbs[boardno - 1].RamIO) { in ac_register_board()
149 boardno, physloc, boardno, apbs[boardno-1].PhysIO); in ac_register_board()
155 apbs[boardno].PhysIO = physloc; in ac_register_board()
156 apbs[boardno].RamIO = loc; in ac_register_board()
157 init_waitqueue_head(&apbs[boardno].FlagSleepSend); in ac_register_board()
158 spin_lock_init(&apbs[boardno].mutex); in ac_register_board()
173 if (!apbs[i].RamIO) in applicom_exit()
176 if (apbs[i].irq) in applicom_exit()
177 free_irq(apbs[i].irq, &dummy); in applicom_exit()
179 iounmap(apbs[i].RamIO); in applicom_exit()
233 apbs[boardno - 1].RamIO = NULL; in applicom_init()
239 writeb(0x40, apbs[boardno - 1].RamIO + RAM_IT_FROM_PC); in applicom_init()
241 apbs[boardno - 1].irq = dev->irq; in applicom_init()
279 apbs[boardno - 1].RamIO = NULL; in applicom_init()
282 apbs[boardno - 1].irq = irq; in applicom_init()
285 apbs[boardno - 1].irq = 0; in applicom_init()
311 if (!apbs[i].RamIO) in applicom_init()
315 boardname[serial] = readb(apbs[i].RamIO + TYPE_CARD + serial); in applicom_init()
322 (int)(readb(apbs[i].RamIO + VERS) >> 4), in applicom_init()
323 (int)(readb(apbs[i].RamIO + VERS) & 0xF)); in applicom_init()
325 serial = (readb(apbs[i].RamIO + SERIAL_NUMBER) << 16) + in applicom_init()
326 (readb(apbs[i].RamIO + SERIAL_NUMBER + 1) << 8) + in applicom_init()
327 (readb(apbs[i].RamIO + SERIAL_NUMBER + 2) ); in applicom_init()
342 if (!apbs[i].RamIO) in applicom_init()
344 if (apbs[i].irq) in applicom_init()
345 free_irq(apbs[i].irq, &dummy); in applicom_init()
346 iounmap(apbs[i].RamIO); in applicom_init()
393 if (!apbs[IndexCard].RamIO) in ac_write()
422 spin_lock_irqsave(&apbs[IndexCard].mutex, flags); in ac_write()
425 if(readb(apbs[IndexCard].RamIO + DATA_FROM_PC_READY) > 2) { in ac_write()
426 Dummy = readb(apbs[IndexCard].RamIO + VERS); in ac_write()
427 spin_unlock_irqrestore(&apbs[IndexCard].mutex, flags); in ac_write()
429 IndexCard,(int)readb(apbs[IndexCard].RamIO + DATA_FROM_PC_READY)); in ac_write()
436 add_wait_queue(&apbs[IndexCard].FlagSleepSend, &wait); in ac_write()
439 while (readb(apbs[IndexCard].RamIO + DATA_FROM_PC_READY) != 0) { in ac_write()
440 Dummy = readb(apbs[IndexCard].RamIO + VERS); in ac_write()
443 spin_unlock_irqrestore(&apbs[IndexCard].mutex, flags); in ac_write()
446 remove_wait_queue(&apbs[IndexCard].FlagSleepSend, in ac_write()
450 spin_lock_irqsave(&apbs[IndexCard].mutex, flags); in ac_write()
456 remove_wait_queue(&apbs[IndexCard].FlagSleepSend, &wait); in ac_write()
458 writeb(1, apbs[IndexCard].RamIO + DATA_FROM_PC_READY); in ac_write()
465 void __iomem *to = apbs[IndexCard].RamIO + RAM_FROM_PC; in ac_write()
472 writeb(0x20, apbs[IndexCard].RamIO + TIC_OWNER_FROM_PC); in ac_write()
473 writeb(0xff, apbs[IndexCard].RamIO + NUMCARD_OWNER_FROM_PC); in ac_write()
474 writeb(TicCard, apbs[IndexCard].RamIO + TIC_DES_FROM_PC); in ac_write()
475 writeb(NumCard, apbs[IndexCard].RamIO + NUMCARD_DES_FROM_PC); in ac_write()
476 writeb(2, apbs[IndexCard].RamIO + DATA_FROM_PC_READY); in ac_write()
477 writeb(1, apbs[IndexCard].RamIO + RAM_IT_FROM_PC); in ac_write()
478 Dummy = readb(apbs[IndexCard].RamIO + VERS); in ac_write()
479 spin_unlock_irqrestore(&apbs[IndexCard].mutex, flags); in ac_write()
486 void __iomem *from = apbs[IndexCard].RamIO + RAM_TO_PC; in do_ac_read()
492 st_loc->tic_owner_to_pc = readb(apbs[IndexCard].RamIO + TIC_OWNER_TO_PC); in do_ac_read()
493 st_loc->numcard_owner_to_pc = readb(apbs[IndexCard].RamIO + NUMCARD_OWNER_TO_PC); in do_ac_read()
502 writeb(1, apbs[IndexCard].RamIO + ACK_FROM_PC_READY); in do_ac_read()
503 writeb(1, apbs[IndexCard].RamIO + TYP_ACK_FROM_PC); in do_ac_read()
504 writeb(IndexCard+1, apbs[IndexCard].RamIO + NUMCARD_ACK_FROM_PC); in do_ac_read()
505 writeb(readb(apbs[IndexCard].RamIO + TIC_OWNER_TO_PC), in do_ac_read()
506 apbs[IndexCard].RamIO + TIC_ACK_FROM_PC); in do_ac_read()
507 writeb(2, apbs[IndexCard].RamIO + ACK_FROM_PC_READY); in do_ac_read()
508 writeb(0, apbs[IndexCard].RamIO + DATA_TO_PC_READY); in do_ac_read()
509 writeb(2, apbs[IndexCard].RamIO + RAM_IT_FROM_PC); in do_ac_read()
510 Dummy = readb(apbs[IndexCard].RamIO + VERS); in do_ac_read()
561 if (!apbs[i].RamIO) in ac_read()
563 spin_lock_irqsave(&apbs[i].mutex, flags); in ac_read()
565 tmp = readb(apbs[i].RamIO + DATA_TO_PC_READY); in ac_read()
574 spin_unlock_irqrestore(&apbs[i].mutex, flags); in ac_read()
587 Dummy = readb(apbs[i].RamIO + VERS); in ac_read()
589 spin_unlock_irqrestore(&apbs[i].mutex, flags); in ac_read()
594 i,(int)readb(apbs[i].RamIO + DATA_TO_PC_READY)); in ac_read()
600 Dummy = readb(apbs[i].RamIO + VERS); in ac_read()
601 spin_unlock_irqrestore(&apbs[i].mutex, flags); in ac_read()
637 if (!apbs[i].RamIO) in ac_interrupt()
640 spin_lock(&apbs[i].mutex); in ac_interrupt()
643 if(readb(apbs[i].RamIO + RAM_IT_TO_PC) == 0) { in ac_interrupt()
644 spin_unlock(&apbs[i].mutex); in ac_interrupt()
650 writeb(0, apbs[i].RamIO + RAM_IT_TO_PC); in ac_interrupt()
652 if (readb(apbs[i].RamIO + DATA_TO_PC_READY) > 2) { in ac_interrupt()
654 i+1,(int)readb(apbs[i].RamIO + DATA_TO_PC_READY)); in ac_interrupt()
658 if((readb(apbs[i].RamIO + DATA_FROM_PC_READY) > 2) && in ac_interrupt()
659 (readb(apbs[i].RamIO + DATA_FROM_PC_READY) != 6)) { in ac_interrupt()
662 i+1,(int)readb(apbs[i].RamIO + DATA_FROM_PC_READY)); in ac_interrupt()
666 if (readb(apbs[i].RamIO + DATA_TO_PC_READY) == 2) { /* mailbox sent by the card ? */ in ac_interrupt()
672 if (readb(apbs[i].RamIO + DATA_FROM_PC_READY) == 0) { /* ram i/o free for write by pc ? */ in ac_interrupt()
673 if (waitqueue_active(&apbs[i].FlagSleepSend)) { /* process sleep during read ? */ in ac_interrupt()
674 wake_up_interruptible(&apbs[i].FlagSleepSend); in ac_interrupt()
677 Dummy = readb(apbs[i].RamIO + VERS); in ac_interrupt()
679 if(readb(apbs[i].RamIO + RAM_IT_TO_PC)) { in ac_interrupt()
681 spin_unlock(&apbs[i].mutex); in ac_interrupt()
684 spin_unlock(&apbs[i].mutex); in ac_interrupt()
723 if (cmd != 6 && !apbs[IndexCard].RamIO) in ac_ioctl()
729 pmem = apbs[IndexCard].RamIO; in ac_ioctl()
736 pmem = apbs[IndexCard].RamIO + CONF_END_TEST; in ac_ioctl()
743 pmem = apbs[IndexCard].RamIO + VERS; in ac_ioctl()
745 pmem = apbs[IndexCard].RamIO + TYPE_CARD; in ac_ioctl()
749 (readb(apbs[IndexCard].RamIO + SERIAL_NUMBER) << 16) + in ac_ioctl()
750 (readb(apbs[IndexCard].RamIO + SERIAL_NUMBER + 1) << 8) + in ac_ioctl()
751 (readb(apbs[IndexCard].RamIO + SERIAL_NUMBER + 2) ); in ac_ioctl()
757 pmem = apbs[IndexCard].RamIO + CONF_END_TEST; in ac_ioctl()
761 apbs[IndexCard].RamIO + DATA_FROM_PC_READY); in ac_ioctl()
763 writeb(1, apbs[IndexCard].RamIO + RAM_IT_FROM_PC); in ac_ioctl()
766 if (apbs[i].RamIO) { in ac_ioctl()
767 byte_reset_it = readb(apbs[i].RamIO + RAM_IT_TO_PC); in ac_ioctl()
772 pmem = apbs[IndexCard].RamIO + TIC_DES_FROM_PC; in ac_ioctl()
776 pmem = apbs[IndexCard].RamIO + TIC_OWNER_TO_PC; in ac_ioctl()
783 writeb(adgl->num_card, apbs[IndexCard].RamIO + NUMCARD_OWNER_TO_PC); in ac_ioctl()
784 writeb(adgl->num_card, apbs[IndexCard].RamIO + NUMCARD_DES_FROM_PC); in ac_ioctl()
785 writeb(adgl->num_card, apbs[IndexCard].RamIO + NUMCARD_ACK_FROM_PC); in ac_ioctl()
786 writeb(4, apbs[IndexCard].RamIO + DATA_FROM_PC_READY); in ac_ioctl()
787 writeb(1, apbs[IndexCard].RamIO + RAM_IT_FROM_PC); in ac_ioctl()
798 if (!apbs[i].RamIO) in ac_ioctl()
802 boardname[serial] = readb(apbs[i].RamIO + TYPE_CARD + serial); in ac_ioctl()
807 (int)(readb(apbs[i].RamIO + VERS) >> 4), in ac_ioctl()
808 (int)(readb(apbs[i].RamIO + VERS) & 0xF), in ac_ioctl()
812 serial = (readb(apbs[i].RamIO + SERIAL_NUMBER) << 16) + in ac_ioctl()
813 (readb(apbs[i].RamIO + SERIAL_NUMBER + 1) << 8) + in ac_ioctl()
814 (readb(apbs[i].RamIO + SERIAL_NUMBER + 2) ); in ac_ioctl()
830 if (apbs[i].RamIO && waitqueue_active(&apbs[i].FlagSleepSend)) in ac_ioctl()
840 Dummy = readb(apbs[IndexCard].RamIO + VERS); in ac_ioctl()