Lines Matching refs:cfg

623 static int msnd_write_cfg(int cfg, int reg, int value)
625 X outb(reg, cfg);
626 X outb(value, cfg + 1);
627 X if (value != inb(cfg + 1)) {
634 static int msnd_read_cfg(int cfg, int reg)
636 X outb(reg, cfg);
637 X return inb(cfg + 1);
640 static int msnd_write_cfg_io0(int cfg, int num, WORD io)
642 X if (msnd_write_cfg(cfg, IREG_LOGDEVICE, num))
644 X if (msnd_write_cfg(cfg, IREG_IO0_BASEHI, HIBYTE(io)))
646 X if (msnd_write_cfg(cfg, IREG_IO0_BASELO, LOBYTE(io)))
651 static int msnd_read_cfg_io0(int cfg, int num, WORD *io)
653 X if (msnd_write_cfg(cfg, IREG_LOGDEVICE, num))
656 X *io = MAKEWORD(msnd_read_cfg(cfg, IREG_IO0_BASELO),
657 X msnd_read_cfg(cfg, IREG_IO0_BASEHI));
662 static int msnd_write_cfg_io1(int cfg, int num, WORD io)
664 X if (msnd_write_cfg(cfg, IREG_LOGDEVICE, num))
666 X if (msnd_write_cfg(cfg, IREG_IO1_BASEHI, HIBYTE(io)))
668 X if (msnd_write_cfg(cfg, IREG_IO1_BASELO, LOBYTE(io)))
673 static int msnd_read_cfg_io1(int cfg, int num, WORD *io)
675 X if (msnd_write_cfg(cfg, IREG_LOGDEVICE, num))
678 X *io = MAKEWORD(msnd_read_cfg(cfg, IREG_IO1_BASELO),
679 X msnd_read_cfg(cfg, IREG_IO1_BASEHI));
684 static int msnd_write_cfg_irq(int cfg, int num, WORD irq)
686 X if (msnd_write_cfg(cfg, IREG_LOGDEVICE, num))
688 X if (msnd_write_cfg(cfg, IREG_IRQ_NUMBER, LOBYTE(irq)))
690 X if (msnd_write_cfg(cfg, IREG_IRQ_TYPE, IRQTYPE_EDGE))
695 static int msnd_read_cfg_irq(int cfg, int num, WORD *irq)
697 X if (msnd_write_cfg(cfg, IREG_LOGDEVICE, num))
700 X *irq = msnd_read_cfg(cfg, IREG_IRQ_NUMBER);
705 static int msnd_write_cfg_mem(int cfg, int num, int mem)
712 X if (msnd_write_cfg(cfg, IREG_LOGDEVICE, num))
714 X if (msnd_write_cfg(cfg, IREG_MEMBASEHI, HIBYTE(wmem)))
716 X if (msnd_write_cfg(cfg, IREG_MEMBASELO, LOBYTE(wmem)))
718 X if (wmem && msnd_write_cfg(cfg, IREG_MEMCONTROL, (MEMTYPE_HIADDR | MEMTYPE_16BIT)))
723 static int msnd_read_cfg_mem(int cfg, int num, int *mem)
725 X if (msnd_write_cfg(cfg, IREG_LOGDEVICE, num))
728 X *mem = MAKEWORD(msnd_read_cfg(cfg, IREG_MEMBASELO),
729 X msnd_read_cfg(cfg, IREG_MEMBASEHI));
735 static int msnd_activate_logical(int cfg, int num)
737 X if (msnd_write_cfg(cfg, IREG_LOGDEVICE, num))
739 X if (msnd_write_cfg(cfg, IREG_ACTIVATE, LD_ACTIVATE))
744 static int msnd_write_cfg_logical(int cfg, int num, WORD io0, WORD io1, WORD irq, int mem)
746 X if (msnd_write_cfg(cfg, IREG_LOGDEVICE, num))
748 X if (msnd_write_cfg_io0(cfg, num, io0))
750 X if (msnd_write_cfg_io1(cfg, num, io1))
752 X if (msnd_write_cfg_irq(cfg, num, irq))
754 X if (msnd_write_cfg_mem(cfg, num, mem))
756 X if (msnd_activate_logical(cfg, num))
761 static int msnd_read_cfg_logical(int cfg, int num, WORD *io0, WORD *io1, WORD *irq, int *mem)
763 X if (msnd_write_cfg(cfg, IREG_LOGDEVICE, num))
765 X if (msnd_read_cfg_io0(cfg, num, io0))
767 X if (msnd_read_cfg_io1(cfg, num, io1))
769 X if (msnd_read_cfg_irq(cfg, num, irq))
771 X if (msnd_read_cfg_mem(cfg, num, mem))