static void it87_disable_rx(struct ite_dev *dev) { ite_dbg("%s called", __func__); outb(inb(dev->cir_addr + IT87_IER) & ~(IT87_RDAIE | IT87_RFOIE), dev->cir_addr + IT87_IER); outb(inb(dev->cir_addr + IT87_RCR) & ~IT87_RXEN, dev->cir_addr + IT87_RCR); it87_idle_rx(dev); }
/* enable the receiver; this must be called with the device spinlock held */ static void it87_enable_rx(struct ite_dev *dev) { ite_dbg("%s called", __func__); /* enable the receiver by setting RXEN */ outb(inb(dev->cir_addr + IT87_RCR) | IT87_RXEN, dev->cir_addr + IT87_RCR); /* just prepare it to idle for the next reception */ it87_idle_rx(dev); /* enable the receiver interrupts and master enable flag */ outb(inb(dev->cir_addr + IT87_IER) | IT87_RDAIE | IT87_RFOIE | IT87_IEC, dev->cir_addr + IT87_IER); }
/* disable the receiver; this must be called with the device spinlock held */ static void it87_disable_rx(struct ite_dev *dev) { ite_dbg("%s called", __func__); /* disable the receiver interrupts */ outb(inb(dev->cir_addr + IT87_IER) & ~(IT87_RDAIE | IT87_RFOIE), dev->cir_addr + IT87_IER); /* disable the receiver */ outb(inb(dev->cir_addr + IT87_RCR) & ~IT87_RXEN, dev->cir_addr + IT87_RCR); /* clear the FIFO and RXACT (actually RXACT should have been cleared * in the previous outb() call) */ it87_idle_rx(dev); }