static void it8709_disable_rx(struct ite_dev *dev) { ite_dbg("%s called", __func__); it8709_wr(dev, it8709_rr(dev, IT85_C0IER) & ~(IT85_RDAIE | IT85_RFOIE), IT85_C0IER); it8709_wr(dev, it8709_rr(dev, IT85_C0RCR) & ~IT85_RXEN, IT85_C0RCR); it8709_idle_rx(dev); }
/* enable the receiver; this must be called with the device spinlock held */ static void it8709_enable_rx(struct ite_dev *dev) { ite_dbg("%s called", __func__); /* enable the receiver by setting RXEN */ it8709_wr(dev, it8709_rr(dev, IT85_C0RCR) | IT85_RXEN, IT85_C0RCR); /* just prepare it to idle for the next reception */ it8709_idle_rx(dev); /* enable the receiver interrupts and master enable flag */ it8709_wr(dev, it8709_rr(dev, IT85_C0IER) |IT85_RDAIE | IT85_RFOIE | IT85_IEC, IT85_C0IER); }
/* disable the receiver; this must be called with the device spinlock held */ static void it8709_disable_rx(struct ite_dev *dev) { ite_dbg("%s called", __func__); /* disable the receiver interrupts */ it8709_wr(dev, it8709_rr(dev, IT85_C0IER) & ~(IT85_RDAIE | IT85_RFOIE), IT85_C0IER); /* disable the receiver */ it8709_wr(dev, it8709_rr(dev, IT85_C0RCR) & ~IT85_RXEN, IT85_C0RCR); /* clear the FIFO and RXACT (actually RXACT should have been cleared * in the previous it8709_wr(dev, ) call) */ it8709_idle_rx(dev); }