Lines Matching refs:cfg

622 static int msnd_write_cfg(int cfg, int reg, int value)
624 X outb(reg, cfg);
625 X outb(value, cfg + 1);
626 X if (value != inb(cfg + 1)) {
633 static int msnd_read_cfg(int cfg, int reg)
635 X outb(reg, cfg);
636 X return inb(cfg + 1);
639 static int msnd_write_cfg_io0(int cfg, int num, WORD io)
641 X if (msnd_write_cfg(cfg, IREG_LOGDEVICE, num))
643 X if (msnd_write_cfg(cfg, IREG_IO0_BASEHI, HIBYTE(io)))
645 X if (msnd_write_cfg(cfg, IREG_IO0_BASELO, LOBYTE(io)))
650 static int msnd_read_cfg_io0(int cfg, int num, WORD *io)
652 X if (msnd_write_cfg(cfg, IREG_LOGDEVICE, num))
655 X *io = MAKEWORD(msnd_read_cfg(cfg, IREG_IO0_BASELO),
656 X msnd_read_cfg(cfg, IREG_IO0_BASEHI));
661 static int msnd_write_cfg_io1(int cfg, int num, WORD io)
663 X if (msnd_write_cfg(cfg, IREG_LOGDEVICE, num))
665 X if (msnd_write_cfg(cfg, IREG_IO1_BASEHI, HIBYTE(io)))
667 X if (msnd_write_cfg(cfg, IREG_IO1_BASELO, LOBYTE(io)))
672 static int msnd_read_cfg_io1(int cfg, int num, WORD *io)
674 X if (msnd_write_cfg(cfg, IREG_LOGDEVICE, num))
677 X *io = MAKEWORD(msnd_read_cfg(cfg, IREG_IO1_BASELO),
678 X msnd_read_cfg(cfg, IREG_IO1_BASEHI));
683 static int msnd_write_cfg_irq(int cfg, int num, WORD irq)
685 X if (msnd_write_cfg(cfg, IREG_LOGDEVICE, num))
687 X if (msnd_write_cfg(cfg, IREG_IRQ_NUMBER, LOBYTE(irq)))
689 X if (msnd_write_cfg(cfg, IREG_IRQ_TYPE, IRQTYPE_EDGE))
694 static int msnd_read_cfg_irq(int cfg, int num, WORD *irq)
696 X if (msnd_write_cfg(cfg, IREG_LOGDEVICE, num))
699 X *irq = msnd_read_cfg(cfg, IREG_IRQ_NUMBER);
704 static int msnd_write_cfg_mem(int cfg, int num, int mem)
711 X if (msnd_write_cfg(cfg, IREG_LOGDEVICE, num))
713 X if (msnd_write_cfg(cfg, IREG_MEMBASEHI, HIBYTE(wmem)))
715 X if (msnd_write_cfg(cfg, IREG_MEMBASELO, LOBYTE(wmem)))
717 X if (wmem && msnd_write_cfg(cfg, IREG_MEMCONTROL, (MEMTYPE_HIADDR | MEMTYPE_16BIT)))
722 static int msnd_read_cfg_mem(int cfg, int num, int *mem)
724 X if (msnd_write_cfg(cfg, IREG_LOGDEVICE, num))
727 X *mem = MAKEWORD(msnd_read_cfg(cfg, IREG_MEMBASELO),
728 X msnd_read_cfg(cfg, IREG_MEMBASEHI));
734 static int msnd_activate_logical(int cfg, int num)
736 X if (msnd_write_cfg(cfg, IREG_LOGDEVICE, num))
738 X if (msnd_write_cfg(cfg, IREG_ACTIVATE, LD_ACTIVATE))
743 static int msnd_write_cfg_logical(int cfg, int num, WORD io0, WORD io1, WORD irq, int mem)
745 X if (msnd_write_cfg(cfg, IREG_LOGDEVICE, num))
747 X if (msnd_write_cfg_io0(cfg, num, io0))
749 X if (msnd_write_cfg_io1(cfg, num, io1))
751 X if (msnd_write_cfg_irq(cfg, num, irq))
753 X if (msnd_write_cfg_mem(cfg, num, mem))
755 X if (msnd_activate_logical(cfg, num))
760 static int msnd_read_cfg_logical(int cfg, int num, WORD *io0, WORD *io1, WORD *irq, int *mem)
762 X if (msnd_write_cfg(cfg, IREG_LOGDEVICE, num))
764 X if (msnd_read_cfg_io0(cfg, num, io0))
766 X if (msnd_read_cfg_io1(cfg, num, io1))
768 X if (msnd_read_cfg_irq(cfg, num, irq))
770 X if (msnd_read_cfg_mem(cfg, num, mem))