Lines Matching refs:apbs
92 } apbs[MAX_BOARD]; variable
150 if (apbs[boardno - 1].RamIO) { in ac_register_board()
152 boardno, physloc, boardno, apbs[boardno-1].PhysIO); in ac_register_board()
158 apbs[boardno].PhysIO = physloc; in ac_register_board()
159 apbs[boardno].RamIO = loc; in ac_register_board()
160 init_waitqueue_head(&apbs[boardno].FlagSleepSend); in ac_register_board()
161 spin_lock_init(&apbs[boardno].mutex); in ac_register_board()
176 if (!apbs[i].RamIO) in applicom_exit()
179 if (apbs[i].irq) in applicom_exit()
180 free_irq(apbs[i].irq, &dummy); in applicom_exit()
182 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()
389 if((NumCard < 1) || (NumCard > MAX_BOARD) || !apbs[IndexCard].RamIO) in ac_write()
418 spin_lock_irqsave(&apbs[IndexCard].mutex, flags); in ac_write()
421 if(readb(apbs[IndexCard].RamIO + DATA_FROM_PC_READY) > 2) { in ac_write()
422 Dummy = readb(apbs[IndexCard].RamIO + VERS); in ac_write()
423 spin_unlock_irqrestore(&apbs[IndexCard].mutex, flags); in ac_write()
425 IndexCard,(int)readb(apbs[IndexCard].RamIO + DATA_FROM_PC_READY)); in ac_write()
432 add_wait_queue(&apbs[IndexCard].FlagSleepSend, &wait); in ac_write()
435 while (readb(apbs[IndexCard].RamIO + DATA_FROM_PC_READY) != 0) { in ac_write()
436 Dummy = readb(apbs[IndexCard].RamIO + VERS); in ac_write()
439 spin_unlock_irqrestore(&apbs[IndexCard].mutex, flags); in ac_write()
442 remove_wait_queue(&apbs[IndexCard].FlagSleepSend, in ac_write()
446 spin_lock_irqsave(&apbs[IndexCard].mutex, flags); in ac_write()
452 remove_wait_queue(&apbs[IndexCard].FlagSleepSend, &wait); in ac_write()
454 writeb(1, apbs[IndexCard].RamIO + DATA_FROM_PC_READY); in ac_write()
461 void __iomem *to = apbs[IndexCard].RamIO + RAM_FROM_PC; in ac_write()
468 writeb(0x20, apbs[IndexCard].RamIO + TIC_OWNER_FROM_PC); in ac_write()
469 writeb(0xff, apbs[IndexCard].RamIO + NUMCARD_OWNER_FROM_PC); in ac_write()
470 writeb(TicCard, apbs[IndexCard].RamIO + TIC_DES_FROM_PC); in ac_write()
471 writeb(NumCard, apbs[IndexCard].RamIO + NUMCARD_DES_FROM_PC); in ac_write()
472 writeb(2, apbs[IndexCard].RamIO + DATA_FROM_PC_READY); in ac_write()
473 writeb(1, apbs[IndexCard].RamIO + RAM_IT_FROM_PC); in ac_write()
474 Dummy = readb(apbs[IndexCard].RamIO + VERS); in ac_write()
475 spin_unlock_irqrestore(&apbs[IndexCard].mutex, flags); in ac_write()
482 void __iomem *from = apbs[IndexCard].RamIO + RAM_TO_PC; in do_ac_read()
488 st_loc->tic_owner_to_pc = readb(apbs[IndexCard].RamIO + TIC_OWNER_TO_PC); in do_ac_read()
489 st_loc->numcard_owner_to_pc = readb(apbs[IndexCard].RamIO + NUMCARD_OWNER_TO_PC); in do_ac_read()
498 writeb(1, apbs[IndexCard].RamIO + ACK_FROM_PC_READY); in do_ac_read()
499 writeb(1, apbs[IndexCard].RamIO + TYP_ACK_FROM_PC); in do_ac_read()
500 writeb(IndexCard+1, apbs[IndexCard].RamIO + NUMCARD_ACK_FROM_PC); in do_ac_read()
501 writeb(readb(apbs[IndexCard].RamIO + TIC_OWNER_TO_PC), in do_ac_read()
502 apbs[IndexCard].RamIO + TIC_ACK_FROM_PC); in do_ac_read()
503 writeb(2, apbs[IndexCard].RamIO + ACK_FROM_PC_READY); in do_ac_read()
504 writeb(0, apbs[IndexCard].RamIO + DATA_TO_PC_READY); in do_ac_read()
505 writeb(2, apbs[IndexCard].RamIO + RAM_IT_FROM_PC); in do_ac_read()
506 Dummy = readb(apbs[IndexCard].RamIO + VERS); in do_ac_read()
557 if (!apbs[i].RamIO) in ac_read()
559 spin_lock_irqsave(&apbs[i].mutex, flags); in ac_read()
561 tmp = readb(apbs[i].RamIO + DATA_TO_PC_READY); in ac_read()
570 spin_unlock_irqrestore(&apbs[i].mutex, flags); in ac_read()
583 Dummy = readb(apbs[i].RamIO + VERS); in ac_read()
585 spin_unlock_irqrestore(&apbs[i].mutex, flags); in ac_read()
590 i,(int)readb(apbs[i].RamIO + DATA_TO_PC_READY)); in ac_read()
596 Dummy = readb(apbs[i].RamIO + VERS); in ac_read()
597 spin_unlock_irqrestore(&apbs[i].mutex, flags); in ac_read()
633 if (!apbs[i].RamIO) in ac_interrupt()
636 spin_lock(&apbs[i].mutex); in ac_interrupt()
639 if(readb(apbs[i].RamIO + RAM_IT_TO_PC) == 0) { in ac_interrupt()
640 spin_unlock(&apbs[i].mutex); in ac_interrupt()
646 writeb(0, apbs[i].RamIO + RAM_IT_TO_PC); in ac_interrupt()
648 if (readb(apbs[i].RamIO + DATA_TO_PC_READY) > 2) { in ac_interrupt()
650 i+1,(int)readb(apbs[i].RamIO + DATA_TO_PC_READY)); in ac_interrupt()
654 if((readb(apbs[i].RamIO + DATA_FROM_PC_READY) > 2) && in ac_interrupt()
655 (readb(apbs[i].RamIO + DATA_FROM_PC_READY) != 6)) { in ac_interrupt()
658 i+1,(int)readb(apbs[i].RamIO + DATA_FROM_PC_READY)); in ac_interrupt()
662 if (readb(apbs[i].RamIO + DATA_TO_PC_READY) == 2) { /* mailbox sent by the card ? */ in ac_interrupt()
668 if (readb(apbs[i].RamIO + DATA_FROM_PC_READY) == 0) { /* ram i/o free for write by pc ? */ in ac_interrupt()
669 if (waitqueue_active(&apbs[i].FlagSleepSend)) { /* process sleep during read ? */ in ac_interrupt()
670 wake_up_interruptible(&apbs[i].FlagSleepSend); in ac_interrupt()
673 Dummy = readb(apbs[i].RamIO + VERS); in ac_interrupt()
675 if(readb(apbs[i].RamIO + RAM_IT_TO_PC)) { in ac_interrupt()
677 spin_unlock(&apbs[i].mutex); in ac_interrupt()
680 spin_unlock(&apbs[i].mutex); in ac_interrupt()
714 if(cmd != 6 && ((IndexCard >= MAX_BOARD) || !apbs[IndexCard].RamIO)) { in ac_ioctl()
728 pmem = apbs[IndexCard].RamIO; in ac_ioctl()
735 pmem = apbs[IndexCard].RamIO + CONF_END_TEST; in ac_ioctl()
742 pmem = apbs[IndexCard].RamIO + VERS; in ac_ioctl()
744 pmem = apbs[IndexCard].RamIO + TYPE_CARD; in ac_ioctl()
748 (readb(apbs[IndexCard].RamIO + SERIAL_NUMBER) << 16) + in ac_ioctl()
749 (readb(apbs[IndexCard].RamIO + SERIAL_NUMBER + 1) << 8) + in ac_ioctl()
750 (readb(apbs[IndexCard].RamIO + SERIAL_NUMBER + 2) ); in ac_ioctl()
756 pmem = apbs[IndexCard].RamIO + CONF_END_TEST; in ac_ioctl()
760 apbs[IndexCard].RamIO + DATA_FROM_PC_READY); in ac_ioctl()
762 writeb(1, apbs[IndexCard].RamIO + RAM_IT_FROM_PC); in ac_ioctl()
765 if (apbs[i].RamIO) { in ac_ioctl()
766 byte_reset_it = readb(apbs[i].RamIO + RAM_IT_TO_PC); in ac_ioctl()
771 pmem = apbs[IndexCard].RamIO + TIC_DES_FROM_PC; in ac_ioctl()
775 pmem = apbs[IndexCard].RamIO + TIC_OWNER_TO_PC; in ac_ioctl()
782 writeb(adgl->num_card, apbs[IndexCard].RamIO + NUMCARD_OWNER_TO_PC); in ac_ioctl()
783 writeb(adgl->num_card, apbs[IndexCard].RamIO + NUMCARD_DES_FROM_PC); in ac_ioctl()
784 writeb(adgl->num_card, apbs[IndexCard].RamIO + NUMCARD_ACK_FROM_PC); in ac_ioctl()
785 writeb(4, apbs[IndexCard].RamIO + DATA_FROM_PC_READY); in ac_ioctl()
786 writeb(1, apbs[IndexCard].RamIO + RAM_IT_FROM_PC); in ac_ioctl()
797 if (!apbs[i].RamIO) in ac_ioctl()
801 boardname[serial] = readb(apbs[i].RamIO + TYPE_CARD + serial); in ac_ioctl()
806 (int)(readb(apbs[i].RamIO + VERS) >> 4), in ac_ioctl()
807 (int)(readb(apbs[i].RamIO + VERS) & 0xF), in ac_ioctl()
811 serial = (readb(apbs[i].RamIO + SERIAL_NUMBER) << 16) + in ac_ioctl()
812 (readb(apbs[i].RamIO + SERIAL_NUMBER + 1) << 8) + in ac_ioctl()
813 (readb(apbs[i].RamIO + SERIAL_NUMBER + 2) ); in ac_ioctl()
829 if (apbs[i].RamIO && waitqueue_active(&apbs[i].FlagSleepSend)) in ac_ioctl()
837 Dummy = readb(apbs[IndexCard].RamIO + VERS); in ac_ioctl()