static void it8708_disable_rx(struct ite_dev *dev) { ite_dbg("%s called", __func__); outb(inb(dev->cir_addr + IT8708_C0IER) & ~(IT85_RDAIE | IT85_RFOIE), dev->cir_addr + IT8708_C0IER); outb(inb(dev->cir_addr + IT8708_C0RCR) & ~IT85_RXEN, dev->cir_addr + IT8708_C0RCR); it8708_idle_rx(dev); }
/* enable the receiver; this must be called with the device spinlock held */ static void it8708_enable_rx(struct ite_dev *dev) { ite_dbg("%s called", __func__); /* enable the receiver by setting RXEN */ outb(inb(dev->cir_addr + IT8708_C0RCR) | IT85_RXEN, dev->cir_addr + IT8708_C0RCR); /* just prepare it to idle for the next reception */ it8708_idle_rx(dev); /* enable the receiver interrupts and master enable flag */ outb(inb(dev->cir_addr + IT8708_C0IER) |IT85_RDAIE | IT85_RFOIE | IT85_IEC, dev->cir_addr + IT8708_C0IER); }
/* disable the receiver; this must be called with the device spinlock held */ static void it8708_disable_rx(struct ite_dev *dev) { ite_dbg("%s called", __func__); /* disable the receiver interrupts */ outb(inb(dev->cir_addr + IT8708_C0IER) & ~(IT85_RDAIE | IT85_RFOIE), dev->cir_addr + IT8708_C0IER); /* disable the receiver */ outb(inb(dev->cir_addr + IT8708_C0RCR) & ~IT85_RXEN, dev->cir_addr + IT8708_C0RCR); /* clear the FIFO and RXACT (actually RXACT should have been cleared * in the previous outb() call) */ it8708_idle_rx(dev); }