Lines Matching refs:irq_status
244 static u32 aspeed_i2c_slave_irq(struct aspeed_i2c_bus *bus, u32 irq_status) in aspeed_i2c_slave_irq() argument
256 if (irq_status & ASPEED_I2CD_INTR_SLAVE_MATCH) { in aspeed_i2c_slave_irq()
266 irq_status, command); in aspeed_i2c_slave_irq()
269 if (irq_status & ASPEED_I2CD_INTR_RX_DONE) { in aspeed_i2c_slave_irq()
284 if (irq_status & ASPEED_I2CD_INTR_NORMAL_STOP) { in aspeed_i2c_slave_irq()
288 if (irq_status & ASPEED_I2CD_INTR_TX_NAK && in aspeed_i2c_slave_irq()
296 if (unlikely(irq_status & ASPEED_I2CD_INTR_TX_ACK)) in aspeed_i2c_slave_irq()
304 if (unlikely(!(irq_status & ASPEED_I2CD_INTR_TX_ACK))) { in aspeed_i2c_slave_irq()
390 static int aspeed_i2c_is_irq_error(u32 irq_status) in aspeed_i2c_is_irq_error() argument
392 if (irq_status & ASPEED_I2CD_INTR_ARBIT_LOSS) in aspeed_i2c_is_irq_error()
394 if (irq_status & (ASPEED_I2CD_INTR_SDA_DL_TIMEOUT | in aspeed_i2c_is_irq_error()
397 if (irq_status & (ASPEED_I2CD_INTR_ABNORMAL)) in aspeed_i2c_is_irq_error()
403 static u32 aspeed_i2c_master_irq(struct aspeed_i2c_bus *bus, u32 irq_status) in aspeed_i2c_master_irq() argument
410 if (irq_status & ASPEED_I2CD_INTR_BUS_RECOVER_DONE) { in aspeed_i2c_master_irq()
421 ret = aspeed_i2c_is_irq_error(irq_status); in aspeed_i2c_master_irq()
424 irq_status); in aspeed_i2c_master_irq()
425 irq_handled |= (irq_status & ASPEED_I2CD_INTR_MASTER_ERRORS); in aspeed_i2c_master_irq()
441 irq_status); in aspeed_i2c_master_irq()
464 if (unlikely(irq_status & ASPEED_I2CD_INTR_SLAVE_MATCH)) { in aspeed_i2c_master_irq()
474 if (unlikely(!(irq_status & ASPEED_I2CD_INTR_TX_ACK))) { in aspeed_i2c_master_irq()
475 if (unlikely(!(irq_status & ASPEED_I2CD_INTR_TX_NAK))) { in aspeed_i2c_master_irq()
499 if (unlikely(irq_status & ASPEED_I2CD_INTR_TX_NAK)) { in aspeed_i2c_master_irq()
503 } else if (unlikely(!(irq_status & ASPEED_I2CD_INTR_TX_ACK))) { in aspeed_i2c_master_irq()
522 if (!(irq_status & ASPEED_I2CD_INTR_RX_DONE)) in aspeed_i2c_master_irq()
526 if (unlikely(!(irq_status & ASPEED_I2CD_INTR_RX_DONE))) { in aspeed_i2c_master_irq()
557 if (unlikely(!(irq_status & ASPEED_I2CD_INTR_NORMAL_STOP))) { in aspeed_i2c_master_irq()
560 irq_status); in aspeed_i2c_master_irq()
572 irq_status); in aspeed_i2c_master_irq()