On Sat, Apr 16, 2016 at 08:08:50AM +0000, Shardar Mohammed wrote: [...] > > > if (!(msg->flags & I2C_M_RD)) > > > tegra_i2c_fill_tx_fifo(i2c_dev); > > > > > > - int_mask = I2C_INT_NO_ACK | I2C_INT_ARBITRATION_LOST; > > > if (i2c_dev->hw->has_per_pkt_xfer_complete_irq) > > > int_mask |= I2C_INT_PACKET_XFER_COMPLETE; > > > if (msg->flags & I2C_M_RD) > > > int_mask |= I2C_INT_RX_FIFO_DATA_REQ; > > > else if (i2c_dev->msg_buf_remaining) > > > int_mask |= I2C_INT_TX_FIFO_DATA_REQ; > > > + > > > tegra_i2c_unmask_irq(i2c_dev, int_mask); > > > > Can this line be removed? The NO_ACK and ARBITRATION_LOST interrupts > > are already unmasked earlier. > > [Shardar] unmask_irq() here is enabling other interrupts > (PACKET_XFER_COMPLETE/TX_FIFO_DATA_REQ/RX_FIFO_DATA_REQ). please let > me know if my understanding is wrong from your comment. You're right, I obviously wasn't looking closely enough. Thierry
Attachment:
signature.asc
Description: PGP signature